1
0
Эх сурвалжийг харах

CorelDRAW Graphics Suite 2020 Programs64 TypeLibs

Hongwenjun 9 сар өмнө
parent
commit
a1f2bc8b5a

+ 46 - 0
01_lycpg64/lycpg64.cbp

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+	<FileVersion major="1" minor="6" />
+	<Project>
+		<Option title="lycpg64" />
+		<Option pch_mode="2" />
+		<Option compiler="microsoft_visual_c_2022" />
+		<Build>
+			<Target title="Debug">
+				<Option output="bin/Debug/lycpg64" prefix_auto="1" extension_auto="1" />
+				<Option object_output="obj/Debug/" />
+				<Option type="3" />
+				<Option compiler="microsoft_visual_c_2022" />
+				<Option createDefFile="1" />
+				<Option createStaticLib="1" />
+				<Compiler>
+					<Add option="/Zi" />
+					<Add option="/D_DEBUG" />
+				</Compiler>
+				<Linker>
+					<Add option="/DEBUG" />
+				</Linker>
+			</Target>
+			<Target title="Release">
+				<Option output="bin/Release/lycpg64" prefix_auto="1" extension_auto="1" />
+				<Option object_output="obj/Release/" />
+				<Option type="3" />
+				<Option compiler="microsoft_visual_c_2022" />
+				<Option createDefFile="1" />
+				<Option createStaticLib="1" />
+				<Compiler>
+					<Add option="/Ox" />
+					<Add option="/DNDEBUG" />
+				</Compiler>
+			</Target>
+		</Build>
+		<Compiler>
+			<Add option="/W3" />
+			<Add option="/EHsc" />
+		</Compiler>
+		<Unit filename="main.cpp" />
+		<Extensions>
+			<lib_finder disable_auto="1" />
+		</Extensions>
+	</Project>
+</CodeBlocks_project_file>

+ 148 - 0
01_lycpg64/main.cpp

@@ -0,0 +1,148 @@
+// dllmain.cpp : 定义 DLL 应用程序的入口点。
+#include <tchar.h>
+#import "vgcoreauto.tlb"
+
+BOOL APIENTRY DllMain( HMODULE hModule,
+                       DWORD  ul_reason_for_call,
+                       LPVOID lpReserved
+                     )
+{
+    switch (ul_reason_for_call)
+    {
+    case DLL_PROCESS_ATTACH:
+    case DLL_THREAD_ATTACH:
+    case DLL_THREAD_DETACH:
+    case DLL_PROCESS_DETACH:
+        break;
+    }
+    return TRUE;
+}
+
+class CVGAppPlugin : public VGCore::IVGAppPlugin
+{
+private:
+    VGCore::IVGApplication *m_pApp;
+    ULONG m_ulRefCount;
+    long m_lCookie;
+    bool m_bEnabled;
+
+public:
+    CVGAppPlugin();
+
+    // IUnknown
+public:
+    STDMETHOD(QueryInterface)(REFIID riid, void **ppvObject);
+    STDMETHOD_(ULONG, AddRef)(void)
+    {
+        return ++m_ulRefCount;
+    }
+    STDMETHOD_(ULONG, Release)(void)
+    {
+        ULONG ulCount = --m_ulRefCount;
+        if (ulCount == 0)
+        {
+            delete this;
+        }
+        return ulCount;
+    }
+
+    // IDispatch
+public:
+    STDMETHOD(GetTypeInfoCount)(UINT *pctinfo)
+    {
+        return E_NOTIMPL;
+    }
+    STDMETHOD(GetTypeInfo)(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
+    {
+        return E_NOTIMPL;
+    }
+    STDMETHOD(GetIDsOfNames)(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
+    {
+        return E_NOTIMPL;
+    }
+    STDMETHOD(Invoke)(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
+
+    // IVGAppPlugin
+public:
+    STDMETHOD(raw_OnLoad)(VGCore::IVGApplication *Application);
+    STDMETHOD(raw_StartSession)();
+    STDMETHOD(raw_StopSession)();
+    STDMETHOD(raw_OnUnload)();
+};
+
+
+CVGAppPlugin::CVGAppPlugin() :
+    m_pApp(NULL),
+    m_lCookie(0),
+    m_ulRefCount(1),
+    m_bEnabled(false)
+{
+
+}
+
+STDMETHODIMP CVGAppPlugin::QueryInterface(REFIID riid, void **ppvObject)
+{
+    HRESULT hr = S_OK;
+    m_ulRefCount++;
+    if (riid == IID_IUnknown)
+    {
+        *ppvObject = (IUnknown *)this;
+    }
+    else if (riid == IID_IDispatch)
+    {
+        *ppvObject = (IDispatch *)this;
+    }
+    else if (riid == __uuidof(VGCore::IVGAppPlugin))
+    {
+        *ppvObject = (VGCore::IVGAppPlugin *)this;
+    }
+    else
+    {
+        m_ulRefCount--;
+        hr = E_NOINTERFACE;
+    }
+    return hr;
+}
+
+STDMETHODIMP CVGAppPlugin::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
+{
+    return S_OK;
+}
+
+STDMETHODIMP CVGAppPlugin::raw_OnLoad(VGCore::IVGApplication *Application)
+{
+    m_pApp = Application;
+    if (m_pApp)
+    {
+        m_pApp->AddRef();
+    }
+    return S_OK;
+}
+
+STDMETHODIMP CVGAppPlugin::raw_StartSession()
+{
+    MessageBox(NULL, _T("插件加载到内存,本CPG使用VC2022 X64编译"), _T("蘭雅CPG64"), MB_ICONSTOP);
+    return S_OK;
+}
+
+STDMETHODIMP CVGAppPlugin::raw_StopSession()
+{
+    MessageBox(NULL, _T("插件结束"), _T("蘭雅CPG64"), MB_ICONSTOP);
+    return S_OK;
+}
+
+STDMETHODIMP CVGAppPlugin::raw_OnUnload()
+{
+    if (m_pApp)
+    {
+        m_pApp->Release();
+        m_pApp = NULL;
+    }
+    return S_OK;
+}
+
+extern "C" __declspec(dllexport) DWORD APIENTRY AttachPlugin(VGCore::IVGAppPlugin **ppIPlugin)
+{
+    *ppIPlugin = new CVGAppPlugin;
+    return 0x100;
+}

+ 31 - 0
README.md

@@ -1,2 +1,33 @@
 # CorelDRAW-CPG
 CorelDRAW CPG 扩展开发: CPG(Corel Plug-in Gallery)是 CorelDRAW 的一个扩展机制,可以开发自定义的插件和工具。
+
+
+
+
+
+
+## CorelDRAW Graphics Suite 2020  Programs64\TypeLibs
+
+- 学习编写CPG插件,一般只用到  [`VGCoreAuto.tlb`](./TypeLibs/VGCoreAuto.tlb) 这个文件就够
+- 类型库 `vgcoreauto.tlb` 的包装器实现: [`vgcoreauto.tlh`  `vgcoreauto.tli`](./VGCoreAuto/) 这两个文件可以查看类型库的接口定义
+
+
+## CorelDRAW CPG 扩展开发环境之最简陋环境搭建
+- https://wwm.lanzout.com/b0r9anaqb 密码:1diw
+
+- 下载 `MSVC2022_X64_mini.7z` 压缩包解压到任意目录下, 推荐 `C:\MSVC2022`
+
+- 配置 `MSVC2022` 运行环境,参考如下
+
+```
+INCLUDE=C:\MSVC2022\include
+LIB=C:\MSVC2022\lib
+Path=C:\MSVC2022\bin;%PATH%
+```
+
+## 构建: `Release` 在 `lycpg64` 中 (编译器: Microsoft Visual C++ 2022)
+```
+cl.exe /utf-8 /nologo /W3 /EHsc /Ox /DNDEBUG /IC:\MSVC2022\include /ID:\lycpg64 /c main.cpp /Foobj\Release\main.obj
+
+link.exe /dll /nologo /LIBPATH:C:\MSVC2022\lib /out:bin\Release\lycpg64.dll Gdi32.lib user32.lib Kernel32.lib obj\Release\main.obj
+```

BIN
TypeLibs/BevelToolOM.tlb


BIN
TypeLibs/BrowserObjectModel.tlb


BIN
TypeLibs/CalloutToolOM.tlb


BIN
TypeLibs/CdrPDFVBALib.tlb


BIN
TypeLibs/CdrPrnUI_com.tlb


BIN
TypeLibs/CorelDRAW.tlb


BIN
TypeLibs/CrlFrmWkOM.tlb


BIN
TypeLibs/DefaultFilter.tlb


BIN
TypeLibs/FilterAI.tlb


BIN
TypeLibs/FilterBMP.tlb


BIN
TypeLibs/FilterCGM.tlb


BIN
TypeLibs/FilterDSF.tlb


BIN
TypeLibs/FilterDXF.tlb


BIN
TypeLibs/FilterEPS.tlb


BIN
TypeLibs/FilterGEM.tlb


BIN
TypeLibs/FilterGIF.tlb


BIN
TypeLibs/FilterHPGL.tlb


BIN
TypeLibs/FilterJP2.tlb


BIN
TypeLibs/FilterJPG.tlb


BIN
TypeLibs/FilterPNG.tlb


BIN
TypeLibs/FilterSVG.tlb


BIN
TypeLibs/FilterTGA.tlb


BIN
TypeLibs/FilterWMF.tlb


BIN
TypeLibs/FilterWPG.tlb


BIN
TypeLibs/ImpactTool.tlb


BIN
TypeLibs/MruList.tlb


BIN
TypeLibs/PhotoCocktail.tlb


+ 39 - 0
TypeLibs/README.md

@@ -0,0 +1,39 @@
+## CorelDRAW Graphics Suite 2020  Programs64\TypeLibs
+
+- 学习编写CPG插件,一般只用到  `VGCoreAuto.tlb` 这个文件就够
+
+```
+C:\Program Files\Corel\CorelDRAW Graphics Suite 2020\Programs64\TypeLibs
+
+2020-02-28  18:40             3,940 BevelToolOM.tlb
+2020-02-28  18:39             2,864 BrowserObjectModel.tlb
+2020-02-28  18:40             6,204 CalloutToolOM.tlb
+2020-02-28  18:39            21,936 CdrPDFVBALib.tlb
+2020-02-28  18:39            58,092 CdrPrnUI_com.tlb
+2020-02-28  18:40           229,044 CorelDRAW.tlb
+2020-02-28  18:39            49,612 CrlFrmWkOM.tlb
+2020-02-28  18:39             2,816 DefaultFilter.tlb
+2020-02-28  18:47             5,336 FilterAI.tlb
+2020-02-28  18:39             2,488 FilterBMP.tlb
+2020-02-28  18:47             6,956 FilterCGM.tlb
+2020-02-28  18:47             5,404 FilterDSF.tlb
+2020-02-28  18:47             7,608 FilterDXF.tlb
+2020-02-28  18:47             8,512 FilterEPS.tlb
+2020-02-28  18:47             2,240 FilterGEM.tlb
+2020-02-28  18:39             3,492 FilterGIF.tlb
+2020-02-28  18:47             6,144 FilterHPGL.tlb
+2020-02-28  18:39             3,520 FilterJP2.tlb
+2020-02-28  18:45             2,720 FilterJPG.tlb
+2020-02-28  18:45             3,492 FilterPNG.tlb
+2020-02-28  18:47             7,268 FilterSVG.tlb
+2020-02-28  18:45             2,488 FilterTGA.tlb
+2020-02-28  18:47             2,676 FilterWMF.tlb
+2020-02-28  18:47             2,988 FilterWPG.tlb
+2020-02-28  18:39             5,124 ImpactTool.tlb
+2020-02-28  18:39             3,052 MruList.tlb
+2020-02-28  18:39             5,132 PhotoCocktail.tlb
+2024-06-15  13:12                 0 README.md
+2020-02-28  18:40            21,744 TableToolOM.tlb
+2020-02-28  18:39             3,528 VectorEffects.tlb
+2020-02-28  18:39           882,548 VGCoreAuto.tlb
+```

BIN
TypeLibs/TableToolOM.tlb


BIN
TypeLibs/VGCoreAuto.tlb


BIN
TypeLibs/VectorEffects.tlb


+ 41973 - 0
VGCoreAuto/vgcoreauto.tlh

@@ -0,0 +1,41973 @@
+// Created by Microsoft (R) C/C++ Compiler Version 14.40.33808.0 (cc163f71).
+//
+// R:\lycpg64\obj\Release\vgcoreauto.tlh
+//
+// C++ source equivalent of type library vgcoreauto.tlb
+// compiler-generated file - DO NOT EDIT!
+
+#pragma once
+#pragma pack(push, 8)
+
+#include <comdef.h>
+
+namespace VGCore {
+
+//
+// Forward references and typedefs
+//
+
+struct __declspec(uuid("95e23c91-bc5a-49f3-8cd1-1fc515597048"))
+/* LIBID */ __VGCore;
+enum cdrFilter : int;
+enum cdrFillType : int;
+enum cdrFountainFillType : int;
+enum cdrFountainFillBlendType : int;
+enum cdrPaletteType : int;
+enum cdrPaletteID : int;
+enum cdrFittedOrientation : int;
+enum cdrFittedVertPlacement : int;
+enum cdrFittedPlacement : int;
+enum cdrFittedQuadrant : int;
+enum cdrFontStyle : int;
+enum cdrFontLine : int;
+enum cdrFontCase : int;
+enum cdrFontPosition : int;
+enum cdrAlignment : int;
+enum cdrLineSpacingType : int;
+enum cdrColorType : int;
+enum cdrImageType : int;
+enum cdrViewType : int;
+enum cdrWindowState : int;
+enum cdrPatternFillType : int;
+enum cdrTileOffsetType : int;
+enum cdrPatternCanvasSize : int;
+enum cdrFlipAxes : int;
+enum cdrTexturePropertyType : int;
+enum cdrWindowArrangeStyle : int;
+enum cdrTransparencyType : int;
+enum cdrTransparencyAppliedTo : int;
+enum cdrImageMode : int;
+enum cdrImagePaletteType : int;
+enum cdrDitherType : int;
+enum cdrRenderType : int;
+enum cdrHalftoneType : int;
+enum cdrDuotoneType : int;
+enum cdrUnit : int;
+enum cdrCompressionType : int;
+enum cdrMergeMode : int;
+enum cdrReferencePoint : int;
+enum cdrEllipseType : int;
+enum cdrPolygonType : int;
+enum cdrSpiralType : int;
+enum cdrShapeType : int;
+enum cdrPageOrientation : int;
+enum cdrAntiAliasingType : int;
+enum cdrOutlineType : int;
+enum cdrTextType : int;
+enum cdrTextIndexingType : int;
+enum cdrTextFrames : int;
+enum cdrExportRange : int;
+enum cdrThumbnailSize : int;
+enum cdrFileVersion : int;
+enum cdrPointType : int;
+enum cdrPresetPoint : int;
+enum cdrNodeType : int;
+enum cdrSegmentType : int;
+enum cdrSegmentOffsetType : int;
+enum cdrCursorShape : int;
+enum cdrPositionOfPointOverShape : int;
+enum cdrOutlineLineCaps : int;
+enum cdrOutlineLineJoin : int;
+enum cdrShapeEnumDirection : int;
+enum cdrPageBackground : int;
+enum cdrEffectType : int;
+enum cdrBlendMode : int;
+enum cdrExtrudeType : int;
+enum cdrExtrudeShading : int;
+enum cdrFeatherType : int;
+enum cdrEdgeType : int;
+enum cdrDropShadowType : int;
+enum cdrExtrudeLightPosition : int;
+enum cdrExtrudeVPType : int;
+enum cdrEnvelopeMode : int;
+enum cdrLensType : int;
+enum cdrContourDirection : int;
+enum cdrDistortionType : int;
+enum cdrTools : int;
+enum cdrGridType : int;
+enum cdrGuideType : int;
+enum cdrURLRegion : int;
+enum cdrPanoseMatchingType : int;
+enum cdrDataFormatType : int;
+enum cdrShapeLevel : int;
+enum cdrTriState : int;
+enum cdrTextChangeCase : int;
+enum cdrTextLanguage : int;
+enum cdrTextCharSet : int;
+enum cdrVerticalAlignment : int;
+enum cdrCloneLinkType : int;
+enum cdrWrapStyle : int;
+enum cdrCurveElementType : int;
+enum cdrAddinFilter : int;
+enum cdrAlignType : int;
+enum cdrDistributeType : int;
+enum cdrDimensionType : int;
+enum cdrLinearDimensionType : int;
+enum cdrDimensionStyle : int;
+enum cdrDimensionLinearUnits : int;
+enum cdrDimensionPlacement : int;
+enum cdrDimensionAngularUnits : int;
+enum cdrDimensionSymbol : int;
+enum cdrSymbolType : int;
+enum cdrCurveElementFlags : int;
+enum cdrPaletteSortMethod : int;
+enum cdrImportMode : int;
+enum cdrImportTextFormatting : int;
+enum cdrImportTableOutline : int;
+enum cdrDataType : int;
+enum cdrPaletteVersion : int;
+enum cdrOLEType : int;
+enum cdrTextAlignOrigin : int;
+enum cdrCompareType : int;
+enum cdrCompareCondition : int;
+enum cdrApplicationID : int;
+enum cdrApplicationClass : int;
+enum cdrShapeChangeScope : int;
+enum cdrTreeNodeType : int;
+enum cdrTextTabAlignment : int;
+enum cdrTextEffect : int;
+enum clrMonitorCalibration : int;
+enum clrRenderingIntent : int;
+enum clrColorEngine : int;
+enum clrDeviceType : int;
+enum clrCompPrnCalibration : int;
+enum clrImportColorCorrection : int;
+enum clrExportColorCorrection : int;
+enum cdrFillMode : int;
+enum cdrCommandCheckState : int;
+enum cdrAppStartupMode : int;
+enum cdrDistanceMode : int;
+enum cdrDirection : int;
+enum cdrShapeLinkType : int;
+enum cdrEnvelopeCopyMode : int;
+enum cdrContourEndCapType : int;
+enum cdrContourCornerType : int;
+enum cdrTraceType : int;
+enum cdrTraceBackgroundMode : int;
+enum cdrTextPropertySet : int;
+enum cdrDocLayout : int;
+enum cdrCopyProperties : int;
+enum cdrOverprintState : int;
+enum cdrObjectSnapPointType : int;
+enum cdrConnectorType : int;
+enum cdrCornerType : int;
+enum clrColorModel : int;
+enum clrColorPolicyAction : int;
+enum cdrAlignDistributeH : int;
+enum cdrAlignDistributeV : int;
+enum cdrDistributeArea : int;
+enum cdrAlignShapesTo : int;
+enum cdrOutlineJustification : int;
+enum cdrFillStyleType : int;
+enum cdrFountainFillSpreadMethod : int;
+enum cdrProjectPlane : int;
+enum cdrOnScreenCurvePenStyle : int;
+enum cdrOnScreenTextAlign : int;
+enum cdrWeldFlags : int;
+enum cdrWeldMethod : int;
+enum cdrOutlineDashAdjust : int;
+enum cdrTextIndentLevelStyle : int;
+enum cdrAuthorAuthentication : int;
+enum cdrCommentAnnotationType : int;
+enum cdrCommentStatus : int;
+enum PrnFileMode : int;
+enum PrnPrintRange : int;
+enum PrnPlateType : int;
+enum PrnRegistrationStyle : int;
+enum PrnPostScriptLevel : int;
+enum PrnPDFStartup : int;
+enum PrnImageTrap : int;
+enum PrnTrapType : int;
+enum PrnColorMode : int;
+enum PrnBitmapColorMode : int;
+enum PrnPageSet : int;
+enum PrnPaperSize : int;
+enum PrnPaperOrientation : int;
+enum PrnPlaceType : int;
+enum PrnObjectsColorMode : int;
+enum PrnPageMatchingMode : int;
+enum pdfExportRange : int;
+enum pdfBitmapCompressionType : int;
+enum pdfEncodingType : int;
+enum pdfColorMode : int;
+enum pdfColorProfile : int;
+enum pdfEPSAs : int;
+enum pdfDisplayOnStart : int;
+enum pdfVersion : int;
+enum pdfTextExportMode : int;
+enum pdfPrintPermissions : int;
+enum pdfEditPermissions : int;
+enum pdfEncryptionType : int;
+enum pdfSpotType : int;
+enum cuiBarType : int;
+enum cuiBarPosition : int;
+enum cuiBarProtection : int;
+enum cuiWindowState : int;
+enum cuiDockHostOrientation : int;
+enum cuiDockItemType : int;
+enum cuiDockOperation : int;
+enum cuiMessageBoxFlags : int;
+enum cuiTaskPriority : int;
+struct CurveElement;
+struct __declspec(uuid("f5200003-8d23-0001-89e7-0000861ebbd6"))
+/* dual interface */ ICorelImportFilter;
+struct __declspec(uuid("f5200000-8d23-0002-89e7-0000861ebbd6"))
+/* dual interface */ ICorelExportFilter;
+struct __declspec(uuid("9cee0002-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIAutomation;
+struct __declspec(uuid("9cee0001-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIControlData;
+struct __declspec(uuid("9cee0003-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIFrameWork;
+struct __declspec(uuid("9cee0004-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUICommandBars;
+struct __declspec(uuid("9cee0009-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUICommandBar;
+struct __declspec(uuid("9cee0007-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIControls;
+struct __declspec(uuid("9cee0008-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIControl;
+struct __declspec(uuid("9cee0005-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUICommandBarModes;
+struct __declspec(uuid("9cee0006-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUICommandBarMode;
+struct __declspec(uuid("9cee000f-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIFrameWindows;
+struct __declspec(uuid("9cee0010-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIFrameWindow;
+struct __declspec(uuid("9cee0011-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIViewHosts;
+struct __declspec(uuid("9cee0012-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIViewHost;
+struct __declspec(uuid("9cee0014-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIDockHost;
+struct __declspec(uuid("9cee0018-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIDockItem;
+struct __declspec(uuid("9cee0019-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIScreenRect;
+struct __declspec(uuid("9cee0017-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIDockItems;
+struct __declspec(uuid("9cee0016-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIViewWindow;
+struct __declspec(uuid("9cee0015-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIViewWindows;
+struct __declspec(uuid("9cee0013-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIDockHosts;
+struct __declspec(uuid("9cee000a-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIApplication;
+struct __declspec(uuid("9cee000b-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIDataContext;
+struct __declspec(uuid("9cee000c-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIDataSourceProxy;
+struct __declspec(uuid("9cee000d-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIDataSourceFactory;
+struct __declspec(uuid("9cee000e-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIImageList;
+struct __declspec(uuid("9cee001a-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIBitmapImage;
+struct __declspec(uuid("9cee001b-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIStatusText;
+struct __declspec(uuid("9cee001c-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIWarning;
+struct __declspec(uuid("9cee001f-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUITaskManager;
+struct __declspec(uuid("9cee001d-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUITask;
+struct __declspec(uuid("9cee001e-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIBackgroundTask;
+struct __declspec(uuid("9cee0021-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIRunningBackgroundTask;
+struct __declspec(uuid("9cee0020-42a0-5980-43a3-7aa71461482c"))
+/* dual interface */ ICUIRunningTask;
+struct __declspec(uuid("a25250a9-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintLayout;
+struct __declspec(uuid("a2525098-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrinter;
+struct __declspec(uuid("a2525099-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrinters;
+struct __declspec(uuid("a252509a-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBASeparationPlate;
+struct __declspec(uuid("a252509b-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBASeparationPlates;
+struct __declspec(uuid("a252509c-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintSeparations;
+struct __declspec(uuid("a252509d-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintPrepress;
+struct __declspec(uuid("a252509e-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintPostScript;
+struct __declspec(uuid("a252509f-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBATrapLayer;
+struct __declspec(uuid("a25250a0-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBATrapLayers;
+struct __declspec(uuid("a25250a1-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintTrapping;
+struct __declspec(uuid("a25250a2-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintOptions;
+struct __declspec(uuid("a25250a3-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintSettings;
+struct __declspec(uuid("a25250a4-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintDocument;
+struct __declspec(uuid("a25250a5-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintDocuments;
+struct __declspec(uuid("a25250a6-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintPage;
+struct __declspec(uuid("a25250a7-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintPages;
+struct __declspec(uuid("a25250a8-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPrnVBAPrintJob;
+struct __declspec(uuid("a2524ffb-50c1-11d3-8ea3-0090271becdd"))
+/* dual interface */ IPDFVBASettings;
+struct __declspec(uuid("b0580024-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDocument;
+struct __declspec(uuid("b058000b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGApplication;
+struct __declspec(uuid("b0580025-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDocuments;
+struct __declspec(uuid("b0580048-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPage;
+struct __declspec(uuid("b0580049-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPages;
+struct __declspec(uuid("b0580041-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGLayers;
+struct __declspec(uuid("b0580040-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGLayer;
+struct __declspec(uuid("b058005f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGShapes;
+struct __declspec(uuid("b058005d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGShape;
+struct __declspec(uuid("b0580057-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGRectangle;
+struct __declspec(uuid("b0580037-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEllipse;
+struct __declspec(uuid("b0580051-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPolygon;
+struct __declspec(uuid("b0580019-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCurve;
+struct __declspec(uuid("b058006b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSubPaths;
+struct __declspec(uuid("b058006a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSubPath;
+struct __declspec(uuid("b0580044-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGNodes;
+struct __declspec(uuid("b0580042-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGNode;
+struct __declspec(uuid("b0580059-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSegment;
+struct __declspec(uuid("b0580018-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCrossPoints;
+struct __declspec(uuid("b0580017-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCrossPoint;
+struct __declspec(uuid("b05800a3-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGRect;
+struct __declspec(uuid("b05800d2-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGVector;
+struct __declspec(uuid("b05800d0-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPoint;
+struct __declspec(uuid("b0580043-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGNodeRange;
+struct __declspec(uuid("b058005a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSegmentRange;
+struct __declspec(uuid("b058005b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSegments;
+struct __declspec(uuid("b05800d1-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPointRange;
+struct __declspec(uuid("b05800d3-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTransformMatrix;
+struct __declspec(uuid("b058000f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGBitmap;
+struct __declspec(uuid("b0580067-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructPaletteOptions;
+struct __declspec(uuid("b0580091-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDuotone;
+struct __declspec(uuid("b0580092-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDuotoneOverprint;
+struct __declspec(uuid("b0580012-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGColor;
+struct __declspec(uuid("b05800b0-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGColorContext;
+struct __declspec(uuid("b0580098-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGColorProfile;
+struct __declspec(uuid("b0580099-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGColorProfiles;
+struct __declspec(uuid("b058004c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPalette;
+struct __declspec(uuid("b0580013-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGColors;
+struct __declspec(uuid("b0580093-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDuotoneInk;
+struct __declspec(uuid("b05800a1-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTraceSettings;
+struct __declspec(uuid("b058005e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGShapeRange;
+struct __declspec(uuid("b0580046-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGOutlineStyle;
+struct __declspec(uuid("b058000d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGArrowHead;
+struct __declspec(uuid("b0580038-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGFill;
+struct __declspec(uuid("b058003c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGFountainFill;
+struct __declspec(uuid("b058003b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGFountainColors;
+struct __declspec(uuid("b058003a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGFountainColor;
+struct __declspec(uuid("b0580050-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPatternFill;
+struct __declspec(uuid("b058004e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPatternCanvas;
+struct __declspec(uuid("b0580079-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextureFill;
+struct __declspec(uuid("b058007a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextureFillProperties;
+struct __declspec(uuid("b058007b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextureFillProperty;
+struct __declspec(uuid("b0580052-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPostScriptFill;
+struct __declspec(uuid("b0580096-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPSScreenOptions;
+struct __declspec(uuid("b058009a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGHatchFill;
+struct __declspec(uuid("b058009b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGHatchPatterns;
+struct __declspec(uuid("b058009c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGHatchPattern;
+struct __declspec(uuid("b0580045-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGOutline;
+struct __declspec(uuid("b05800a7-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGArrowHeadOptions;
+struct __declspec(uuid("b058009e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGHatchLibrary;
+struct __declspec(uuid("b058009f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGHatchFills;
+struct __declspec(uuid("b0580054-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGProperties;
+struct __declspec(uuid("b05800d8-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGImage;
+struct __declspec(uuid("b05800d9-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGImageTiles;
+struct __declspec(uuid("b05800da-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGImageTile;
+struct __declspec(uuid("b0580071-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGText;
+struct __declspec(uuid("b0580064-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructFontProperties;
+struct __declspec(uuid("b0580062-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructAlignProperties;
+struct __declspec(uuid("b0580069-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructSpaceProperties;
+struct __declspec(uuid("b0580066-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructHyphenationSettings;
+struct __declspec(uuid("b0580026-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffect;
+struct __declspec(uuid("b0580036-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffects;
+struct __declspec(uuid("b0580027-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectBlend;
+struct __declspec(uuid("b0580060-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSnapPoint;
+struct __declspec(uuid("b05800a8-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGUserSnapPoint;
+struct __declspec(uuid("b05800a9-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGObjectSnapPoint;
+struct __declspec(uuid("b05800aa-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGBBoxSnapPoint;
+struct __declspec(uuid("b05800ac-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEdgeSnapPoint;
+struct __declspec(uuid("b0580029-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectControlPath;
+struct __declspec(uuid("b058002d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectExtrude;
+struct __declspec(uuid("b058002e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGExtrudeVanishingPoint;
+struct __declspec(uuid("b058002c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectEnvelope;
+struct __declspec(uuid("b0580033-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectTextOnPath;
+struct __declspec(uuid("b058002b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectDropShadow;
+struct __declspec(uuid("b0580028-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectContour;
+struct __declspec(uuid("b058002a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectDistortion;
+struct __declspec(uuid("b0580032-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectPushPullDistortion;
+struct __declspec(uuid("b0580035-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectZipperDistortion;
+struct __declspec(uuid("b0580034-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectTwisterDistortion;
+struct __declspec(uuid("b058001b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectCustomDistortion;
+struct __declspec(uuid("b0580030-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectLens;
+struct __declspec(uuid("b0580031-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectPerspective;
+struct __declspec(uuid("b058001a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCustomEffect;
+struct __declspec(uuid("b05800db-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEffectInnerShadow;
+struct __declspec(uuid("b0580078-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextRange;
+struct __declspec(uuid("b0580072-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextCharacters;
+struct __declspec(uuid("b058007c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextWords;
+struct __declspec(uuid("b0580076-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextLines;
+struct __declspec(uuid("b0580077-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextParagraphs;
+struct __declspec(uuid("b0580073-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextColumns;
+struct __declspec(uuid("b0580075-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextFrames;
+struct __declspec(uuid("b0580074-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextFrame;
+struct __declspec(uuid("b0580095-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextTabPositions;
+struct __declspec(uuid("b0580094-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextTabPosition;
+struct __declspec(uuid("b05800a4-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextRanges;
+struct __declspec(uuid("b05800b8-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyle;
+struct __declspec(uuid("b05800bb-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyleOutline;
+struct __declspec(uuid("b05800bc-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyleFill;
+struct __declspec(uuid("b05800c0-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGFillMetadata;
+struct __declspec(uuid("b05800c1-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGLocalizableString;
+struct __declspec(uuid("b05800bd-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyleCharacter;
+struct __declspec(uuid("b05800be-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyleParagraph;
+struct __declspec(uuid("b05800bf-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyleFrame;
+struct __declspec(uuid("b05800b9-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyles;
+struct __declspec(uuid("b05800d7-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyleTransparency;
+struct __declspec(uuid("b05800dc-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextIndentLevelStyles;
+struct __declspec(uuid("b05800dd-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextIndentLevelStyle;
+struct __declspec(uuid("b05800de-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextVariableAxes;
+struct __declspec(uuid("b05800df-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTextVariableAxis;
+struct __declspec(uuid("b0580061-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSnapPoints;
+struct __declspec(uuid("b05800ab-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSnapPointRange;
+struct __declspec(uuid("b0580016-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGConnector;
+struct __declspec(uuid("b058003f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGGuide;
+struct __declspec(uuid("b0580053-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPowerClip;
+struct __declspec(uuid("b058007e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGURL;
+struct __declspec(uuid("b0580020-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDataItems;
+struct __declspec(uuid("b058001f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDataItem;
+struct __declspec(uuid("b058001d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDataField;
+struct __declspec(uuid("b058001e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDataFields;
+struct __declspec(uuid("b0580011-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCloneLink;
+struct __declspec(uuid("b058007d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTransparency;
+struct __declspec(uuid("b058001c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCustomShape;
+struct __declspec(uuid("b0580021-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDimension;
+struct __declspec(uuid("b0580023-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDimensionLinear;
+struct __declspec(uuid("b0580022-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDimensionAngular;
+struct __declspec(uuid("b058006c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSymbol;
+struct __declspec(uuid("b058006d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSymbolDefinition;
+struct __declspec(uuid("b058006e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSymbolDefinitions;
+struct __declspec(uuid("b0580088-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGOLE;
+struct __declspec(uuid("b058008f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTreeNode;
+struct __declspec(uuid("b0580090-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTreeNodes;
+struct __declspec(uuid("b05800a0-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGEPS;
+struct __declspec(uuid("b05800a5-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSpread;
+struct __declspec(uuid("b05800ad-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGBSpline;
+struct __declspec(uuid("b05800af-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGBSplineControlPoints;
+struct __declspec(uuid("b05800ae-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGBSplineControlPoint;
+struct __declspec(uuid("b0580085-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructImportOptions;
+struct __declspec(uuid("f5200005-8d23-0001-89e7-0000861ebbd6"))
+/* dual interface */ IImportCropHandler;
+struct __declspec(uuid("b0580087-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IStructImportCropOptions;
+struct __declspec(uuid("f5200004-8d23-0001-89e7-0000861ebbd6"))
+/* dual interface */ IImportResampleHandler;
+struct __declspec(uuid("b0580086-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IStructImportResampleOptions;
+struct __declspec(uuid("b05800b2-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructColorConversionOptions;
+struct __declspec(uuid("b05800b1-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGColorManagementPolicy;
+struct __declspec(uuid("7cb12d17-eca6-0e87-46f7-e4d31c0d0500"))
+/* dual interface */ IColorConversionHandler;
+struct __declspec(uuid("b0580070-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSymbolLibrary;
+struct __declspec(uuid("b05800b5-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructPasteOptions;
+struct __declspec(uuid("b05800e6-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPageMarkup;
+struct __declspec(uuid("b05800ec-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCommentThreads;
+struct __declspec(uuid("b05800e7-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCommentThread;
+struct __declspec(uuid("b05800ed-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCommentTarget;
+struct __declspec(uuid("b05800e4-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGComments;
+struct __declspec(uuid("b05800e9-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGComment;
+struct __declspec(uuid("b05800e1-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCommentAuthor;
+struct __declspec(uuid("b05800e8-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGCommentAnnotation;
+struct __declspec(uuid("b0580081-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGWindow;
+struct __declspec(uuid("b0580082-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGWindows;
+struct __declspec(uuid("b058000a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGActiveView;
+struct __declspec(uuid("b05800b6-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGProofColorSettings;
+struct __declspec(uuid("b0580000-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ ICorelScriptTools;
+struct __declspec(uuid("b0580083-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGWorkspace;
+struct __declspec(uuid("b0580084-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGWorkspaces;
+struct __declspec(uuid("b058004d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPalettes;
+struct __declspec(uuid("b0580039-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGFontList;
+struct __declspec(uuid("b058000c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGAppWindow;
+struct __declspec(uuid("b0580056-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGRecentFiles;
+struct __declspec(uuid("b0580055-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGRecentFile;
+struct __declspec(uuid("b058000e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGArrowHeads;
+struct __declspec(uuid("b0580047-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGOutlineStyles;
+struct __declspec(uuid("b058004f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPatternCanvases;
+struct __declspec(uuid("b0580010-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGClipboard;
+struct __declspec(uuid("b058003d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGGMSManager;
+struct __declspec(uuid("b058008a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGGMSProjects;
+struct __declspec(uuid("b058008b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGGMSProject;
+struct __declspec(uuid("b058008c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGGMSMacros;
+struct __declspec(uuid("b058008d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGGMSMacro;
+struct __declspec(uuid("b0580068-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructSaveAsOptions;
+struct __declspec(uuid("b0580063-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructExportOptions;
+struct __declspec(uuid("b0580015-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGComponents;
+struct __declspec(uuid("b0580014-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGComponent;
+struct __declspec(uuid("b058006f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSymbolLibraries;
+struct __declspec(uuid("b0580089-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGAppStatus;
+struct __declspec(uuid("b058004b-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPageSizes;
+struct __declspec(uuid("b058004a-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPageSize;
+struct __declspec(uuid("b058008e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGTreeManager;
+struct __declspec(uuid("b0580097-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGColorManager;
+struct __declspec(uuid("b05800b3-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructOpenOptions;
+struct __declspec(uuid("b05800b4-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStructCreateOptions;
+struct __declspec(uuid("b05800b7-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGPaletteManager;
+struct __declspec(uuid("b05800cf-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGToolState;
+struct __declspec(uuid("b05800ce-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGToolStateAttributes;
+struct __declspec(uuid("b05800cb-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGOnScreenCurve;
+struct __declspec(uuid("b05800cc-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGOnScreenHandle;
+struct __declspec(uuid("b05800cd-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGOnScreenText;
+struct __declspec(uuid("b05800d4-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGMathUtils;
+struct __declspec(uuid("b05800d5-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGToolShapeAttributes;
+struct __declspec(uuid("b05800d6-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGToolShape;
+struct __declspec(uuid("b0580058-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGRulers;
+struct __declspec(uuid("b058003e-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGGrid;
+struct __declspec(uuid("b0580080-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGViews;
+struct __declspec(uuid("b058007f-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGView;
+struct __declspec(uuid("b058005c-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSelectionInformation;
+struct __declspec(uuid("b058009d-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGHatchLibraries;
+struct __declspec(uuid("b05800a2-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGMetadata;
+struct __declspec(uuid("b05800a6-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGSpreads;
+struct __declspec(uuid("b05800ba-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGStyleSheet;
+struct __declspec(uuid("b05800e0-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDocumentMarkup;
+struct __declspec(uuid("b05800c2-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ _IGlobalMacroStorage;
+struct __declspec(uuid("b0580005-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGAppPlugin;
+struct __declspec(uuid("b05800c3-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGApplicationEvents;
+struct /* coclass */ Document;
+struct __declspec(uuid("b05800c6-9aa4-44fd-9547-4f91eb757ac4"))
+/* dispinterface */ DIVGDocumentEvents;
+struct __declspec(uuid("b05800c4-9aa4-44fd-9547-4f91eb757ac4"))
+/* dual interface */ IVGDocumentEvents;
+struct /* coclass */ Layer;
+struct /* coclass */ Page;
+struct /* coclass */ Shape;
+struct /* coclass */ Window;
+struct __declspec(uuid("b05800c5-9aa4-44fd-9547-4f91eb757ac4"))
+/* dispinterface */ DIVGApplicationEvents;
+struct /* coclass */ ActiveView;
+struct /* coclass */ Application;
+struct /* coclass */ AppStatus;
+struct /* coclass */ AppWindow;
+struct /* coclass */ ArrowHead;
+struct /* coclass */ ArrowHeadOptions;
+struct /* coclass */ ArrowHeads;
+struct /* coclass */ BBoxSnapPoint;
+struct /* coclass */ Bitmap;
+struct /* coclass */ BSpline;
+struct /* coclass */ BSplineControlPoint;
+struct /* coclass */ BSplineControlPoints;
+struct /* coclass */ Clipboard;
+struct /* coclass */ CloneLink;
+struct /* coclass */ Color;
+struct /* coclass */ ColorContext;
+struct /* coclass */ ColorManagementPolicy;
+struct /* coclass */ ColorManager;
+struct /* coclass */ ColorProfile;
+struct /* coclass */ ColorProfiles;
+struct /* coclass */ Colors;
+struct /* coclass */ Component;
+struct /* coclass */ Components;
+struct /* coclass */ Connector;
+struct /* coclass */ CrossPoint;
+struct /* coclass */ CrossPoints;
+struct /* coclass */ Curve;
+struct /* coclass */ CustomEffect;
+struct /* coclass */ CustomShape;
+struct /* coclass */ DataField;
+struct /* coclass */ DataFields;
+struct /* coclass */ DataItem;
+struct /* coclass */ DataItems;
+struct /* coclass */ Dimension;
+struct /* coclass */ DimensionAngular;
+struct /* coclass */ DimensionLinear;
+struct /* coclass */ Documents;
+struct /* coclass */ Duotone;
+struct /* coclass */ DuotoneInk;
+struct /* coclass */ DuotoneOverprint;
+struct /* coclass */ EdgeSnapPoint;
+struct /* coclass */ Effect;
+struct /* coclass */ EffectBlend;
+struct /* coclass */ EffectContour;
+struct /* coclass */ EffectControlPath;
+struct /* coclass */ EffectCustomDistortion;
+struct /* coclass */ EffectDistortion;
+struct /* coclass */ EffectDropShadow;
+struct /* coclass */ EffectEnvelope;
+struct /* coclass */ EffectExtrude;
+struct /* coclass */ EffectLens;
+struct /* coclass */ EffectPerspective;
+struct /* coclass */ EffectPushPullDistortion;
+struct /* coclass */ Effects;
+struct /* coclass */ EffectTextOnPath;
+struct /* coclass */ EffectTwisterDistortion;
+struct /* coclass */ EffectZipperDistortion;
+struct /* coclass */ Ellipse;
+struct /* coclass */ EPS;
+struct /* coclass */ ExportFilter;
+struct /* coclass */ ExtrudeVanishingPoint;
+struct /* coclass */ Fill;
+struct /* coclass */ FillMetadata;
+struct /* coclass */ FontList;
+struct /* coclass */ FountainColor;
+struct /* coclass */ FountainColors;
+struct /* coclass */ FountainFill;
+struct /* coclass */ GlobalMacroStorage;
+struct /* coclass */ GMSManager;
+struct /* coclass */ Grid;
+struct /* coclass */ Guide;
+struct /* coclass */ HatchFill;
+struct /* coclass */ HatchFills;
+struct /* coclass */ HatchLibraries;
+struct /* coclass */ HatchLibrary;
+struct /* coclass */ HatchPattern;
+struct /* coclass */ HatchPatterns;
+struct /* coclass */ ImportFilter;
+struct /* coclass */ Layers;
+struct /* coclass */ LocalizableString;
+struct /* coclass */ Metadata;
+struct /* coclass */ Node;
+struct /* coclass */ NodeRange;
+struct /* coclass */ Nodes;
+struct /* coclass */ ObjectSnapPoint;
+struct /* coclass */ OLE;
+struct /* coclass */ Outline;
+struct /* coclass */ OutlineStyle;
+struct /* coclass */ OutlineStyles;
+struct /* coclass */ Pages;
+struct /* coclass */ PageSize;
+struct /* coclass */ PageSizes;
+struct /* coclass */ Palette;
+struct /* coclass */ PaletteManager;
+struct /* coclass */ Palettes;
+struct /* coclass */ PatternCanvas;
+struct /* coclass */ PatternCanvases;
+struct /* coclass */ PatternFill;
+struct /* coclass */ Polygon;
+struct /* coclass */ PostScriptFill;
+struct /* coclass */ PowerClip;
+struct /* coclass */ ProofColorSettings;
+struct /* coclass */ Properties;
+struct /* coclass */ PSScreenOptions;
+struct /* coclass */ RecentFile;
+struct /* coclass */ RecentFiles;
+struct /* coclass */ Rect;
+struct /* coclass */ Rectangle;
+struct /* coclass */ Rulers;
+struct /* coclass */ Segment;
+struct /* coclass */ SegmentRange;
+struct /* coclass */ Segments;
+struct /* coclass */ SelectionInfo;
+struct /* coclass */ ShapeRange;
+struct /* coclass */ Shapes;
+struct /* coclass */ SnapPoint;
+struct /* coclass */ SnapPointRange;
+struct /* coclass */ SnapPoints;
+struct /* coclass */ Spread;
+struct /* coclass */ Spreads;
+struct /* coclass */ StructAlignProperties;
+struct /* coclass */ StructColorConversionOptions;
+struct /* coclass */ StructCreateOptions;
+struct /* coclass */ StructExportOptions;
+struct /* coclass */ StructFontProperties;
+struct /* coclass */ StructHyphenationSettings;
+struct /* coclass */ StructImportCropOptions;
+struct /* coclass */ StructImportOptions;
+struct /* coclass */ StructImportResampleOptions;
+struct /* coclass */ StructOpenOptions;
+struct /* coclass */ StructPaletteOptions;
+struct /* coclass */ StructPasteOptions;
+struct /* coclass */ StructSaveAsOptions;
+struct /* coclass */ StructSpaceProperties;
+struct /* coclass */ Style;
+struct /* coclass */ StyleCharacter;
+struct /* coclass */ StyleFill;
+struct /* coclass */ StyleFrame;
+struct /* coclass */ StyleOutline;
+struct /* coclass */ StyleParagraph;
+struct /* coclass */ Styles;
+struct /* coclass */ StyleSheet;
+struct /* coclass */ SubPath;
+struct /* coclass */ SubPaths;
+struct /* coclass */ Symbol;
+struct /* coclass */ SymbolDefinition;
+struct /* coclass */ SymbolDefinitions;
+struct /* coclass */ SymbolLibraries;
+struct /* coclass */ SymbolLibrary;
+struct /* coclass */ Text;
+struct /* coclass */ TextCharacters;
+struct /* coclass */ TextColumns;
+struct /* coclass */ TextFrame;
+struct /* coclass */ TextFrames;
+struct /* coclass */ TextLines;
+struct /* coclass */ TextParagraphs;
+struct /* coclass */ TextRange;
+struct /* coclass */ TextRanges;
+struct /* coclass */ TextTabPosition;
+struct /* coclass */ TextTabPositions;
+struct /* coclass */ TextureFill;
+struct /* coclass */ TextureFillProperties;
+struct /* coclass */ TextureFillProperty;
+struct /* coclass */ TextWords;
+struct /* coclass */ TraceSettings;
+struct /* coclass */ Transparency;
+struct /* coclass */ TreeManager;
+struct /* coclass */ TreeNode;
+struct /* coclass */ TreeNodes;
+struct /* coclass */ URL;
+struct /* coclass */ UserSnapPoint;
+struct /* coclass */ View;
+struct /* coclass */ Views;
+struct /* coclass */ Windows;
+struct /* coclass */ Workspace;
+struct /* coclass */ Workspaces;
+struct /* coclass */ CorelScriptTools;
+struct /* coclass */ GMSMacro;
+struct /* coclass */ GMSMacros;
+struct /* coclass */ GMSProject;
+struct /* coclass */ GMSProjects;
+struct /* coclass */ OnScreenCurve;
+struct /* coclass */ OnScreenHandle;
+struct /* coclass */ OnScreenText;
+struct /* coclass */ ToolStateAttributes;
+struct /* coclass */ ToolState;
+struct /* coclass */ Point;
+struct /* coclass */ PointRange;
+struct /* coclass */ Vector;
+struct /* coclass */ TransformMatrix;
+struct /* coclass */ MathUtils;
+struct /* coclass */ ToolShapeAttributes;
+struct /* coclass */ ToolShape;
+struct /* coclass */ StyleTransparency;
+struct /* coclass */ Image;
+struct /* coclass */ ImageTiles;
+struct /* coclass */ ImageTile;
+struct /* coclass */ EffectInnerShadow;
+struct /* coclass */ TextIndentLevelStyles;
+struct /* coclass */ TextIndentLevelStyle;
+struct /* coclass */ TextVariableAxes;
+struct /* coclass */ TextVariableAxis;
+struct /* coclass */ FrameWork;
+struct /* coclass */ CommandBars;
+struct /* coclass */ CommandBarModes;
+struct /* coclass */ CommandBarMode;
+struct /* coclass */ Controls;
+struct /* coclass */ Control;
+struct /* coclass */ CommandBar;
+struct /* coclass */ DataContext;
+struct /* coclass */ DataSourceProxy;
+struct /* coclass */ ImageList;
+struct /* coclass */ FrameWindows;
+struct /* coclass */ FrameWindow;
+struct /* coclass */ ViewHosts;
+struct /* coclass */ ViewHost;
+struct /* coclass */ DockHosts;
+struct /* coclass */ DockHost;
+struct /* coclass */ ViewWindows;
+struct /* coclass */ ViewWindow;
+struct /* coclass */ DockItems;
+struct /* coclass */ DockItem;
+struct /* coclass */ ScreenRect;
+struct /* coclass */ BitmapImage;
+struct /* coclass */ StatusText;
+struct /* coclass */ PDFVBASettings;
+struct /* coclass */ SystemPrinters;
+struct /* coclass */ Printer;
+struct /* coclass */ PrintJob;
+struct /* coclass */ PrintDocuments;
+struct /* coclass */ PrintPages;
+struct /* coclass */ PrintSettings;
+struct /* coclass */ PrintSeparations;
+struct /* coclass */ SeparationPlates;
+struct /* coclass */ SeparationPlate;
+struct /* coclass */ PrintPrepress;
+struct /* coclass */ PrintPostScript;
+struct /* coclass */ PrintTrapping;
+struct /* coclass */ TrapLayers;
+struct /* coclass */ TrapLayer;
+struct /* coclass */ PrintOptions;
+struct /* coclass */ PrintLayout;
+#if !defined(_WIN64)
+typedef __w64 long INT_PTR;
+#else
+typedef __int64 INT_PTR;
+#endif
+
+//
+// Smart pointer typedef declarations
+//
+
+_COM_SMARTPTR_TYPEDEF(ICorelImportFilter, __uuidof(ICorelImportFilter));
+_COM_SMARTPTR_TYPEDEF(ICorelExportFilter, __uuidof(ICorelExportFilter));
+_COM_SMARTPTR_TYPEDEF(ICUIControlData, __uuidof(ICUIControlData));
+_COM_SMARTPTR_TYPEDEF(ICUIAutomation, __uuidof(ICUIAutomation));
+_COM_SMARTPTR_TYPEDEF(ICUIControl, __uuidof(ICUIControl));
+_COM_SMARTPTR_TYPEDEF(ICUIControls, __uuidof(ICUIControls));
+_COM_SMARTPTR_TYPEDEF(ICUICommandBarMode, __uuidof(ICUICommandBarMode));
+_COM_SMARTPTR_TYPEDEF(ICUICommandBarModes, __uuidof(ICUICommandBarModes));
+_COM_SMARTPTR_TYPEDEF(ICUICommandBar, __uuidof(ICUICommandBar));
+_COM_SMARTPTR_TYPEDEF(ICUICommandBars, __uuidof(ICUICommandBars));
+_COM_SMARTPTR_TYPEDEF(ICUIScreenRect, __uuidof(ICUIScreenRect));
+_COM_SMARTPTR_TYPEDEF(ICUIBitmapImage, __uuidof(ICUIBitmapImage));
+_COM_SMARTPTR_TYPEDEF(ICUIImageList, __uuidof(ICUIImageList));
+_COM_SMARTPTR_TYPEDEF(ICUIStatusText, __uuidof(ICUIStatusText));
+_COM_SMARTPTR_TYPEDEF(ICUIWarning, __uuidof(ICUIWarning));
+_COM_SMARTPTR_TYPEDEF(ICUITask, __uuidof(ICUITask));
+_COM_SMARTPTR_TYPEDEF(ICUIBackgroundTask, __uuidof(ICUIBackgroundTask));
+_COM_SMARTPTR_TYPEDEF(ICUIRunningTask, __uuidof(ICUIRunningTask));
+_COM_SMARTPTR_TYPEDEF(ICUIRunningBackgroundTask, __uuidof(ICUIRunningBackgroundTask));
+_COM_SMARTPTR_TYPEDEF(ICUITaskManager, __uuidof(ICUITaskManager));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintLayout, __uuidof(IPrnVBAPrintLayout));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrinter, __uuidof(IPrnVBAPrinter));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrinters, __uuidof(IPrnVBAPrinters));
+_COM_SMARTPTR_TYPEDEF(IPrnVBASeparationPlate, __uuidof(IPrnVBASeparationPlate));
+_COM_SMARTPTR_TYPEDEF(IPrnVBASeparationPlates, __uuidof(IPrnVBASeparationPlates));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintSeparations, __uuidof(IPrnVBAPrintSeparations));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintPrepress, __uuidof(IPrnVBAPrintPrepress));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintPostScript, __uuidof(IPrnVBAPrintPostScript));
+_COM_SMARTPTR_TYPEDEF(IPrnVBATrapLayer, __uuidof(IPrnVBATrapLayer));
+_COM_SMARTPTR_TYPEDEF(IPrnVBATrapLayers, __uuidof(IPrnVBATrapLayers));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintTrapping, __uuidof(IPrnVBAPrintTrapping));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintOptions, __uuidof(IPrnVBAPrintOptions));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintSettings, __uuidof(IPrnVBAPrintSettings));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintDocument, __uuidof(IPrnVBAPrintDocument));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintDocuments, __uuidof(IPrnVBAPrintDocuments));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintPage, __uuidof(IPrnVBAPrintPage));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintPages, __uuidof(IPrnVBAPrintPages));
+_COM_SMARTPTR_TYPEDEF(IPrnVBAPrintJob, __uuidof(IPrnVBAPrintJob));
+_COM_SMARTPTR_TYPEDEF(IPDFVBASettings, __uuidof(IPDFVBASettings));
+_COM_SMARTPTR_TYPEDEF(IVGRectangle, __uuidof(IVGRectangle));
+_COM_SMARTPTR_TYPEDEF(IVGEllipse, __uuidof(IVGEllipse));
+_COM_SMARTPTR_TYPEDEF(IVGPolygon, __uuidof(IVGPolygon));
+_COM_SMARTPTR_TYPEDEF(IVGCrossPoint, __uuidof(IVGCrossPoint));
+_COM_SMARTPTR_TYPEDEF(IVGCrossPoints, __uuidof(IVGCrossPoints));
+_COM_SMARTPTR_TYPEDEF(IVGStructPaletteOptions, __uuidof(IVGStructPaletteOptions));
+_COM_SMARTPTR_TYPEDEF(IVGOutlineStyle, __uuidof(IVGOutlineStyle));
+_COM_SMARTPTR_TYPEDEF(IVGPatternCanvas, __uuidof(IVGPatternCanvas));
+_COM_SMARTPTR_TYPEDEF(IVGTextureFillProperty, __uuidof(IVGTextureFillProperty));
+_COM_SMARTPTR_TYPEDEF(IVGTextureFillProperties, __uuidof(IVGTextureFillProperties));
+_COM_SMARTPTR_TYPEDEF(IVGTextureFill, __uuidof(IVGTextureFill));
+_COM_SMARTPTR_TYPEDEF(IVGPostScriptFill, __uuidof(IVGPostScriptFill));
+_COM_SMARTPTR_TYPEDEF(IVGPSScreenOptions, __uuidof(IVGPSScreenOptions));
+_COM_SMARTPTR_TYPEDEF(IVGArrowHeadOptions, __uuidof(IVGArrowHeadOptions));
+_COM_SMARTPTR_TYPEDEF(IVGImageTile, __uuidof(IVGImageTile));
+_COM_SMARTPTR_TYPEDEF(IVGImageTiles, __uuidof(IVGImageTiles));
+_COM_SMARTPTR_TYPEDEF(IVGStructAlignProperties, __uuidof(IVGStructAlignProperties));
+_COM_SMARTPTR_TYPEDEF(IVGStructSpaceProperties, __uuidof(IVGStructSpaceProperties));
+_COM_SMARTPTR_TYPEDEF(IVGStructHyphenationSettings, __uuidof(IVGStructHyphenationSettings));
+_COM_SMARTPTR_TYPEDEF(IVGUserSnapPoint, __uuidof(IVGUserSnapPoint));
+_COM_SMARTPTR_TYPEDEF(IVGObjectSnapPoint, __uuidof(IVGObjectSnapPoint));
+_COM_SMARTPTR_TYPEDEF(IVGBBoxSnapPoint, __uuidof(IVGBBoxSnapPoint));
+_COM_SMARTPTR_TYPEDEF(IVGEdgeSnapPoint, __uuidof(IVGEdgeSnapPoint));
+_COM_SMARTPTR_TYPEDEF(IVGEffectCustomDistortion, __uuidof(IVGEffectCustomDistortion));
+_COM_SMARTPTR_TYPEDEF(IVGTextTabPosition, __uuidof(IVGTextTabPosition));
+_COM_SMARTPTR_TYPEDEF(IVGTextTabPositions, __uuidof(IVGTextTabPositions));
+_COM_SMARTPTR_TYPEDEF(IVGLocalizableString, __uuidof(IVGLocalizableString));
+_COM_SMARTPTR_TYPEDEF(IVGFillMetadata, __uuidof(IVGFillMetadata));
+_COM_SMARTPTR_TYPEDEF(IVGTextIndentLevelStyle, __uuidof(IVGTextIndentLevelStyle));
+_COM_SMARTPTR_TYPEDEF(IVGTextIndentLevelStyles, __uuidof(IVGTextIndentLevelStyles));
+_COM_SMARTPTR_TYPEDEF(IVGTextVariableAxis, __uuidof(IVGTextVariableAxis));
+_COM_SMARTPTR_TYPEDEF(IVGTextVariableAxes, __uuidof(IVGTextVariableAxes));
+_COM_SMARTPTR_TYPEDEF(IVGGuide, __uuidof(IVGGuide));
+_COM_SMARTPTR_TYPEDEF(IVGURL, __uuidof(IVGURL));
+_COM_SMARTPTR_TYPEDEF(IVGCustomShape, __uuidof(IVGCustomShape));
+_COM_SMARTPTR_TYPEDEF(IVGOLE, __uuidof(IVGOLE));
+_COM_SMARTPTR_TYPEDEF(IVGBSplineControlPoint, __uuidof(IVGBSplineControlPoint));
+_COM_SMARTPTR_TYPEDEF(IVGBSplineControlPoints, __uuidof(IVGBSplineControlPoints));
+_COM_SMARTPTR_TYPEDEF(IVGBSpline, __uuidof(IVGBSpline));
+_COM_SMARTPTR_TYPEDEF(IStructImportCropOptions, __uuidof(IStructImportCropOptions));
+_COM_SMARTPTR_TYPEDEF(IImportCropHandler, __uuidof(IImportCropHandler));
+_COM_SMARTPTR_TYPEDEF(IStructImportResampleOptions, __uuidof(IStructImportResampleOptions));
+_COM_SMARTPTR_TYPEDEF(IImportResampleHandler, __uuidof(IImportResampleHandler));
+_COM_SMARTPTR_TYPEDEF(IVGColorManagementPolicy, __uuidof(IVGColorManagementPolicy));
+_COM_SMARTPTR_TYPEDEF(IColorConversionHandler, __uuidof(IColorConversionHandler));
+_COM_SMARTPTR_TYPEDEF(IVGStructColorConversionOptions, __uuidof(IVGStructColorConversionOptions));
+_COM_SMARTPTR_TYPEDEF(IVGStructImportOptions, __uuidof(IVGStructImportOptions));
+_COM_SMARTPTR_TYPEDEF(IVGStructPasteOptions, __uuidof(IVGStructPasteOptions));
+_COM_SMARTPTR_TYPEDEF(IVGCommentAuthor, __uuidof(IVGCommentAuthor));
+_COM_SMARTPTR_TYPEDEF(ICorelScriptTools, __uuidof(ICorelScriptTools));
+_COM_SMARTPTR_TYPEDEF(IVGFontList, __uuidof(IVGFontList));
+_COM_SMARTPTR_TYPEDEF(IVGAppWindow, __uuidof(IVGAppWindow));
+_COM_SMARTPTR_TYPEDEF(IVGPatternCanvases, __uuidof(IVGPatternCanvases));
+_COM_SMARTPTR_TYPEDEF(IVGClipboard, __uuidof(IVGClipboard));
+_COM_SMARTPTR_TYPEDEF(IVGGMSMacro, __uuidof(IVGGMSMacro));
+_COM_SMARTPTR_TYPEDEF(IVGGMSMacros, __uuidof(IVGGMSMacros));
+_COM_SMARTPTR_TYPEDEF(IVGGMSProject, __uuidof(IVGGMSProject));
+_COM_SMARTPTR_TYPEDEF(IVGGMSProjects, __uuidof(IVGGMSProjects));
+_COM_SMARTPTR_TYPEDEF(IVGGMSManager, __uuidof(IVGGMSManager));
+_COM_SMARTPTR_TYPEDEF(IVGStructSaveAsOptions, __uuidof(IVGStructSaveAsOptions));
+_COM_SMARTPTR_TYPEDEF(IVGComponent, __uuidof(IVGComponent));
+_COM_SMARTPTR_TYPEDEF(IVGComponents, __uuidof(IVGComponents));
+_COM_SMARTPTR_TYPEDEF(IVGAppStatus, __uuidof(IVGAppStatus));
+_COM_SMARTPTR_TYPEDEF(IVGStructOpenOptions, __uuidof(IVGStructOpenOptions));
+_COM_SMARTPTR_TYPEDEF(IVGOnScreenHandle, __uuidof(IVGOnScreenHandle));
+_COM_SMARTPTR_TYPEDEF(IVGOnScreenText, __uuidof(IVGOnScreenText));
+_COM_SMARTPTR_TYPEDEF(IVGToolShapeAttributes, __uuidof(IVGToolShapeAttributes));
+_COM_SMARTPTR_TYPEDEF(IVGMetadata, __uuidof(IVGMetadata));
+_COM_SMARTPTR_TYPEDEF(_IGlobalMacroStorage, __uuidof(_IGlobalMacroStorage));
+_COM_SMARTPTR_TYPEDEF(DIVGDocumentEvents, __uuidof(DIVGDocumentEvents));
+_COM_SMARTPTR_TYPEDEF(IVGDocumentEvents, __uuidof(IVGDocumentEvents));
+_COM_SMARTPTR_TYPEDEF(IVGApplicationEvents, __uuidof(IVGApplicationEvents));
+_COM_SMARTPTR_TYPEDEF(DIVGApplicationEvents, __uuidof(DIVGApplicationEvents));
+_COM_SMARTPTR_TYPEDEF(ICUIFrameWork, __uuidof(ICUIFrameWork));
+_COM_SMARTPTR_TYPEDEF(ICUIFrameWindows, __uuidof(ICUIFrameWindows));
+_COM_SMARTPTR_TYPEDEF(ICUIFrameWindow, __uuidof(ICUIFrameWindow));
+_COM_SMARTPTR_TYPEDEF(ICUIViewHosts, __uuidof(ICUIViewHosts));
+_COM_SMARTPTR_TYPEDEF(ICUIViewHost, __uuidof(ICUIViewHost));
+_COM_SMARTPTR_TYPEDEF(ICUIViewWindow, __uuidof(ICUIViewWindow));
+_COM_SMARTPTR_TYPEDEF(ICUIViewWindows, __uuidof(ICUIViewWindows));
+_COM_SMARTPTR_TYPEDEF(ICUIDockHost, __uuidof(ICUIDockHost));
+_COM_SMARTPTR_TYPEDEF(ICUIDockItem, __uuidof(ICUIDockItem));
+_COM_SMARTPTR_TYPEDEF(ICUIDockItems, __uuidof(ICUIDockItems));
+_COM_SMARTPTR_TYPEDEF(ICUIDockHosts, __uuidof(ICUIDockHosts));
+_COM_SMARTPTR_TYPEDEF(ICUIApplication, __uuidof(ICUIApplication));
+_COM_SMARTPTR_TYPEDEF(ICUIDataSourceProxy, __uuidof(ICUIDataSourceProxy));
+_COM_SMARTPTR_TYPEDEF(ICUIDataContext, __uuidof(ICUIDataContext));
+_COM_SMARTPTR_TYPEDEF(ICUIDataSourceFactory, __uuidof(ICUIDataSourceFactory));
+_COM_SMARTPTR_TYPEDEF(IVGDocument, __uuidof(IVGDocument));
+_COM_SMARTPTR_TYPEDEF(IVGRect, __uuidof(IVGRect));
+_COM_SMARTPTR_TYPEDEF(IVGApplication, __uuidof(IVGApplication));
+_COM_SMARTPTR_TYPEDEF(IVGDocuments, __uuidof(IVGDocuments));
+_COM_SMARTPTR_TYPEDEF(IVGOutlineStyles, __uuidof(IVGOutlineStyles));
+_COM_SMARTPTR_TYPEDEF(IVGRulers, __uuidof(IVGRulers));
+_COM_SMARTPTR_TYPEDEF(IVGGrid, __uuidof(IVGGrid));
+_COM_SMARTPTR_TYPEDEF(IVGAppPlugin, __uuidof(IVGAppPlugin));
+_COM_SMARTPTR_TYPEDEF(IVGPage, __uuidof(IVGPage));
+_COM_SMARTPTR_TYPEDEF(IVGPages, __uuidof(IVGPages));
+_COM_SMARTPTR_TYPEDEF(IVGLayers, __uuidof(IVGLayers));
+_COM_SMARTPTR_TYPEDEF(IVGLayer, __uuidof(IVGLayer));
+_COM_SMARTPTR_TYPEDEF(IVGShapes, __uuidof(IVGShapes));
+_COM_SMARTPTR_TYPEDEF(IVGShape, __uuidof(IVGShape));
+_COM_SMARTPTR_TYPEDEF(IVGCustomEffect, __uuidof(IVGCustomEffect));
+_COM_SMARTPTR_TYPEDEF(IVGCloneLink, __uuidof(IVGCloneLink));
+_COM_SMARTPTR_TYPEDEF(IVGCommentTarget, __uuidof(IVGCommentTarget));
+_COM_SMARTPTR_TYPEDEF(IVGSelectionInformation, __uuidof(IVGSelectionInformation));
+_COM_SMARTPTR_TYPEDEF(IVGCurve, __uuidof(IVGCurve));
+_COM_SMARTPTR_TYPEDEF(IVGArrowHead, __uuidof(IVGArrowHead));
+_COM_SMARTPTR_TYPEDEF(IVGArrowHeads, __uuidof(IVGArrowHeads));
+_COM_SMARTPTR_TYPEDEF(IVGSubPaths, __uuidof(IVGSubPaths));
+_COM_SMARTPTR_TYPEDEF(IVGSubPath, __uuidof(IVGSubPath));
+_COM_SMARTPTR_TYPEDEF(IVGNodes, __uuidof(IVGNodes));
+_COM_SMARTPTR_TYPEDEF(IVGNode, __uuidof(IVGNode));
+_COM_SMARTPTR_TYPEDEF(IVGSnapPoint, __uuidof(IVGSnapPoint));
+_COM_SMARTPTR_TYPEDEF(IVGSnapPointRange, __uuidof(IVGSnapPointRange));
+_COM_SMARTPTR_TYPEDEF(IVGSnapPoints, __uuidof(IVGSnapPoints));
+_COM_SMARTPTR_TYPEDEF(IVGConnector, __uuidof(IVGConnector));
+_COM_SMARTPTR_TYPEDEF(IVGDimensionLinear, __uuidof(IVGDimensionLinear));
+_COM_SMARTPTR_TYPEDEF(IVGDimensionAngular, __uuidof(IVGDimensionAngular));
+_COM_SMARTPTR_TYPEDEF(IVGSegment, __uuidof(IVGSegment));
+_COM_SMARTPTR_TYPEDEF(IVGVector, __uuidof(IVGVector));
+_COM_SMARTPTR_TYPEDEF(IVGPoint, __uuidof(IVGPoint));
+_COM_SMARTPTR_TYPEDEF(IVGPointRange, __uuidof(IVGPointRange));
+_COM_SMARTPTR_TYPEDEF(IVGTransformMatrix, __uuidof(IVGTransformMatrix));
+_COM_SMARTPTR_TYPEDEF(IVGProperties, __uuidof(IVGProperties));
+_COM_SMARTPTR_TYPEDEF(IVGToolStateAttributes, __uuidof(IVGToolStateAttributes));
+_COM_SMARTPTR_TYPEDEF(IVGToolState, __uuidof(IVGToolState));
+_COM_SMARTPTR_TYPEDEF(IVGOnScreenCurve, __uuidof(IVGOnScreenCurve));
+_COM_SMARTPTR_TYPEDEF(IVGMathUtils, __uuidof(IVGMathUtils));
+_COM_SMARTPTR_TYPEDEF(IVGNodeRange, __uuidof(IVGNodeRange));
+_COM_SMARTPTR_TYPEDEF(IVGSegmentRange, __uuidof(IVGSegmentRange));
+_COM_SMARTPTR_TYPEDEF(IVGSegments, __uuidof(IVGSegments));
+_COM_SMARTPTR_TYPEDEF(IVGBitmap, __uuidof(IVGBitmap));
+_COM_SMARTPTR_TYPEDEF(IVGEPS, __uuidof(IVGEPS));
+_COM_SMARTPTR_TYPEDEF(IVGDuotone, __uuidof(IVGDuotone));
+_COM_SMARTPTR_TYPEDEF(IVGDuotoneOverprint, __uuidof(IVGDuotoneOverprint));
+_COM_SMARTPTR_TYPEDEF(IVGColor, __uuidof(IVGColor));
+_COM_SMARTPTR_TYPEDEF(IVGDuotoneInk, __uuidof(IVGDuotoneInk));
+_COM_SMARTPTR_TYPEDEF(IVGFountainColor, __uuidof(IVGFountainColor));
+_COM_SMARTPTR_TYPEDEF(IVGFountainColors, __uuidof(IVGFountainColors));
+_COM_SMARTPTR_TYPEDEF(IVGFountainFill, __uuidof(IVGFountainFill));
+_COM_SMARTPTR_TYPEDEF(IVGPatternFill, __uuidof(IVGPatternFill));
+_COM_SMARTPTR_TYPEDEF(IVGOutline, __uuidof(IVGOutline));
+_COM_SMARTPTR_TYPEDEF(IVGHatchPattern, __uuidof(IVGHatchPattern));
+_COM_SMARTPTR_TYPEDEF(IVGHatchPatterns, __uuidof(IVGHatchPatterns));
+_COM_SMARTPTR_TYPEDEF(IVGImage, __uuidof(IVGImage));
+_COM_SMARTPTR_TYPEDEF(IVGTransparency, __uuidof(IVGTransparency));
+_COM_SMARTPTR_TYPEDEF(IVGDimension, __uuidof(IVGDimension));
+_COM_SMARTPTR_TYPEDEF(IVGCommentAnnotation, __uuidof(IVGCommentAnnotation));
+_COM_SMARTPTR_TYPEDEF(IVGColorContext, __uuidof(IVGColorContext));
+_COM_SMARTPTR_TYPEDEF(IVGColorProfile, __uuidof(IVGColorProfile));
+_COM_SMARTPTR_TYPEDEF(IVGColorProfiles, __uuidof(IVGColorProfiles));
+_COM_SMARTPTR_TYPEDEF(IVGProofColorSettings, __uuidof(IVGProofColorSettings));
+_COM_SMARTPTR_TYPEDEF(IVGStructExportOptions, __uuidof(IVGStructExportOptions));
+_COM_SMARTPTR_TYPEDEF(IVGColorManager, __uuidof(IVGColorManager));
+_COM_SMARTPTR_TYPEDEF(IVGStructCreateOptions, __uuidof(IVGStructCreateOptions));
+_COM_SMARTPTR_TYPEDEF(IVGPalette, __uuidof(IVGPalette));
+_COM_SMARTPTR_TYPEDEF(IVGColors, __uuidof(IVGColors));
+_COM_SMARTPTR_TYPEDEF(IVGPalettes, __uuidof(IVGPalettes));
+_COM_SMARTPTR_TYPEDEF(IVGPaletteManager, __uuidof(IVGPaletteManager));
+_COM_SMARTPTR_TYPEDEF(IVGTraceSettings, __uuidof(IVGTraceSettings));
+_COM_SMARTPTR_TYPEDEF(IVGShapeRange, __uuidof(IVGShapeRange));
+_COM_SMARTPTR_TYPEDEF(IVGPowerClip, __uuidof(IVGPowerClip));
+_COM_SMARTPTR_TYPEDEF(IVGFill, __uuidof(IVGFill));
+_COM_SMARTPTR_TYPEDEF(IVGHatchFills, __uuidof(IVGHatchFills));
+_COM_SMARTPTR_TYPEDEF(IVGHatchLibrary, __uuidof(IVGHatchLibrary));
+_COM_SMARTPTR_TYPEDEF(IVGHatchFill, __uuidof(IVGHatchFill));
+_COM_SMARTPTR_TYPEDEF(IVGStructFontProperties, __uuidof(IVGStructFontProperties));
+_COM_SMARTPTR_TYPEDEF(IVGHatchLibraries, __uuidof(IVGHatchLibraries));
+_COM_SMARTPTR_TYPEDEF(IVGText, __uuidof(IVGText));
+_COM_SMARTPTR_TYPEDEF(IVGEffect, __uuidof(IVGEffect));
+_COM_SMARTPTR_TYPEDEF(IVGEffects, __uuidof(IVGEffects));
+_COM_SMARTPTR_TYPEDEF(IVGEffectBlend, __uuidof(IVGEffectBlend));
+_COM_SMARTPTR_TYPEDEF(IVGEffectControlPath, __uuidof(IVGEffectControlPath));
+_COM_SMARTPTR_TYPEDEF(IVGEffectEnvelope, __uuidof(IVGEffectEnvelope));
+_COM_SMARTPTR_TYPEDEF(IVGEffectTextOnPath, __uuidof(IVGEffectTextOnPath));
+_COM_SMARTPTR_TYPEDEF(IVGEffectDropShadow, __uuidof(IVGEffectDropShadow));
+_COM_SMARTPTR_TYPEDEF(IVGEffectContour, __uuidof(IVGEffectContour));
+_COM_SMARTPTR_TYPEDEF(IVGEffectLens, __uuidof(IVGEffectLens));
+_COM_SMARTPTR_TYPEDEF(IVGEffectPerspective, __uuidof(IVGEffectPerspective));
+_COM_SMARTPTR_TYPEDEF(IVGEffectInnerShadow, __uuidof(IVGEffectInnerShadow));
+_COM_SMARTPTR_TYPEDEF(IVGEffectExtrude, __uuidof(IVGEffectExtrude));
+_COM_SMARTPTR_TYPEDEF(IVGExtrudeVanishingPoint, __uuidof(IVGExtrudeVanishingPoint));
+_COM_SMARTPTR_TYPEDEF(IVGEffectDistortion, __uuidof(IVGEffectDistortion));
+_COM_SMARTPTR_TYPEDEF(IVGEffectPushPullDistortion, __uuidof(IVGEffectPushPullDistortion));
+_COM_SMARTPTR_TYPEDEF(IVGEffectZipperDistortion, __uuidof(IVGEffectZipperDistortion));
+_COM_SMARTPTR_TYPEDEF(IVGEffectTwisterDistortion, __uuidof(IVGEffectTwisterDistortion));
+_COM_SMARTPTR_TYPEDEF(IVGTextRange, __uuidof(IVGTextRange));
+_COM_SMARTPTR_TYPEDEF(IVGTextCharacters, __uuidof(IVGTextCharacters));
+_COM_SMARTPTR_TYPEDEF(IVGTextWords, __uuidof(IVGTextWords));
+_COM_SMARTPTR_TYPEDEF(IVGTextLines, __uuidof(IVGTextLines));
+_COM_SMARTPTR_TYPEDEF(IVGTextParagraphs, __uuidof(IVGTextParagraphs));
+_COM_SMARTPTR_TYPEDEF(IVGTextColumns, __uuidof(IVGTextColumns));
+_COM_SMARTPTR_TYPEDEF(IVGTextFrame, __uuidof(IVGTextFrame));
+_COM_SMARTPTR_TYPEDEF(IVGTextFrames, __uuidof(IVGTextFrames));
+_COM_SMARTPTR_TYPEDEF(IVGTextRanges, __uuidof(IVGTextRanges));
+_COM_SMARTPTR_TYPEDEF(IVGStyle, __uuidof(IVGStyle));
+_COM_SMARTPTR_TYPEDEF(IVGStyleOutline, __uuidof(IVGStyleOutline));
+_COM_SMARTPTR_TYPEDEF(IVGStyleFill, __uuidof(IVGStyleFill));
+_COM_SMARTPTR_TYPEDEF(IVGStyleCharacter, __uuidof(IVGStyleCharacter));
+_COM_SMARTPTR_TYPEDEF(IVGStyleParagraph, __uuidof(IVGStyleParagraph));
+_COM_SMARTPTR_TYPEDEF(IVGStyleFrame, __uuidof(IVGStyleFrame));
+_COM_SMARTPTR_TYPEDEF(IVGStyles, __uuidof(IVGStyles));
+_COM_SMARTPTR_TYPEDEF(IVGStyleTransparency, __uuidof(IVGStyleTransparency));
+_COM_SMARTPTR_TYPEDEF(IVGToolShape, __uuidof(IVGToolShape));
+_COM_SMARTPTR_TYPEDEF(IVGStyleSheet, __uuidof(IVGStyleSheet));
+_COM_SMARTPTR_TYPEDEF(IVGDataItems, __uuidof(IVGDataItems));
+_COM_SMARTPTR_TYPEDEF(IVGDataItem, __uuidof(IVGDataItem));
+_COM_SMARTPTR_TYPEDEF(IVGDataField, __uuidof(IVGDataField));
+_COM_SMARTPTR_TYPEDEF(IVGDataFields, __uuidof(IVGDataFields));
+_COM_SMARTPTR_TYPEDEF(IVGSymbol, __uuidof(IVGSymbol));
+_COM_SMARTPTR_TYPEDEF(IVGSymbolDefinition, __uuidof(IVGSymbolDefinition));
+_COM_SMARTPTR_TYPEDEF(IVGSymbolDefinitions, __uuidof(IVGSymbolDefinitions));
+_COM_SMARTPTR_TYPEDEF(IVGSymbolLibrary, __uuidof(IVGSymbolLibrary));
+_COM_SMARTPTR_TYPEDEF(IVGSymbolLibraries, __uuidof(IVGSymbolLibraries));
+_COM_SMARTPTR_TYPEDEF(IVGTreeNode, __uuidof(IVGTreeNode));
+_COM_SMARTPTR_TYPEDEF(IVGTreeNodes, __uuidof(IVGTreeNodes));
+_COM_SMARTPTR_TYPEDEF(IVGSpread, __uuidof(IVGSpread));
+_COM_SMARTPTR_TYPEDEF(IVGTreeManager, __uuidof(IVGTreeManager));
+_COM_SMARTPTR_TYPEDEF(IVGSpreads, __uuidof(IVGSpreads));
+_COM_SMARTPTR_TYPEDEF(IVGPageMarkup, __uuidof(IVGPageMarkup));
+_COM_SMARTPTR_TYPEDEF(IVGCommentThreads, __uuidof(IVGCommentThreads));
+_COM_SMARTPTR_TYPEDEF(IVGCommentThread, __uuidof(IVGCommentThread));
+_COM_SMARTPTR_TYPEDEF(IVGComment, __uuidof(IVGComment));
+_COM_SMARTPTR_TYPEDEF(IVGComments, __uuidof(IVGComments));
+_COM_SMARTPTR_TYPEDEF(IVGDocumentMarkup, __uuidof(IVGDocumentMarkup));
+_COM_SMARTPTR_TYPEDEF(IVGWindow, __uuidof(IVGWindow));
+_COM_SMARTPTR_TYPEDEF(IVGWindows, __uuidof(IVGWindows));
+_COM_SMARTPTR_TYPEDEF(IVGActiveView, __uuidof(IVGActiveView));
+_COM_SMARTPTR_TYPEDEF(IVGWorkspace, __uuidof(IVGWorkspace));
+_COM_SMARTPTR_TYPEDEF(IVGWorkspaces, __uuidof(IVGWorkspaces));
+_COM_SMARTPTR_TYPEDEF(IVGRecentFiles, __uuidof(IVGRecentFiles));
+_COM_SMARTPTR_TYPEDEF(IVGRecentFile, __uuidof(IVGRecentFile));
+_COM_SMARTPTR_TYPEDEF(IVGPageSizes, __uuidof(IVGPageSizes));
+_COM_SMARTPTR_TYPEDEF(IVGPageSize, __uuidof(IVGPageSize));
+_COM_SMARTPTR_TYPEDEF(IVGViews, __uuidof(IVGViews));
+_COM_SMARTPTR_TYPEDEF(IVGView, __uuidof(IVGView));
+
+//
+// Type library items
+//
+
+enum cdrFilter : int
+{
+    cdrAutoSense = 0,
+    cdr3DMF = 1559,
+    cdrAI = 1305,
+    cdrAI9 = 1333,
+    cdrAT1 = 1303,
+    cdrAVI = 1536,
+    cdrBMP = 769,
+    cdrCAL = 800,
+    cdrCDR = 1795,
+    cdrCDT = 1800,
+    cdrCDX = 1796,
+    cdrCGM = 1280,
+    cdrCLK = 1802,
+    cdrCMX5 = 1794,
+    cdrCMX6 = 1793,
+    cdrCPT = 1808,
+    cdrCPT10 = 1808,
+    cdrCPT11 = 1808,
+    cdrCPT8 = 1799,
+    cdrCPT9 = 1808,
+    cdrCPX = 1797,
+    cdrCUR = 785,
+    cdrDCS = 801,
+    cdrDOC = 2068,
+    cdrDRW = 1339,
+    cdrDSF = 1339,
+    cdrDWG = 1328,
+    cdrDXF = 1296,
+    cdrEMF = 1300,
+    cdrEPS = 1289,
+    cdrEPSPhotoPaint = 804,
+    cdrEXE = 786,
+    cdrFH = 1344,
+    cdrFMV = 1329,
+    cdrFPX = 806,
+    cdrGEM = 1284,
+    cdrGIF = 773,
+    cdrGIFAnimation = 1558,
+    cdrHPGL = 1281,
+    cdrHTML = 1557,
+    cdrICO = 784,
+    cdrIMG = 787,
+    cdrJP2 = 820,
+    cdrJPC = 821,
+    cdrJPEG = 774,
+    cdrJPG2000Import = 818,
+    cdrMAC = 791,
+    cdrMacWord5 = 2052,
+    cdrMET = 1291,
+    cdrMIF = 2165,
+    cdrNAP = 1292,
+    cdrOS2BMP = 792,
+    cdrPAT = 1801,
+    cdrPCD = 775,
+    cdrPCX = 770,
+    cdrPDF = 1333,
+    cdrPIC = 1334,
+    cdrPICT = 1293,
+    cdrPLT = 1281,
+    cdrPNG = 802,
+    cdrPP4 = 789,
+    cdrPP5 = 803,
+    cdrPPF = 819,
+    cdrPPT = 1548,
+    cdrPSD = 788,
+    cdrPSEncapsulated = 1289,
+    cdrPSInterpreted = 1290,
+    cdrQTM = 1542,
+    cdrQTVR = 1560,
+    cdrQuattroPro = 2067,
+    cdrRIFF = 807,
+    cdrRTF = 2053,
+    cdrSAM = 2063,
+    cdrSCT = 776,
+    cdrSHW = 1806,
+    cdrSVG = 1345,
+    cdrSVGZ = 1347,
+    cdrSWF = 1343,
+    cdrTGA = 771,
+    cdrTIFF = 772,
+    cdrTTF = 1302,
+    cdrTXT = 2048,
+    cdrVSD = 1315,
+    cdrWI = 793,
+    cdrWKS = 2066,
+    cdrWMF = 1294,
+    cdrWord2 = 2050,
+    cdrWord55 = 2051,
+    cdrWord95 = 2049,
+    cdrWord2000 = 2068,
+    cdrWP4 = 2058,
+    cdrWP50 = 2057,
+    cdrWP51 = 2056,
+    cdrWP9 = 2055,
+    cdrWPD = 2055,
+    cdrWPG = 1287,
+    cdrWPM = 2166,
+    cdrWS4 = 2164,
+    cdrWS6 = 2163,
+    cdrWS7 = 2060,
+    cdrWS2000 = 2061,
+    cdrWSD = 2061,
+    cdrWSW = 2059,
+    cdrWVL = 793,
+    cdrXCF = 816,
+    cdrXLS = 2064,
+    cdrXPM = 809,
+    cdrXY = 2062,
+    cdrCSL = 1810,
+    cdrDES = 1805,
+    cdrPSP = 822,
+    cdrRAW = 823,
+    cdrCGZ = 2315,
+    cdrCMX64 = 1811,
+    cdrPUB = 1349
+};
+
+enum cdrFillType : int
+{
+    cdrNoFill = 0,
+    cdrUniformFill = 1,
+    cdrFountainFill = 2,
+    cdrPostscriptFill = 3,
+    cdrTextureFill = 8,
+    cdrPatternFill = 9,
+    cdrHatchFill = 10
+};
+
+enum cdrFountainFillType : int
+{
+    cdrLinearFountainFill = 1,
+    cdrRadialFountainFill = 2,
+    cdrConicalFountainFill = 3,
+    cdrSquareFountainFill = 4
+};
+
+enum cdrFountainFillBlendType : int
+{
+    cdrDirectFountainFillBlend = 0,
+    cdrRainbowCWFountainFillBlend = 1,
+    cdrRainbowCCWFountainFillBlend = 2,
+    cdrCustomFountainFillBlend = 3
+};
+
+enum cdrPaletteType : int
+{
+    cdrFixedPalette = 0,
+    cdrCustomPalette = 1,
+    cdrDocumentPalette = 2
+};
+
+enum cdrPaletteID : int
+{
+    cdrCustom = 0,
+    cdrTRUMATCH = 1,
+    cdrPANTONEProcess = 2,
+    cdrPANTONECorel8 = 3,
+    cdrUniform = 7,
+    cdrFOCOLTONE = 8,
+    cdrSpectraMaster = 9,
+    cdrTOYO = 10,
+    cdrDIC = 11,
+    cdrLab = 13,
+    cdrHKS = 23,
+    cdrWebSafe = 25,
+    cdrPANTONEMetallic = 30,
+    cdrPANTONEPastelCoated = 31,
+    cdrPANTONEPastelUncoated = 32,
+    cdrPANTONEHexCoated = 33,
+    cdrPANTONEHexUncoated = 34,
+    cdrPANTONEMatte = 35,
+    cdrPANTONECoated = 36,
+    cdrPANTONEUncoated = 37,
+    cdrPANTONEProcessCoatedEURO = 38,
+    cdrPANTONESolid2ProcessEURO = 39,
+    cdrSVGPalette = 40,
+    cdrUserInks = 16
+};
+
+enum cdrFittedOrientation : int
+{
+    cdrRotateOrientation = 0,
+    cdrVerticalSkewOrientation = 1,
+    cdrHorizontalSkewOrientation = 2,
+    cdrUprightOrientation = 3,
+    cdrTransformOrientation = 4
+};
+
+enum cdrFittedVertPlacement : int
+{
+    cdrCustomVertPlacement = 0,
+    cdrBaselineVertPlacement = 1,
+    cdrAscenderVertPlacement = 2,
+    cdrDescenderVertPlacement = 3,
+    cdrCenterVertPlacement = 4
+};
+
+enum cdrFittedPlacement : int
+{
+    cdrLeftPlacement = 0,
+    cdrRightPlacement = 1,
+    cdrCenterPlacement = 2
+};
+
+enum cdrFittedQuadrant : int
+{
+    cdrLeftQuadrant = 0,
+    cdrRightQuadrant = 1,
+    cdrTopQuadrant = 2,
+    cdrBottomQuadrant = 3
+};
+
+enum cdrFontStyle : int
+{
+    cdrNormalFontStyle = 0,
+    cdrBoldFontStyle = 1,
+    cdrItalicFontStyle = 2,
+    cdrBoldItalicFontStyle = 3,
+    cdrThinFontStyle = 4,
+    cdrThinItalicFontStyle = 5,
+    cdrExtraLightFontStyle = 6,
+    cdrExtraLightItalicFontStyle = 7,
+    cdrMediumFontStyle = 8,
+    cdrMediumItalicFontStyle = 9,
+    cdrSemiBoldFontStyle = 10,
+    cdrSemiBoldItalicFontStyle = 11,
+    cdrExtraBoldFontStyle = 12,
+    cdrExtraBoldItalicFontStyle = 13,
+    cdrHeavyFontStyle = 14,
+    cdrHeavyItalicFontStyle = 15,
+    cdrMixedFontStyle = 16,
+    cdrLightFontStyle = 17,
+    cdrLightItalicFontStyle = 18
+};
+
+enum cdrFontLine : int
+{
+    cdrNoFontLine = 0,
+    cdrSingleThinFontLine = 1,
+    cdrSingleThinWordFontLine = 2,
+    cdrSingleThickFontLine = 3,
+    cdrSingleThickWordFontLine = 4,
+    cdrDoubleThinFontLine = 5,
+    cdrDoubleThinWordFontLine = 6,
+    cdrMixedFontLine = 7
+};
+
+enum cdrFontCase : int
+{
+    cdrNormalFontCase = 0,
+    cdrSmallCapsFontCase = 1,
+    cdrAllCapsFontCase = 2,
+    cdrMixedFontCase = 3
+};
+
+enum cdrFontPosition : int
+{
+    cdrNormalFontPosition = 0,
+    cdrSubscriptFontPosition = 1,
+    cdrSuperscriptFontPosition = 2,
+    cdrMixedFontPosition = 3
+};
+
+enum cdrAlignment : int
+{
+    cdrNoAlignment = 0,
+    cdrLeftAlignment = 1,
+    cdrRightAlignment = 2,
+    cdrCenterAlignment = 3,
+    cdrFullJustifyAlignment = 4,
+    cdrForceJustifyAlignment = 5,
+    cdrMixedAlignment = 6
+};
+
+enum cdrLineSpacingType : int
+{
+    cdrPercentOfCharacterHeightLineSpacing = 0,
+    cdrPointLineSpacing = 1,
+    cdrPercentOfPointSizeLineSpacing = 2,
+    cdrMixedLineSpacing = 3
+};
+
+enum cdrColorType : int
+{
+    cdrColorPantone = 1,
+    cdrColorCMYK = 2,
+    cdrColorCMY = 4,
+    cdrColorRGB = 5,
+    cdrColorHSB = 6,
+    cdrColorHLS = 7,
+    cdrColorBlackAndWhite = 8,
+    cdrColorGray = 9,
+    cdrColorYIQ = 11,
+    cdrColorLab = 12,
+    cdrColorPantoneHex = 14,
+    cdrColorRegistration = 20,
+    cdrColorSpot = 25,
+    cdrColorMixed = 99,
+    cdrColorUserInk = 22,
+    cdrColorMultiChannel = 26
+};
+
+enum cdrImageType : int
+{
+    cdrBlackAndWhiteImage = 0,
+    cdr16ColorsImage = 1,
+    cdrGrayscaleImage = 2,
+    cdrPalettedImage = 3,
+    cdrRGBColorImage = 4,
+    cdrCMYKColorImage = 5,
+    cdrDuotoneImage = 6,
+    cdrLABImage = 7,
+    cdrCMYKMultiChannelImage = 8,
+    cdrRGBMultiChannelImage = 9,
+    cdrSpotMultiChannelImage = 10
+};
+
+enum cdrViewType : int
+{
+    cdrSimpleWireframeView = 0,
+    cdrWireframeView = 1,
+    cdrDraftView = 2,
+    cdrNormalView = 3,
+    cdrEnhancedView = 4,
+    cdrEnhancedViewWithOverprints = 5,
+    cdrPixelView = 6
+};
+
+enum cdrWindowState : int
+{
+    cdrWindowNormal = 1,
+    cdrWindowMinimized = 2,
+    cdrWindowMaximized = 3,
+    cdrWindowRestore = 9
+};
+
+enum cdrPatternFillType : int
+{
+    cdrTwoColorPattern = 0,
+    cdrFullColorPattern = 1,
+    cdrBitmapPattern = 2
+};
+
+enum cdrTileOffsetType : int
+{
+    cdrTileOffsetRow = 0,
+    cdrTileOffsetColumn = 1
+};
+
+enum cdrPatternCanvasSize : int
+{
+    cdrPatternCanvas16x16 = 0,
+    cdrPatternCanvas32x32 = 1,
+    cdrPatternCanvas64x64 = 2,
+    cdrPatternCanvasCustom = 3
+};
+
+enum cdrFlipAxes : int
+{
+    cdrFlipHorizontal = 1,
+    cdrFlipVertical = 2,
+    cdrFlipBoth = 3
+};
+
+enum cdrTexturePropertyType : int
+{
+    cdrTexturePropertyNumeric = 0,
+    cdrTexturePropertyColorRGB = 1,
+    cdrTexturePropertyColorHSB = 2,
+    cdrTexturePropertyColorCMYK = 3
+};
+
+enum cdrWindowArrangeStyle : int
+{
+    cdrTileHorizontally = 0,
+    cdrTileVertically = 1,
+    cdrCascade = 2
+};
+
+enum cdrTransparencyType : int
+{
+    cdrNoTransparency = 0,
+    cdrUniformTransparency = 1,
+    cdrFountainTransparency = 2,
+    cdrPatternTransparency = 3,
+    cdrTextureTransparency = 4
+};
+
+enum cdrTransparencyAppliedTo : int
+{
+    cdrApplyToFill = 0,
+    cdrApplyToOutline = 1,
+    cdrApplyToFillAndOutline = 2
+};
+
+enum cdrImageMode : int
+{
+    cdrImageBlackWhite = 0,
+    cdrImageGrayscale16 = 1,
+    cdrImageGrayscale = 2,
+    cdrImagePaletted = 3,
+    cdrImageRGB = 4,
+    cdrImageCMYK = 5,
+    cdrImageDuotone = 6,
+    cdrImageLAB = 7,
+    cdrImageRGB48 = 8,
+    cdrImageMultiChannel = 9
+};
+
+enum cdrImagePaletteType : int
+{
+    cdrPaletteUniform = 0,
+    cdrPaletteStdVGA = 1,
+    cdrPaletteAdaptive = 2,
+    cdrPaletteOptimized = 3,
+    cdrPaletteBlackBody = 4,
+    cdrPaletteGrayscale = 5,
+    cdrPaletteSystem = 6,
+    cdrPaletteIE = 7,
+    cdrPaletteNetscape = 8,
+    cdrPaletteCustom = 9
+};
+
+enum cdrDitherType : int
+{
+    cdrDitherNone = 0,
+    cdrDitherOrdered = 1,
+    cdrDitherJarvis = 2,
+    cdrDitherStucki = 3,
+    cdrDitherFloyd = 4
+};
+
+enum cdrRenderType : int
+{
+    cdrRenderLineArt = 0,
+    cdrRenderOrdered = 1,
+    cdrRenderJarvis = 2,
+    cdrRenderStucki = 3,
+    cdrRenderFloyd = 4,
+    cdrRenderHalftone = 5,
+    cdrRenderCardinality = 6
+};
+
+enum cdrHalftoneType : int
+{
+    cdrHalftoneSquare = 0,
+    cdrHalftoneRound = 1,
+    cdrHalftoneLine = 2,
+    cdrHalftoneCross = 3,
+    cdrHalftoneFixed4x4 = 4,
+    cdrHalftoneFixed8x8 = 5
+};
+
+enum cdrDuotoneType : int
+{
+    cdrMonotone = 0,
+    cdrDuotone = 1,
+    cdrTritone = 2,
+    cdrQuadtone = 3
+};
+
+enum cdrUnit : int
+{
+    cdrTenthMicron = 0,
+    cdrInch = 1,
+    cdrFoot = 2,
+    cdrMillimeter = 3,
+    cdrCentimeter = 4,
+    cdrPixel = 5,
+    cdrMile = 6,
+    cdrMeter = 7,
+    cdrKilometer = 8,
+    cdrDidots = 9,
+    cdrAgate = 10,
+    cdrYard = 11,
+    cdrPica = 12,
+    cdrCicero = 13,
+    cdrPoint = 14,
+    cdrUnitQ = 15,
+    cdrUnitH = 16
+};
+
+enum cdrCompressionType : int
+{
+    cdrCompressionNone = 0,
+    cdrCompressionLZW = 1,
+    cdrCompressionPackBits = 2,
+    cdrCompressionHuffman = 3,
+    cdrCompressionCCITT3_1d = 4,
+    cdrCompressionCCITT3_2d = 5,
+    cdrCompressionCCITT4 = 6,
+    cdrCompressionRLE_LW = 7,
+    cdrCompressionZIP = 7,
+    cdrCompressionJPEG = 8
+};
+
+enum cdrMergeMode : int
+{
+    cdrMergeNormal = 0,
+    cdrMergeAND = 1,
+    cdrMergeOR = 2,
+    cdrMergeXOR = 3,
+    cdrMergeInvert = 6,
+    cdrMergeAdd = 7,
+    cdrMergeSubtract = 8,
+    cdrMergeMultiply = 9,
+    cdrMergeDivide = 10,
+    cdrMergeIfLighter = 11,
+    cdrMergeIfDarker = 12,
+    cdrMergeTexturize = 13,
+    cdrMergeColor = 14,
+    cdrMergeHue = 15,
+    cdrMergeSaturation = 16,
+    cdrMergeLightness = 17,
+    cdrMergeRed = 18,
+    cdrMergeGreen = 19,
+    cdrMergeBlue = 20,
+    cdrMergeDifference = 24,
+    cdrMergeBehind = 27,
+    cdrMergeScreen = 28,
+    cdrMergeOverlay = 29,
+    cdrMergeSoftlight = 30,
+    cdrMergeHardlight = 31,
+    cdrMergeDodge = 33,
+    cdrMergeBurn = 34,
+    cdrMergeExclusion = 36
+};
+
+enum cdrReferencePoint : int
+{
+    cdrTopRight = 1,
+    cdrTopMiddle = 2,
+    cdrTopLeft = 3,
+    cdrMiddleLeft = 4,
+    cdrBottomLeft = 5,
+    cdrBottomMiddle = 6,
+    cdrBottomRight = 7,
+    cdrMiddleRight = 8,
+    cdrCenter = 9
+};
+
+enum cdrEllipseType : int
+{
+    cdrEllipse = 0,
+    cdrArc = 1,
+    cdrPie = 2
+};
+
+enum cdrPolygonType : int
+{
+    cdrPolygon = 0,
+    cdrStar = 1,
+    cdrPolygonAsStar = 2
+};
+
+enum cdrSpiralType : int
+{
+    cdrSymmetric = 0,
+    cdrLogarithmic = 1
+};
+
+enum cdrShapeType : int
+{
+    cdrNoShape = 0,
+    cdrRectangleShape = 1,
+    cdrEllipseShape = 2,
+    cdrCurveShape = 3,
+    cdrPolygonShape = 4,
+    cdrBitmapShape = 5,
+    cdrTextShape = 6,
+    cdrGroupShape = 7,
+    cdrSelectionShape = 8,
+    cdrGuidelineShape = 9,
+    cdrBlendGroupShape = 10,
+    cdrExtrudeGroupShape = 11,
+    cdrOLEObjectShape = 12,
+    cdrContourGroupShape = 13,
+    cdrLinearDimensionShape = 14,
+    cdrBevelGroupShape = 15,
+    cdrDropShadowGroupShape = 16,
+    cdr3DObjectShape = 17,
+    cdrArtisticMediaGroupShape = 18,
+    cdrConnectorShape = 19,
+    cdrMeshFillShape = 20,
+    cdrCustomShape = 21,
+    cdrCustomEffectGroupShape = 22,
+    cdrSymbolShape = 23,
+    cdrHTMLFormObjectShape = 24,
+    cdrHTMLActiveObjectShape = 25,
+    cdrPerfectShape = 26,
+    cdrEPSShape = 27
+};
+
+enum cdrPageOrientation : int
+{
+    cdrPortrait = 0,
+    cdrLandscape = 1
+};
+
+enum cdrAntiAliasingType : int
+{
+    cdrNoAntiAliasing = 0,
+    cdrNormalAntiAliasing = 1,
+    cdrSupersampling = 2
+};
+
+enum cdrOutlineType : int
+{
+    cdrNoOutline = 0,
+    cdrOutline = 1,
+    cdrEnhancedOutline = 2
+};
+
+enum cdrTextType : int
+{
+    cdrArtisticText = 0,
+    cdrParagraphText = 1,
+    cdrArtisticFittedText = 2,
+    cdrParagraphFittedText = 3
+};
+
+enum cdrTextIndexingType : int
+{
+    cdrCharacterIndexing = 0,
+    cdrWordIndexing = 1,
+    cdrParagraphIndexing = 2
+};
+
+enum cdrTextFrames : int
+{
+    cdrThisFrameOnly = 0,
+    cdrStartAtThisFrame = 1,
+    cdrAllFrames = 2
+};
+
+enum cdrExportRange : int
+{
+    cdrAllPages = 0,
+    cdrCurrentPage = 1,
+    cdrSelection = 2
+};
+
+enum cdrThumbnailSize : int
+{
+    cdrNoThumbnail = 0,
+    cdr1KMonoThumbnail = 1,
+    cdr5KColorThumbnail = 2,
+    cdr10KColorThumbnail = 3
+};
+
+enum cdrFileVersion : int
+{
+    cdrCurrentVersion = 0,
+    cdrVersion5 = 5,
+    cdrVersion6 = 6,
+    cdrVersion7 = 7,
+    cdrVersion8 = 8,
+    cdrVersion9 = 9,
+    cdrVersion10 = 10,
+    cdrVersion11 = 11,
+    cdrVersion12 = 12,
+    cdrVersion13 = 13,
+    cdrVersion1 = 1,
+    cdrVersion2 = 2,
+    cdrVersion3 = 3,
+    cdrVersion4 = 4,
+    cdrVersion105 = 105,
+    cdrVersion14 = 14,
+    cdrVersion15 = 15,
+    cdrVersion16 = 16,
+    cdrVersion17 = 17,
+    cdrVersion18 = 18,
+    cdrVersion19 = 19,
+    cdrVersion20 = 20,
+    cdrVersion21 = 21,
+    cdrVersion22 = 22
+};
+
+enum cdrPointType : int
+{
+    cdrSnapPoint = 0,
+    cdrFreePoint = 1,
+    cdrSnapPointUser = 1,
+    cdrSnapPointObject = 2,
+    cdrSnapPointBBox = 4,
+    cdrSnapPointEdge = 8,
+    cdrSnapPointFree = 16,
+    cdrSnapPointAuto = 32
+};
+
+enum cdrPresetPoint : int
+{
+    cdrTopLeftPoint = -1,
+    cdrTopPoint = -2,
+    cdrTopRightPoint = -3,
+    cdrRightPoint = -4,
+    cdrBottomRightPoint = -5,
+    cdrBottomPoint = -6,
+    cdrBottomLeftPoint = -7,
+    cdrLeftPoint = -8,
+    cdrCenterPoint = -9,
+    cdrFirstPoint = -10,
+    cdrLastPoint = -11
+};
+
+enum cdrNodeType : int
+{
+    cdrCuspNode = 0,
+    cdrSmoothNode = 1,
+    cdrSymmetricalNode = 2,
+    cdrMixedNodes = 3
+};
+
+enum cdrSegmentType : int
+{
+    cdrLineSegment = 0,
+    cdrCurveSegment = 1,
+    cdrMixedSegments = 2
+};
+
+enum cdrSegmentOffsetType : int
+{
+    cdrAbsoluteSegmentOffset = 0,
+    cdrRelativeSegmentOffset = 1,
+    cdrParamSegmentOffset = 2
+};
+
+enum cdrCursorShape : int
+{
+    cdrCursorWinAppStarting = 0,
+    cdrCursorWinArrow = 1,
+    cdrCursorWinCross = 2,
+    cdrCursorWinHelp = 3,
+    cdrCursorWinIbeam = 4,
+    cdrCursorWinNo = 5,
+    cdrCursorWinSizeAll = 6,
+    cdrCursorWinSizeNeSw = 7,
+    cdrCursorWinSizeNs = 8,
+    cdrCursorWinSizeNwSe = 9,
+    cdrCursorWinSizeWe = 10,
+    cdrCursorWinUpArrow = 11,
+    cdrCursorWinWait = 12,
+    cdrCursorSmallcrosshair = 301,
+    cdrCursorPick = 305,
+    cdrCursorNodeEdit = 306,
+    cdrCursorEyeDrop = 326,
+    cdrCursorExtPick = 351,
+    cdrCursorPickNone = 305,
+    cdrCursorPenJoin = 380,
+    cdrCursorPickOvertarget = 396,
+    cdrCursorTrimSingle = 428,
+    cdrCursorWeldSingle = 430,
+    cdrCursorIntersectSingle = 432
+};
+
+enum cdrPositionOfPointOverShape : int
+{
+    cdrOutsideShape = 0,
+    cdrOnMarginOfShape = 1,
+    cdrInsideShape = 2
+};
+
+enum cdrOutlineLineCaps : int
+{
+    cdrOutlineUndefinedLineCaps = -1,
+    cdrOutlineButtLineCaps = 0,
+    cdrOutlineRoundLineCaps = 1,
+    cdrOutlineSquareLineCaps = 2
+};
+
+enum cdrOutlineLineJoin : int
+{
+    cdrOutlineUndefinedLineJoin = -1,
+    cdrOutlineMiterLineJoin = 0,
+    cdrOutlineRoundLineJoin = 1,
+    cdrOutlineBevelLineJoin = 2
+};
+
+enum cdrShapeEnumDirection : int
+{
+    cdrShapeEnumTopFirst = 0,
+    cdrShapeEnumBottomFirst = 1
+};
+
+enum cdrPageBackground : int
+{
+    cdrPageBackgroundNone = 0,
+    cdrPageBackgroundSolid = 1,
+    cdrPageBackgroundBitmap = 2
+};
+
+enum cdrEffectType : int
+{
+    cdrBlend = 0,
+    cdrExtrude = 1,
+    cdrEnvelope = 2,
+    cdrTextOnPath = 3,
+    cdrControlPath = 4,
+    cdrDropShadow = 5,
+    cdrContour = 6,
+    cdrDistortion = 7,
+    cdrPerspective = 8,
+    cdrLens = 9,
+    cdrCustomEffect = 10,
+    cdrInnerShadow = 11
+};
+
+enum cdrBlendMode : int
+{
+    cdrBlendSteps = 0,
+    cdrBlendSpacing = 1
+};
+
+enum cdrExtrudeType : int
+{
+    cdrExtrudeSmallBack = 0,
+    cdrExtrudeSmallFront = 1,
+    cdrExtrudeBigBack = 2,
+    cdrExtrudeBigFront = 3,
+    cdrExtrudeBackParallel = 4,
+    cdrExtrudeFrontParallel = 5
+};
+
+enum cdrExtrudeShading : int
+{
+    cdrExtrudeObjectFill = 0,
+    cdrExtrudeSolidFill = 1,
+    cdrExtrudeColorShading = 2
+};
+
+enum cdrFeatherType : int
+{
+    cdrFeatherInside = 0,
+    cdrFeatherMiddle = 1,
+    cdrFeatherOutside = 2,
+    cdrFeatherAverage = 3,
+    cdrFeatherGaussianBlur = 4
+};
+
+enum cdrEdgeType : int
+{
+    cdrEdgeLinear = 0,
+    cdrEdgeSquared = 1,
+    cdrEdgeFlat = 2,
+    cdrEdgeInverseSquared = 3,
+    cdrEdgeMesa = 4,
+    cdrEdgeGaussian = 5
+};
+
+enum cdrDropShadowType : int
+{
+    cdrDropShadowFlat = 0,
+    cdrDropShadowBottom = 1,
+    cdrDropShadowTop = 2,
+    cdrDropShadowLeft = 3,
+    cdrDropShadowRight = 4
+};
+
+enum cdrExtrudeLightPosition : int
+{
+    cdrLightFrontTopLeft = 0,
+    cdrLightFrontTop = 1,
+    cdrLightFrontTopRight = 2,
+    cdrLightFrontLeft = 3,
+    cdrLightFrontCenter = 4,
+    cdrLightFrontRight = 5,
+    cdrLightFrontBottomLeft = 6,
+    cdrLightFrontBottom = 7,
+    cdrLightFrontBottomRight = 8,
+    cdrLightBackTopLeft = 9,
+    cdrLightBackTop = 10,
+    cdrLightBackTopRight = 11,
+    cdrLightBackRight = 14,
+    cdrLightBackBottomRight = 17
+};
+
+enum cdrExtrudeVPType : int
+{
+    cdrVPLockedToShape = 0,
+    cdrVPLockedToPage = 1,
+    cdrVPShared = 2
+};
+
+enum cdrEnvelopeMode : int
+{
+    cdrEnvelopeHorizontal = 0,
+    cdrEnvelopeOriginal = 1,
+    cdrEnvelopePutty = 2,
+    cdrEnvelopeVertical = 3
+};
+
+enum cdrLensType : int
+{
+    cdrLensMagnify = 0,
+    cdrLensFishEye = 1,
+    cdrLensWireframe = 2,
+    cdrLensColorLimit = 3,
+    cdrLensColorAdd = 4,
+    cdrLensInvert = 5,
+    cdrLensBrighten = 6,
+    cdrLensTintedGrayscale = 7,
+    cdrLensHeatMap = 8,
+    cdrLensTransparency = 9,
+    cdrLensCustomColorMap = 10
+};
+
+enum cdrContourDirection : int
+{
+    cdrContourInside = 0,
+    cdrContourOutside = 1,
+    cdrContourToCenter = 2
+};
+
+enum cdrDistortionType : int
+{
+    cdrDistortionPushPull = 0,
+    cdrDistortionZipper = 1,
+    cdrDistortionTwister = 2,
+    cdrDistortionCustom = 3
+};
+
+enum cdrTools : int
+{
+    cdrToolNone = 0,
+    cdrToolPick = 1,
+    cdrToolNodeEdit = 2,
+    cdrToolKnife = 64,
+    cdrToolBezierKnife = 81,
+    cdrToolEraser = 68,
+    cdrToolDrawRectangle = 3,
+    cdrToolDrawEllipse = 4,
+    cdrToolDrawText = 7,
+    cdrToolDrawFreehand = 5,
+    cdrToolDrawNaturalPen = 103,
+    cdrToolDrawBezier = 6,
+    cdrToolHorizontalDimension = 54,
+    cdrToolVerticalDimension = 55,
+    cdrToolAutoDimension = 110,
+    cdrToolSlantedDimension = 56,
+    cdrToolLeaderText = 57,
+    cdrToolAngledDimension = 58,
+    cdrToolConnectorLines = 59,
+    cdrToolDrawPolygon = 60,
+    cdrToolDrawSpiral = 62,
+    cdrToolDrawGrid = 63,
+    cdrToolZoom = 66,
+    cdrToolPan = 67,
+    cdrToolFill = 71,
+    cdrToolTransparency = 72,
+    cdrToolInteractiveExtrude = 73,
+    cdrToolBlend = 74,
+    cdrToolRotate = 75,
+    cdrToolReflect = 76,
+    cdrToolScale = 77,
+    cdrToolSkew = 78,
+    cdrToolDistortion = 79,
+    cdrToolContour = 113,
+    cdrToolInsertHTMLFormObject = 111,
+    cdrToolDropShadow = 80,
+    cdrToolDrawConnector = 115,
+    cdrToolEyeDropper = 119
+};
+
+enum cdrGridType : int
+{
+    cdrGridDot = 0,
+    cdrGridLine = 1
+};
+
+enum cdrGuideType : int
+{
+    cdrAllGuides = -1,
+    cdrHorizontalGuide = 0,
+    cdrVerticalGuide = 1,
+    cdrSlantedGuide = 2
+};
+
+enum cdrURLRegion : int
+{
+    cdrURLRegionDefault = 0,
+    cdrURLRegionRectangle = 1,
+    cdrURLRegionShape = 2
+};
+
+enum cdrPanoseMatchingType : int
+{
+    cdrPanosePrompt = 0,
+    cdrPanoseTemporary = 1,
+    cdrPanosePermanent = 2
+};
+
+enum cdrDataFormatType : int
+{
+    cdrFormatGeneral = 0,
+    cdrFormatDateTime = 1,
+    cdrFormatLinearAngular = 2,
+    cdrFormatNumeric = 3
+};
+
+enum cdrShapeLevel : int
+{
+    cdrLevelGroup = 0,
+    cdrLevelContainer = 1,
+    cdrLevelLayer = 2,
+    cdrLevelPage = 3,
+    cdrLevelDocument = 4
+};
+
+enum cdrTriState : int
+{
+    cdrFalse = 0,
+    cdrTrue = -1,
+    cdrUndefined = -2
+};
+
+enum cdrTextChangeCase : int
+{
+    cdrTextSentenceCase = 0,
+    cdrTextLowerCase = 1,
+    cdrTextUpperCase = 2,
+    cdrTextTitleCase = 3,
+    cdrTextToggleCase = 4
+};
+
+enum cdrTextLanguage : int
+{
+    cdrLanguageMixed = -1,
+    cdrLanguageNone = 0,
+    cdrAfrikaans = 1078,
+    cdrAlbanian = 1052,
+    cdrArabicAlgeria = 5121,
+    cdrArabicBahrain = 15361,
+    cdrArabicEgypt = 3073,
+    cdrArabicIraq = 2049,
+    cdrArabicJordan = 11265,
+    cdrArabicKuwait = 13313,
+    cdrArabicLebanon = 12289,
+    cdrArabicLibya = 4097,
+    cdrArabicMorocco = 6145,
+    cdrArabicOman = 8193,
+    cdrArabicQatar = 16385,
+    cdrArabic = 1025,
+    cdrArabicSyria = 10241,
+    cdrArabicTunisia = 7169,
+    cdrArabicUAE = 14337,
+    cdrArabicYemen = 9217,
+    cdrArmenian = 1067,
+    cdrAssamese = 1101,
+    cdrAzeriCyrillic = 2092,
+    cdrAzeriLatin = 1068,
+    cdrBasque = 1069,
+    cdrByelorussian = 1059,
+    cdrBengali = 1093,
+    cdrBulgarian = 1026,
+    cdrBurmese = 1109,
+    cdrCatalan = 1027,
+    cdrChineseHongKong = 3076,
+    cdrChineseMacao = 5124,
+    cdrSimplifiedChinese = 2052,
+    cdrChineseSingapore = 4100,
+    cdrTraditionalChinese = 1028,
+    cdrCroatian = 1050,
+    cdrCzech = 1029,
+    cdrDanish = 1030,
+    cdrBelgianDutch = 2067,
+    cdrDutch = 1043,
+    cdrEnglishAUS = 3081,
+    cdrEnglishBelize = 10249,
+    cdrEnglishCanadian = 4105,
+    cdrEnglishCaribbean = 9225,
+    cdrEnglishIreland = 6153,
+    cdrEnglishJamaica = 8201,
+    cdrEnglishNewZealand = 5129,
+    cdrEnglishPhilippines = 13321,
+    cdrEnglishSouthAfrica = 7177,
+    cdrEnglishTrinidad = 11273,
+    cdrEnglishUK = 2057,
+    cdrEnglishUS = 1033,
+    cdrEnglishZimbabwe = 12297,
+    cdrEstonian = 1061,
+    cdrFaeroese = 1080,
+    cdrFarsi = 1065,
+    cdrFinnish = 1035,
+    cdrBelgianFrench = 2060,
+    cdrFrenchCameroon = 11276,
+    cdrFrenchCanadian = 3084,
+    cdrFrenchCotedIvoire = 12300,
+    cdrFrench = 1036,
+    cdrFrenchLuxembourg = 5132,
+    cdrFrenchMali = 13324,
+    cdrFrenchMonaco = 6156,
+    cdrFrenchReunion = 8204,
+    cdrFrenchSenegal = 10252,
+    cdrSwissFrench = 4108,
+    cdrFrenchWestIndies = 7180,
+    cdrFrenchZaire = 9228,
+    cdrFrisianNetherlands = 1122,
+    cdrGaelicIreland = 2108,
+    cdrGaelicScotland = 1084,
+    cdrGalician = 1110,
+    cdrGeorgian = 1079,
+    cdrGermanAustria = 3079,
+    cdrGerman = 1031,
+    cdrGermanLiechtenstein = 5127,
+    cdrGermanLuxembourg = 4103,
+    cdrSwissGerman = 2055,
+    cdrGreek = 1032,
+    cdrGujarati = 1095,
+    cdrHebrew = 1037,
+    cdrHindi = 1081,
+    cdrHungarian = 1038,
+    cdrIcelandic = 1039,
+    cdrIndonesian = 1057,
+    cdrItalian = 1040,
+    cdrSwissItalian = 2064,
+    cdrJapanese = 1041,
+    cdrKannada = 1099,
+    cdrKashmiri = 1120,
+    cdrKazakh = 1087,
+    cdrKhmer = 1107,
+    cdrKirghiz = 1088,
+    cdrKonkani = 1111,
+    cdrKorean = 1042,
+    cdrLao = 1108,
+    cdrLatvian = 1062,
+    cdrLithuanian = 1063,
+    cdrMacedonian = 1071,
+    cdrMalaysian = 1086,
+    cdrMalayBruneiDarussalam = 2110,
+    cdrMalayalam = 1100,
+    cdrMaltese = 1082,
+    cdrManipuri = 1112,
+    cdrMarathi = 1102,
+    cdrMongolian = 1104,
+    cdrNepali = 1121,
+    cdrNorwegianBokmol = 1044,
+    cdrNorwegianNynorsk = 2068,
+    cdrOriya = 1096,
+    cdrPolish = 1045,
+    cdrBrazilianPortuguese = 1046,
+    cdrPortuguese = 2070,
+    cdrPunjabi = 1094,
+    cdrRhaetoRomanic = 1047,
+    cdrRomanianMoldova = 2072,
+    cdrRomanian = 1048,
+    cdrRussianMoldova = 2073,
+    cdrRussian = 1049,
+    cdrSamiLappish = 1083,
+    cdrSanskrit = 1103,
+    cdrSerbianCyrillic = 3098,
+    cdrSerbianLatin = 2074,
+    cdrSindhi = 1113,
+    cdrSlovak = 1051,
+    cdrSlovenian = 1060,
+    cdrSorbian = 1070,
+    cdrSpanishArgentina = 11274,
+    cdrSpanishBolivia = 16394,
+    cdrSpanishChile = 13322,
+    cdrSpanishColombia = 9226,
+    cdrSpanishCostaRica = 5130,
+    cdrSpanishDominicanRepublic = 7178,
+    cdrSpanishEcuador = 12298,
+    cdrSpanishElSalvador = 17418,
+    cdrSpanishGuatemala = 4106,
+    cdrSpanishHonduras = 18442,
+    cdrMexicanSpanish = 2058,
+    cdrSpanishNicaragua = 19466,
+    cdrSpanishPanama = 6154,
+    cdrSpanishParaguay = 15370,
+    cdrSpanishPeru = 10250,
+    cdrSpanishPuertoRico = 20490,
+    cdrSpanishModernSort = 3082,
+    cdrSpanish = 1034,
+    cdrSpanishUruguay = 14346,
+    cdrSpanishVenezuela = 8202,
+    cdrSesotho = 1072,
+    cdrSutu = 1072,
+    cdrSwahili = 1089,
+    cdrSwedishFinland = 2077,
+    cdrSwedish = 1053,
+    cdrTajik = 1064,
+    cdrTamil = 1097,
+    cdrTatar = 1092,
+    cdrTelugu = 1098,
+    cdrThai = 1054,
+    cdrTibetan = 1105,
+    cdrTsonga = 1073,
+    cdrTswana = 1074,
+    cdrTurkish = 1055,
+    cdrTurkmen = 1090,
+    cdrUkrainian = 1058,
+    cdrUrdu = 1056,
+    cdrUzbekCyrillic = 2115,
+    cdrUzbekLatin = 1091,
+    cdrVenda = 1075,
+    cdrVietnamese = 1066,
+    cdrWelsh = 1106,
+    cdrXhosa = 1076,
+    cdrZulu = 1077
+};
+
+enum cdrTextCharSet : int
+{
+    cdrCharSetMixed = -1,
+    cdrCharSetANSI = 0,
+    cdrCharSetDefault = 1,
+    cdrCharSetSymbol = 2,
+    cdrCharSetShiftJIS = 128,
+    cdrCharSetHangul = 129,
+    cdrCharSetChineseBig5 = 136,
+    cdrCharSetOEM = 255,
+    cdrCharSetJohab = 130,
+    cdrCharSetHebrew = 177,
+    cdrCharSetArabic = 178,
+    cdrCharSetGreek = 161,
+    cdrCharSetTurkish = 162,
+    cdrCharSetVietnamese = 163,
+    cdrCharSetThai = 222,
+    cdrCharSetEastEurope = 238,
+    cdrCharSetRussian = 204,
+    cdrCharSetMac = 77,
+    cdrCharSetBaltic = 186
+};
+
+enum cdrVerticalAlignment : int
+{
+    cdrTopJustify = 0,
+    cdrCenterJustify = 1,
+    cdrBottomJustify = 2,
+    cdrFullJustify = 3
+};
+
+enum cdrCloneLinkType : int
+{
+    cdrCloneFill = 1,
+    cdrCloneOutline = 2,
+    cdrCloneShape = 4,
+    cdrCloneTransform = 8,
+    cdrCloneBmpColorMask = 16,
+    cdrCloneAll = 31
+};
+
+enum cdrWrapStyle : int
+{
+    cdrWrapNone = -1,
+    cdrWrapContourLeft = 0,
+    cdrWrapContourRight = 1,
+    cdrWrapContourStraddle = 2,
+    cdrWrapSquareLeft = 3,
+    cdrWrapSquareRight = 4,
+    cdrWrapSquareStraddle = 5,
+    cdrWrapSquareAboveBelow = 6
+};
+
+enum cdrCurveElementType : int
+{
+    cdrElementStart = 0,
+    cdrElementLine = 1,
+    cdrElementCurve = 2,
+    cdrElementControl = 3
+};
+
+enum cdrAddinFilter : int
+{
+    cdrAddinFilterNone = 0,
+    cdrAddinFilterShapeCreated = 1,
+    cdrAddinFilterNew = 2,
+    cdrAddinFilterExecute = 4
+};
+
+enum cdrAlignType : int
+{
+    cdrAlignLeft = 1,
+    cdrAlignRight = 2,
+    cdrAlignHCenter = 3,
+    cdrAlignTop = 4,
+    cdrAlignBottom = 8,
+    cdrAlignVCenter = 12
+};
+
+enum cdrDistributeType : int
+{
+    cdrDistributeLeft = 1,
+    cdrDistributeRight = 2,
+    cdrDistributeHCenter = 3,
+    cdrDistributeHSpacing = 4,
+    cdrDistributeTop = 8,
+    cdrDistributeBottom = 16,
+    cdrDistributeVCenter = 24,
+    cdrDistributeVSpacing = 32
+};
+
+enum cdrDimensionType : int
+{
+    cdrDimensionLinear = 0,
+    cdrDimensionAngular = 1
+};
+
+enum cdrLinearDimensionType : int
+{
+    cdrDimensionHorizontal = 0,
+    cdrDimensionVertical = 1,
+    cdrDimensionSlanted = 2
+};
+
+enum cdrDimensionStyle : int
+{
+    cdrDimensionStyleDecimal = 0,
+    cdrDimensionStyleFractional = 1,
+    cdrDimensionStyleEngineering = 2,
+    cdrDimensionStyleArchitectural = 3
+};
+
+enum cdrDimensionLinearUnits : int
+{
+    cdrDimensionUnitInX = 0,
+    cdrDimensionUnitIN = 1,
+    cdrDimensionUnitInches = 2,
+    cdrDimensionUnitFtX = 3,
+    cdrDimensionUnitFT = 4,
+    cdrDimensionUnitMI = 5,
+    cdrDimensionUnitMiles = 6,
+    cdrDimensionUnitYDS = 7,
+    cdrDimensionUnitYards = 8,
+    cdrDimensionUnitM = 9,
+    cdrDimensionUnitMeters = 10,
+    cdrDimensionUnitKM = 11,
+    cdrDimensionUnitKilometers = 12,
+    cdrDimensionUnitCM = 13,
+    cdrDimensionUnitCentimeters = 14,
+    cdrDimensionUnitMM = 15,
+    cdrDimensionUnitMillimeters = 16,
+    cdrDimensionUnitPicas = 17,
+    cdrDimensionUnitPoints = 18,
+    cdrDimensionUnitCiceros = 19,
+    cdrDimensionUnitDidots = 20
+};
+
+enum cdrDimensionPlacement : int
+{
+    cdrDimensionAboveLine = 0,
+    cdrDimensionWithinLine = 1,
+    cdrDimensionBelowLine = 2
+};
+
+enum cdrDimensionAngularUnits : int
+{
+    cdrDimensionUnitDegrees = 0,
+    cdrDimensionUnitRadians = 1,
+    cdrDimensionUnitGradians = 2,
+    cdrDimensionUnitDegreesSymbol = 3
+};
+
+enum cdrDimensionSymbol : int
+{
+    cdrDimensionSymbolNone = 0,
+    cdrDimensionSymbol1After = 1,
+    cdrDimensionSymbol1Before = 2,
+    cdrDimensionSymbol3After = 3,
+    cdrDimensionSymbol3Before = 4,
+    cdrDimensionSymbolDAfter = 5,
+    cdrDimensionSymbolDBefore = 6
+};
+
+enum cdrSymbolType : int
+{
+    cdrSymbolTypeSymbol = 1,
+    cdrSymbolTypeSprite = 2,
+    cdrSymbolTypeButton = 4
+};
+
+enum cdrCurveElementFlags : int
+{
+    cdrFlagSelected = 1,
+    cdrFlagUser = 4,
+    cdrFlagClosed = 8,
+    cdrFlagValid = 128
+};
+
+enum cdrPaletteSortMethod : int
+{
+    cdrSortReverse = 0,
+    cdrSortHue = 1,
+    cdrSortBrightness = 2,
+    cdrSortSaturation = 3,
+    cdrSortRGB = 4,
+    cdrSortHSB = 5,
+    cdrSortName = 6
+};
+
+enum cdrImportMode : int
+{
+    cdrImportFull = 0,
+    cdrImportCrop = 1,
+    cdrImportResample = 2
+};
+
+enum cdrImportTextFormatting : int
+{
+    cdrImportTextFontAndFormatting = 0,
+    cdrImportNoFormatting = 1,
+    cdrImportFormattingOnly = 2
+};
+
+enum cdrImportTableOutline : int
+{
+    cdrImportNoOutline = 0,
+    cdrImportTableOnly = 1,
+    cdrImportCellsOnly = 2,
+    cdrImportTableAndCells = 3
+};
+
+enum cdrDataType : int
+{
+    cdrDataTypeString = 0,
+    cdrDataTypeNumber = 1,
+    cdrDataTypeEvent = 2,
+    cdrDataTypeAction = 3
+};
+
+enum cdrPaletteVersion : int
+{
+    cdrPaletteVersion9 = 0,
+    cdrPaletteVersion12 = 1
+};
+
+enum cdrOLEType : int
+{
+    cdrOLEUnknown = 0,
+    cdrOLELinked = 1,
+    cdrOLEEmbedded = 2,
+    cdrOLEStatic = 3
+};
+
+enum cdrTextAlignOrigin : int
+{
+    cdrTextAlignFirstBaseline = 0,
+    cdrTextAlignLastBaseline = 1,
+    cdrTextAlignBoundingBox = 2
+};
+
+enum cdrCompareType : int
+{
+    cdrCompareShapeType = 1,
+    cdrCompareFillType = 2,
+    cdrCompareFill = 4,
+    cdrCompareOutlineWidth = 8,
+    cdrCompareOutlineColor = 16,
+    cdrCompareOutline = 32,
+    cdrCompareShapeWidth = 64,
+    cdrCompareShapeHeight = 128
+};
+
+enum cdrCompareCondition : int
+{
+    cdrCompareEquals = 0,
+    cdrCompareGreater = 1,
+    cdrCompareLess = 2,
+    cdrCompareAtLeast = 3,
+    cdrCompareAtMost = 4
+};
+
+enum cdrApplicationID : int
+{
+    cdrCorelDRAW = 0,
+    cdrCorelDESIGNER = 1
+};
+
+enum cdrApplicationClass : int
+{
+    cdrCreativeGraphics = 0,
+    cdrTechnicalGraphics = 1
+};
+
+enum cdrShapeChangeScope : int
+{
+    cdrShapeChangeFill = 1,
+    cdrShapeChangeOutline = 2,
+    cdrShapeChangeTransparency = 4,
+    cdrShapeChangeContent = 8,
+    cdrShapeChangeProperties = 16,
+    cdrShapeChangeLocking = 32,
+    cdrShapeChangeStyle = 64,
+    cdrShapeChangeTextAttr = 128
+};
+
+enum cdrTreeNodeType : int
+{
+    cdrShapeNode = 1,
+    cdrGroupNode = 2,
+    cdrLinkGroupNode = 3,
+    cdrSymbolNode = 4,
+    cdrRootNode = 17,
+    cdrPageNode = 18,
+    cdrLayerNode = 19
+};
+
+enum cdrTextTabAlignment : int
+{
+    cdrTextTabLeft = 0,
+    cdrTextTabRight = 1,
+    cdrTextTabCenter = 2,
+    cdrTextTabDecimal = 3
+};
+
+enum cdrTextEffect : int
+{
+    cdrTextEffectMixed = -1,
+    cdrTextEffectNone = 0,
+    cdrTextEffectBullet = 1,
+    cdrTextEffectDropCap = 2
+};
+
+enum clrMonitorCalibration : int
+{
+    clrMonitorCalibrationOff = 0,
+    clrMonitorCalibrationOn = 1,
+    clrMonitorSimulateComposite = 2,
+    clrMonitorSimulateSeparation = 3
+};
+
+enum clrRenderingIntent : int
+{
+    clrRenderAutomatic = 0,
+    clrRenderSaturation = 1,
+    clrRenderPerceptual = 2,
+    clrRenderRelative = 3,
+    clrRenderAbsolute = 4
+};
+
+enum clrColorEngine : int
+{
+    clrEngineKodak = 0,
+    clrEngineICM2 = 1,
+    clrEngineICM = 1,
+    clrEngineWCS = 2,
+    clrEngineAdobe = 3,
+    clrEngineNone = 4,
+    clrEngineLcms = 5
+};
+
+enum clrDeviceType : int
+{
+    clrMonitor = 0,
+    clrCompositePrinter = 1,
+    clrSeparationPrinter = 2,
+    clrScanner = 3,
+    clrInternalRGB = 4,
+    clrDeviceAll = -1,
+    clrDeviceDisplay = 0,
+    clrDeviceOutput = 1,
+    clrDeviceInput = 3,
+    clrDeviceColorSpace = 4
+};
+
+enum clrCompPrnCalibration : int
+{
+    clrCompPrnCalibrationOff = 0,
+    clrCompPrnCalibrationOn = 1,
+    clrCompPrnSimulateSeparation = 2
+};
+
+enum clrImportColorCorrection : int
+{
+    clrNoImportCorrection = 0,
+    clrApplyEmbeddedOrDefaultProfile = 1,
+    clrApplyCustomImportProfile = 2
+};
+
+enum clrExportColorCorrection : int
+{
+    clrNoExportCorrection = 0,
+    clrEmbedInternalRGBProfile = 1,
+    clrEmbedCustomExportProfile = 2
+};
+
+enum cdrFillMode : int
+{
+    cdrFillAlternate = 0,
+    cdrFillWinding = 1
+};
+
+enum cdrCommandCheckState : int
+{
+    cdrCommandUnchecked = 0,
+    cdrCommandChecked = 1
+};
+
+enum cdrAppStartupMode : int
+{
+    cdrStartupWelcomeScreen = 0,
+    cdrStartupNewDocument = 1,
+    cdrStartupOpenDocument = 2,
+    cdrStartupLastEditedDocument = 3,
+    cdrStartupNewFromTemplate = 4,
+    cdrStartupTutorial = 5,
+    cdrStartupDoNothing = 6
+};
+
+enum cdrDistanceMode : int
+{
+    cdrModeNoOffset = 0,
+    cdrModeOffset = 1,
+    cdrModeSpacing = 2
+};
+
+enum cdrDirection : int
+{
+    cdrLeft = 0,
+    cdrRight = 1,
+    cdrUp = 2,
+    cdrDown = 3
+};
+
+enum cdrShapeLinkType : int
+{
+    cdrLinkDirectDependents = 0,
+    cdrLinkDirectDependentsButClones = 1,
+    cdrLinkDirectDependentClones = 2,
+    cdrLinkAllDependents = 3,
+    cdrLinkAllDependentsButClones = 4,
+    cdrLinkAllDependentClones = 5,
+    cdrLinkDirectControls = 6,
+    cdrLinkDirectControlsButClones = 7,
+    cdrLinkAllConnections = 8
+};
+
+enum cdrEnvelopeCopyMode : int
+{
+    cdrEnvelopeUseOriginal = 0,
+    cdrEnvelopeCenter = 1,
+    cdrEnvelopeStretch = 2,
+    cdrEnvelopeFit = 3
+};
+
+enum cdrContourEndCapType : int
+{
+    cdrContourButtCap = 0,
+    cdrContourRoundCap = 1,
+    cdrContourSquareCap = 2
+};
+
+enum cdrContourCornerType : int
+{
+    cdrContourCornerBevel = 0,
+    cdrContourCornerOffsetBevel = 1,
+    cdrContourCornerRound = 2,
+    cdrContourCornerMiteredBevel = 3,
+    cdrContourCornerMiteredOffsetBevel = 4,
+    cdrContourCornerMiteredRound = 5
+};
+
+enum cdrTraceType : int
+{
+    cdrTraceLineArt = 1,
+    cdrTraceLogo = 2,
+    cdrTraceDetailedLogo = 3,
+    cdrTraceClipart = 4,
+    cdrTraceLowQualityImage = 5,
+    cdrTraceHighQualityImage = 6,
+    cdrTraceTechnical = 7,
+    cdrTraceLineDrawing = 8
+};
+
+enum cdrTraceBackgroundMode : int
+{
+    cdrTraceBackgroundAutomatic = 1,
+    cdrTraceBackgroundManual = 2
+};
+
+enum cdrTextPropertySet : int
+{
+    cdrTextPropertyAll = -1,
+    cdrTextPropertyFill = 1,
+    cdrTextPropertyOutline = 2,
+    cdrTextPropertyFont = 4,
+    cdrTextPropertySize = 8,
+    cdrTextPropertyStyle = 16
+};
+
+enum cdrDocLayout : int
+{
+    cdrDocFullPage = 0,
+    cdrDocBook = 1,
+    cdrDocBooklet = 2,
+    cdrDocTentCard = 3,
+    cdrDocSideFoldCard = 4,
+    cdrDocTopFoldCard = 5,
+    cdrDocTriFoldBrochure = 6
+};
+
+enum cdrCopyProperties : int
+{
+    cdrCopyOutlineColor = 1,
+    cdrCopyOutlinePen = 2,
+    cdrCopyFill = 4,
+    cdrCopyTextAttrs = 8
+};
+
+enum cdrOverprintState : int
+{
+    cdrOverprintInvalid = 1,
+    cdrOverprintOn = 2,
+    cdrOverprintOff = 4
+};
+
+enum cdrObjectSnapPointType : int
+{
+    cdrObjectPointTop = 1,
+    cdrObjectPointBottom = 2,
+    cdrObjectPointLeft = 3,
+    cdrObjectPointRight = 4
+};
+
+enum cdrConnectorType : int
+{
+    cdrConnectorStraight = 0,
+    cdrConnectorRightAngle = 1,
+    cdrConnectorBSpline = 2,
+    cdrConnectorBezier = 3,
+    cdrConnectorObject = 4
+};
+
+enum cdrCornerType : int
+{
+    cdrCornerTypeRound = 0,
+    cdrCornerTypeScallop = 1,
+    cdrCornerTypeChamfer = 2
+};
+
+enum clrColorModel : int
+{
+    clrColorModelRGB = 0,
+    clrColorModelCMYK = 1,
+    clrColorModelGrayscale = 2,
+    clrColorModelLab = 3,
+    clrColorModelHexachrome = 4
+};
+
+enum clrColorPolicyAction : int
+{
+    clrAssignBaselineProfile = 0,
+    clrConvertToBaselineProfile = 1,
+    clrConvertToEmbeddedProfile = 2,
+    clrAssignEmbeddedProfile = 3
+};
+
+enum cdrAlignDistributeH : int
+{
+    cdrAlignDistributeHNone = 0,
+    cdrAlignDistributeHAlignRight = 1,
+    cdrAlignDistributeHAlignLeft = 2,
+    cdrAlignDistributeHAlignCenter = 3,
+    cdrAlignDistributeHDistributeRight = 4,
+    cdrAlignDistributeHDistributeLeft = 5,
+    cdrAlignDistributeHDistributeCenter = 6,
+    cdrAlignDistributeHDistributeSpacing = 7
+};
+
+enum cdrAlignDistributeV : int
+{
+    cdrAlignDistributeVNone = 0,
+    cdrAlignDistributeVAlignTop = 1,
+    cdrAlignDistributeVAlignBottom = 2,
+    cdrAlignDistributeVAlignCenter = 3,
+    cdrAlignDistributeVDistributeTop = 4,
+    cdrAlignDistributeVDistributeBottom = 5,
+    cdrAlignDistributeVDistributeCenter = 6,
+    cdrAlignDistributeVDistributeSpacing = 7
+};
+
+enum cdrDistributeArea : int
+{
+    cdrDistributeToSelection = 0,
+    cdrDistributeToPage = 1,
+    cdrDistributeToRect = 2
+};
+
+enum cdrAlignShapesTo : int
+{
+    cdrAlignShapesToLastSelected = 0,
+    cdrAlignShapesToEdgeOfPage = 1,
+    cdrAlignShapesToCenterOfPage = 2,
+    cdrAlignShapesToGrid = 3,
+    cdrAlignShapesToPoint = 4
+};
+
+enum cdrOutlineJustification : int
+{
+    cdrOutlineJustificationUndefined = -1,
+    cdrOutlineJustificationMiddle = 0,
+    cdrOutlineJustificationInside = 1,
+    cdrOutlineJustificationOutside = 2
+};
+
+enum cdrFillStyleType : int
+{
+    cdrNoFillStyle = 0,
+    cdrUniformFillStyle = 1,
+    cdrFountainFillStyle = 2,
+    cdrPostscriptFillStyle = 3,
+    cdrTwoColorPatternFillStyle = 4,
+    cdrBitmapPatternFillStyle = 6,
+    cdrTextureFillStyle = 8,
+    cdrFullColorPatternFillStyle = 9,
+    cdrHatchFillStyle = 10
+};
+
+enum cdrFountainFillSpreadMethod : int
+{
+    cdrFountainFillSpreadMethodPad = 0,
+    cdrFountainFillSpreadMethodReflect = 1,
+    cdrFountainFillSpreadMethodRepeat = 2
+};
+
+enum cdrProjectPlane : int
+{
+    cdrProjectFront = 0,
+    cdrProjectRight = 1,
+    cdrProjectTop = 2
+};
+
+enum cdrOnScreenCurvePenStyle : int
+{
+    cdrOnScreenCurvePenSolid = 0,
+    cdrOnScreenCurvePenDash = 1,
+    cdrOnScreenCurvePenDot = 2,
+    cdrOnScreenCurvePenDashDot = 3,
+    cdrOnScreenCurvePenDashDotDot = 4,
+    cdrOnScreenCurvePenAlternatingDots = 5
+};
+
+enum cdrOnScreenTextAlign : int
+{
+    cdrLeftOnScreenText = 0,
+    cdrRightOnScreenText = 1,
+    cdrCenterOnScreenText = 2
+};
+
+enum cdrWeldFlags : int
+{
+    cdrWeldFlagNone = 0,
+    cdrWeldFlagFollowOriginalCurve = 1,
+    cdrWeldFlagUseTightTolerance = 2,
+    cdrWeldFlagAutoCloseOnFailure = 4,
+    cdrWeldFlagRemoveKnifeEdges = 8,
+    cdrWeldFlagAutoClose = 16
+};
+
+enum cdrWeldMethod : int
+{
+    cdrWeldMethodUnion = 0,
+    cdrWeldMethodIntersect = 1,
+    cdrWeldMethodSubtract = 2,
+    cdrWeldMethodXor = 3
+};
+
+enum cdrOutlineDashAdjust : int
+{
+    cdrOutlineDashAdjustUndefined = -1,
+    cdrOutlineDashAdjustNone = 0,
+    cdrOutlineDashAdjustFullLineScale = 1,
+    cdrOutlineDashAdjustEvenCorner = 2
+};
+
+enum cdrTextIndentLevelStyle : int
+{
+    cdrTextIndentLevelStyleBullet = 0,
+    cdrTextIndentLevelStyleLowercaseRomanNumeral = 1,
+    cdrTextIndentLevelStyleUppercaseRomanNumeral = 2,
+    cdrTextIndentLevelStyleLowercaseLatin = 3,
+    cdrTextIndentLevelStyleUppercaseLatin = 4,
+    cdrTextIndentLevelStyleHindi = 5,
+    cdrTextIndentLevelStyleKanjiDBNum1 = 6,
+    cdrTextIndentLevelStyleKanjiDBNum2 = 7,
+    cdrTextIndentLevelStyleKanjiDBNum3 = 8,
+    cdrTextIndentLevelStyleTaiwaneseDB2 = 9,
+    cdrTextIndentLevelStyleTaiwaneseDB3 = 10,
+    cdrTextIndentLevelStyleChineseDB2 = 11,
+    cdrTextIndentLevelStyleChineseDB3 = 12,
+    cdrTextIndentLevelStyleZodiac1 = 13,
+    cdrTextIndentLevelStyleZodiac2 = 14,
+    cdrTextIndentLevelStyleKatakanaAiueo = 15,
+    cdrTextIndentLevelStyleKatakanaAiueoDB = 16,
+    cdrTextIndentLevelStyleKatakanaIroha = 17,
+    cdrTextIndentLevelStyleKatakanaIrohaDB = 18,
+    cdrTextIndentLevelStyleArabicLeadingZero = 19,
+    cdrTextIndentLevelStyleKoreanGanada = 20,
+    cdrTextIndentLevelStyleLowercaseRussian = 21,
+    cdrTextIndentLevelStyleUppercaseRussian = 22,
+    cdrTextIndentLevelStyleDoubleByte = 23,
+    cdrTextIndentLevelStyleCircle = 24,
+    cdrTextIndentLevelStyleAlifBaTah = 25,
+    cdrTextIndentLevelStyleArabic = 26,
+    cdrTextIndentLevelStyleArabicSequential = 27,
+    cdrTextIndentLevelStyleSingleByte = 28,
+    cdrTextIndentLevelStyleHebrew = 29
+};
+
+enum cdrAuthorAuthentication : int
+{
+    cdrAuthorAuthenticationUndefined = -1,
+    cdrAuthorAuthenticationGuest = 0,
+    cdrAuthorAuthenticationGSuite = 1,
+    cdrAuthorAuthenticationO365 = 2
+};
+
+enum cdrCommentAnnotationType : int
+{
+    cdrCommentAnnotationFreehand = 0,
+    cdrCommentAnnotationHotspot = 1,
+    cdrCommentAnnotationArrow = 2,
+    cdrCommentAnnotationHighlight = 3,
+    cdrCommentAnnotationRectangle = 4,
+    cdrCommentAnnotationEllipse = 5,
+    cdrCommentAnnotationCoEditing = 6
+};
+
+enum cdrCommentStatus : int
+{
+    cdrCommentStatusOpen = 0,
+    cdrCommentStatusResolved = 1,
+    cdrCommentStatusReopened = 2
+};
+
+enum PrnFileMode : int
+{
+    prnSingleFile = 0,
+    prnSeparatePages = 1,
+    prnSeparatePlates = 2
+};
+
+enum PrnPrintRange : int
+{
+    prnWholeDocument = 0,
+    prnCurrentPage = 1,
+    prnSelection = 2,
+    prnPageRange = 3
+};
+
+enum PrnPlateType : int
+{
+    prnCyan = 0,
+    prnMagenta = 1,
+    prnYellow = 2,
+    prnBlack = 3,
+    prnOrange = 4,
+    prnGreen = 5,
+    prnSpot = 6
+};
+
+enum PrnRegistrationStyle : int
+{
+    prnStandard = 0,
+    prnLong = 1,
+    prnSquare = 2,
+    prnHalfInverted = 3,
+    prnCorel = 4
+};
+
+enum PrnPostScriptLevel : int
+{
+    prnPSLevel1 = 1,
+    prnPSLevel2 = 2,
+    prnPSLevel3 = 3
+};
+
+enum PrnPDFStartup : int
+{
+    prnPDFFullScreen = 0,
+    prnPDFPageOnly = 1,
+    prnPDFThumbnails = 2,
+    prnPDFOutlines = 3
+};
+
+enum PrnImageTrap : int
+{
+    prnTrapNormal = 0,
+    prnTrapSpread = 1,
+    prnTrapChoke = 2,
+    prnTrapCenter = 3
+};
+
+enum PrnTrapType : int
+{
+    prnLayerNormal = 0,
+    prnLayerTransparent = 1,
+    prnLayerOpaque = 2,
+    prnLayerOpaqueIgnore = 3
+};
+
+enum PrnColorMode : int
+{
+    prnModeFullColor = 0,
+    prnModeGrayscale = 1,
+    prnModeBlack = 2
+};
+
+enum PrnBitmapColorMode : int
+{
+    prnBitmapCMYK = 0,
+    prnBitmapRGB = 1,
+    prnBitmapGrayscale = 2,
+    prnBitmapNative = 3
+};
+
+enum PrnPageSet : int
+{
+    prnPageSetAll = 0,
+    prnPageSetOdd = 1,
+    prnPageSetEven = 2,
+    prnPageSetLeft = 3,
+    prnPageSetRight = 4
+};
+
+enum PrnPaperSize : int
+{
+    prnPaperSizeLetter = 1,
+    prnPaperSizeLetterSmall = 2,
+    prnPaperSizeTabloid = 3,
+    prnPaperSizeLedger = 4,
+    prnPaperSizeLegal = 5,
+    prnPaperSizeStatement = 6,
+    prnPaperSizeExecutive = 7,
+    prnPaperSizeA3 = 8,
+    prnPaperSizeA4 = 9,
+    prnPaperSizeA4Small = 10,
+    prnPaperSizeA5 = 11,
+    prnPaperSizeB4 = 12,
+    prnPaperSizeB5 = 13,
+    prnPaperSizeFolio = 14,
+    prnPaperSizeQuarto = 15,
+    prnPaperSize10x14 = 16,
+    prnPaperSize11x17 = 17,
+    prnPaperSizeNote = 18,
+    prnPaperSizeEnv9 = 19,
+    prnPaperSizeEnv10 = 20,
+    prnPaperSizeEnv11 = 21,
+    prnPaperSizeEnv12 = 22,
+    prnPaperSizeEnv14 = 23,
+    prnPaperSizeCSheet = 24,
+    prnPaperSizeDSheet = 25,
+    prnPaperSizeESheet = 26,
+    prnPaperSizeEnvDL = 27,
+    prnPaperSizeEnvC5 = 28,
+    prnPaperSizeEnvC3 = 29,
+    prnPaperSizeEnvC4 = 30,
+    prnPaperSizeEnvC6 = 31,
+    prnPaperSizeEnvC65 = 32,
+    prnPaperSizeISOB4 = 33,
+    prnPaperSizeISOB5 = 34,
+    prnPaperSizeISOB6 = 35,
+    prnPaperSizeEnvItaly = 36,
+    prnPaperSizeEnvMonarch = 37,
+    prnPaperSizeEnvPersonal = 38,
+    prnPaperSizeFanfoldUS = 39,
+    prnPaperSizeFanfoldGerman = 40,
+    prnPaperSizeFanfoldLglGerman = 41,
+    prnPaperSizeJapanesePostcard = 43,
+    prnPaperSize9x11 = 44,
+    prnPaperSize10x11 = 45,
+    prnPaperSize15x11 = 46,
+    prnPaperSizeEnvInvite = 47,
+    prnPaperSizeLetterExtra = 50,
+    prnPaperSizeLegalExtra = 51,
+    prnPaperSizeTabloidExtra = 52,
+    prnPaperSizeA4Extra = 53,
+    prnPaperSizeLetterTransverse = 54,
+    prnPaperSizeA4Transverse = 55,
+    prnPaperSizeLetterExtraTransverse = 56,
+    prnPaperSizeAPlus = 57,
+    prnPaperSizeBPlus = 58,
+    prnPaperSizeLetterPlus = 59,
+    prnPaperSizeA4Plus = 60,
+    prnPaperSizeA5Transverse = 61,
+    prnPaperSizeB5Transverse = 62,
+    prnPaperSizeA3Extra = 63,
+    prnPaperSizeA5Extra = 64,
+    prnPaperSizeB5Extra = 65,
+    prnPaperSizeA2 = 66,
+    prnPaperSizeA3Transverse = 67,
+    prnPaperSizeA3ExtraTransverse = 68,
+    prnPaperSizeJapaneseDblPostcard = 69,
+    prnPaperSizeA6 = 70,
+    prnPaperSizeLetterRotated = 75,
+    prnPaperSizeA3Rotated = 76,
+    prnPaperSizeA4Rotated = 77,
+    prnPaperSizeA5Rotated = 78,
+    prnPaperSizeB4JISRotated = 79,
+    prnPaperSizeB5JISRotated = 80,
+    prnPaperSizeJapanesePostcardRotated = 81,
+    prnPaperSizeJapaneseDlbPostcardRotated = 82,
+    prnPaperSizeA6Rotated = 83,
+    prnPaperSizeB6JIS = 88,
+    prnPaperSizeB6JISRotated = 89,
+    prnPaperSize12x11 = 90,
+    prnPaperSizeP16K = 93,
+    prnPaperSizeP32K = 94,
+    prnPaperSizeP32KBig = 95,
+    prnPaperSizePEnv1 = 96,
+    prnPaperSizePEnv2 = 97,
+    prnPaperSizePEnv3 = 98,
+    prnPaperSizePEnv4 = 99,
+    prnPaperSizePEnv5 = 100,
+    prnPaperSizePEnv6 = 101,
+    prnPaperSizePEnv7 = 102,
+    prnPaperSizePEnv8 = 103,
+    prnPaperSizePEnv9 = 104,
+    prnPaperSizePEnv10 = 105,
+    prnPaperSizeP16KRotated = 106,
+    prnPaperSizeP32KRotated = 107,
+    prnPaperSizeP32KBigRotated = 108,
+    prnPaperSizePEnv1Rotated = 109,
+    prnPaperSizePEnv2Rotated = 110,
+    prnPaperSizePEnv3Rotated = 111,
+    prnPaperSizePEnv4Rotated = 112,
+    prnPaperSizePEnv5Rotated = 113,
+    prnPaperSizePEnv6Rotated = 114,
+    prnPaperSizePEnv7Rotated = 115,
+    prnPaperSizePEnv8Rotated = 116,
+    prnPaperSizePEnv9Rotated = 117,
+    prnPaperSizePEnv10Rotated = 118
+};
+
+enum PrnPaperOrientation : int
+{
+    prnPaperPortrait = 1,
+    prnPaperLandscape = 2,
+    prnPaperRotatedLandscape = 3
+};
+
+enum PrnPlaceType : int
+{
+    prnPlaceAsInDocument = 0,
+    prnPlaceFitToPage = 1,
+    prnPlaceCenterPage = 2,
+    prnPlaceCenterTop = 3,
+    prnPlaceCenterLeft = 4,
+    prnPlaceCenterRight = 5,
+    prnPlaceCenterBottom = 6,
+    prnPlaceLeftTop = 7,
+    prnPlaceRightTop = 8,
+    prnPlaceLeftBottom = 9,
+    prnPlaceRightBottom = 10,
+    prnPlaceCustom = 11
+};
+
+enum PrnObjectsColorMode : int
+{
+    prnObjectsCMYK = 0,
+    prnObjectsRGB = 1,
+    prnObjectsGrayscale = 2,
+    prnObjectsNative = 3
+};
+
+enum PrnPageMatchingMode : int
+{
+    prnPageMatchPrinterDefault = 0,
+    prnPageMatchOrientation = 1,
+    prnPageMatchSizeAndOrientation = 2
+};
+
+enum pdfExportRange : int
+{
+    pdfWholeDocument = 0,
+    pdfCurrentPage = 1,
+    pdfSelection = 2,
+    pdfPageRange = 3
+};
+
+enum pdfBitmapCompressionType : int
+{
+    pdfNone = 0,
+    pdfLZW = 1,
+    pdfJPEG = 2,
+    pdfZIP = 3,
+    pdfJP2 = 4
+};
+
+enum pdfEncodingType : int
+{
+    pdfASCII85 = 0,
+    pdfBinary = 1
+};
+
+enum pdfColorMode : int
+{
+    pdfRGB = 0,
+    pdfCMYK = 1,
+    pdfGrayscale = 2,
+    pdfNative = 3
+};
+
+enum pdfColorProfile : int
+{
+    pdfCompositeProfile = 0,
+    pdfSeparationProfile = 1
+};
+
+enum pdfEPSAs : int
+{
+    pdfPostscript = 0,
+    pdfPreview = 1
+};
+
+enum pdfDisplayOnStart : int
+{
+    pdfPageOnly = 0,
+    pdfFullScreen = 1,
+    pdfBookmarks = 2,
+    pdfThumbnails = 3
+};
+
+enum pdfVersion : int
+{
+    pdfVersion12 = 0,
+    pdfVersion13 = 1,
+    pdfVersionPDFX1 = 2,
+    pdfVersion14 = 3,
+    pdfVersionPDFX1a = 4,
+    pdfVersionPDFX3 = 5,
+    pdfVersion15 = 6,
+    pdfVersionPDFA1b = 7,
+    pdfVersion17 = 8,
+    pdfVersion17_Acrobat9 = 9,
+    pdfVersionPDFX4 = 10
+};
+
+enum pdfTextExportMode : int
+{
+    pdfTextAsUnicode = 0,
+    pdfTextAsAscii = 1
+};
+
+enum pdfPrintPermissions : int
+{
+    pdfPrintPermissionNone = 0,
+    pdfPrintPermissionLowResolution = 1,
+    pdfPrintPermissionHighResolution = 2
+};
+
+enum pdfEditPermissions : int
+{
+    pdfEditPermissionNone = 0,
+    pdfEditPermissionInsertDeleteRotatePage = 1,
+    pdfEditPermissionAny = 2
+};
+
+enum pdfEncryptionType : int
+{
+    pdfEncryptTypeNone = 0,
+    pdfEncryptTypeStandard = 1,
+    pdfEncryptTypeAES = 2,
+    pdfEncryptTypeAES256 = 3
+};
+
+enum pdfSpotType : int
+{
+    pdfSpotAsSpot = 0,
+    pdfSpotAsRGB = 1,
+    pdfSpotAsCMYK = 2,
+    pdfSpotAsGray = 3
+};
+
+enum cuiBarType : int
+{
+    cuiBarTypeNormal = 0,
+    cuiBarTypeMenuBar = 1,
+    cuiBarTypePopup = 2,
+    cuiBarTypeStatusBar = 3,
+    cuiBarTypePropertyBar = 4
+};
+
+enum cuiBarPosition : int
+{
+    cuiBarLeft = 0,
+    cuiBarTop = 1,
+    cuiBarRight = 2,
+    cuiBarBottom = 3,
+    cuiBarFloating = 4
+};
+
+enum cuiBarProtection : int
+{
+    cuiBarNoProtection = 0,
+    cuiBarNoCustomize = 1,
+    cuiBarNoMove = 4,
+    cuiBarNoChangeVisible = 8,
+    cuiBarNoChangeDock = 16,
+    cuiBarNoVerticalDock = 32,
+    cuiBarNoHorizontalDock = 64
+};
+
+enum cuiWindowState : int
+{
+    cuiWindowStateRestored = 0,
+    cuiWindowStateMaximized = 1,
+    cuiWindowStateMinimized = 2
+};
+
+enum cuiDockHostOrientation : int
+{
+    cuiDockHostHorizontal = 0,
+    cuiDockHostVertical = 1
+};
+
+enum cuiDockItemType : int
+{
+    cuiDockItemDockHost = 0,
+    cuiDockItemViewHost = 1
+};
+
+enum cuiDockOperation : int
+{
+    cuiDockOperationInsert = 0,
+    cuiDockOperationSplitTopLeft = 1,
+    cuiDockOperationSplitBottomRight = 2
+};
+
+enum cuiMessageBoxFlags : int
+{
+    Default = 0,
+    NoAutoWrap = 1
+};
+
+enum cuiTaskPriority : int
+{
+    kMaybeLater = 0,
+    kLater = 1,
+    kSoon = 4,
+    kASAP = 3
+};
+    const LPSTR cdrCmdCategoryMacros = (char*) "2cc24a3e-fe24-4708-9a74-9c75406eebcd";
+    const LPSTR cdrCmdCategoryPlugins = (char*) "ab489730-8791-45d2-a825-b78bbe0d6a5d";
+
+#pragma pack(push, 8)
+
+struct __declspec(uuid("f51a0301-8d23-11d2-89e7-0000861ebbd6"))
+CurveElement
+{
+    double PositionX;
+    double PositionY;
+    enum cdrCurveElementType ElementType;
+    enum cdrNodeType NodeType;
+    unsigned char Flags;
+};
+
+#pragma pack(pop)
+
+struct __declspec(uuid("f5200003-8d23-0001-89e7-0000861ebbd6"))
+ICorelImportFilter : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetHasDialog))
+    VARIANT_BOOL HasDialog;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Reset ( );
+    HRESULT Finish ( );
+    VARIANT_BOOL GetHasDialog ( );
+    VARIANT_BOOL ShowDialog (
+        long hWnd );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_Finish ( ) = 0;
+      virtual HRESULT __stdcall get_HasDialog (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog (
+        /*[in]*/ long hWnd,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("f5200000-8d23-0002-89e7-0000861ebbd6"))
+ICorelExportFilter : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetHasDialog))
+    VARIANT_BOOL HasDialog;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Reset ( );
+    HRESULT Finish ( );
+    VARIANT_BOOL GetHasDialog ( );
+    VARIANT_BOOL ShowDialog (
+        long hWnd );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_Finish ( ) = 0;
+      virtual HRESULT __stdcall get_HasDialog (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog (
+        /*[in]*/ long hWnd,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0001-42a0-5980-43a3-7aa71461482c"))
+ICUIControlData : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _variant_t GetValue (
+        _bstr_t PropertyName );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_GetValue (
+        /*[in]*/ BSTR PropertyName,
+        /*[out,retval]*/ VARIANT * prop ) = 0;
+};
+
+struct __declspec(uuid("9cee0002-42a0-5980-43a3-7aa71461482c"))
+ICUIAutomation : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetNumItemsOnBar (
+        _bstr_t GuidBar );
+    _bstr_t GetItem (
+        _bstr_t GuidBar,
+        long Index,
+        VARIANT_BOOL * HasSubBar );
+    long GetItemInstanceHwnd (
+        _bstr_t GuidParent,
+        _bstr_t GuidItem );
+    VARIANT_BOOL GetSubBar (
+        _bstr_t GuidBar,
+        BSTR * GuidSubBar );
+    VARIANT_BOOL ShowBar (
+        _bstr_t GuidBar,
+        VARIANT_BOOL Show );
+    _bstr_t GetCaptionText (
+        _bstr_t GuidItem );
+    HRESULT Invoke (
+        _bstr_t GuidItem );
+    VARIANT_BOOL IsEnabled (
+        _bstr_t GuidItem );
+    VARIANT_BOOL GetItemScreenRect (
+        _bstr_t GuidParent,
+        _bstr_t GuidItem,
+        long * TopLeftX,
+        long * TopLeftY,
+        long * Width,
+        long * Height );
+    HRESULT InvokeItem (
+        _bstr_t GuidItem );
+    HRESULT InvokeDialogItem (
+        _bstr_t GuidDialog,
+        _bstr_t GuidItem );
+    ICUIControlDataPtr GetControlData (
+        _bstr_t Guid );
+    ICUIControlDataPtr GetControlDataEx (
+        _bstr_t GuidParent,
+        _bstr_t Guid );
+    VARIANT_BOOL GetActiveMenuItemScreenRect (
+        int itemIndex,
+        long * TopLeftX,
+        long * TopLeftY,
+        long * Width,
+        long * Height );
+    _bstr_t GetActiveMenuItemGuid (
+        int itemIndex );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_GetNumItemsOnBar (
+        /*[in]*/ BSTR GuidBar,
+        /*[out,retval]*/ long * NumItems ) = 0;
+      virtual HRESULT __stdcall raw_GetItem (
+        /*[in]*/ BSTR GuidBar,
+        /*[in]*/ long Index,
+        /*[out]*/ VARIANT_BOOL * HasSubBar,
+        /*[out,retval]*/ BSTR * GuidItem ) = 0;
+      virtual HRESULT __stdcall raw_GetItemInstanceHwnd (
+        /*[in]*/ BSTR GuidParent,
+        /*[in]*/ BSTR GuidItem,
+        /*[out,retval]*/ long * hWnd ) = 0;
+      virtual HRESULT __stdcall raw_GetSubBar (
+        /*[in]*/ BSTR GuidBar,
+        /*[out]*/ BSTR * GuidSubBar,
+        /*[out,retval]*/ VARIANT_BOOL * HasSubBar ) = 0;
+      virtual HRESULT __stdcall raw_ShowBar (
+        /*[in]*/ BSTR GuidBar,
+        /*[in]*/ VARIANT_BOOL Show,
+        /*[out,retval]*/ VARIANT_BOOL * WasShown ) = 0;
+      virtual HRESULT __stdcall raw_GetCaptionText (
+        /*[in]*/ BSTR GuidItem,
+        /*[out,retval]*/ BSTR * Caption ) = 0;
+      virtual HRESULT __stdcall raw_Invoke (
+        /*[in]*/ BSTR GuidItem ) = 0;
+      virtual HRESULT __stdcall raw_IsEnabled (
+        /*[in]*/ BSTR GuidItem,
+        /*[out,retval]*/ VARIANT_BOOL * IsEnabled ) = 0;
+      virtual HRESULT __stdcall raw_GetItemScreenRect (
+        /*[in]*/ BSTR GuidParent,
+        /*[in]*/ BSTR GuidItem,
+        /*[out]*/ long * TopLeftX,
+        /*[out]*/ long * TopLeftY,
+        /*[out]*/ long * Width,
+        /*[out]*/ long * Height,
+        /*[out,retval]*/ VARIANT_BOOL * IsOnScreen ) = 0;
+      virtual HRESULT __stdcall raw_InvokeItem (
+        /*[in]*/ BSTR GuidItem ) = 0;
+      virtual HRESULT __stdcall raw_InvokeDialogItem (
+        /*[in]*/ BSTR GuidDialog,
+        /*[in]*/ BSTR GuidItem ) = 0;
+      virtual HRESULT __stdcall raw_GetControlData (
+        /*[in]*/ BSTR Guid,
+        /*[out,retval]*/ struct ICUIControlData * * Result ) = 0;
+      virtual HRESULT __stdcall raw_GetControlDataEx (
+        /*[in]*/ BSTR GuidParent,
+        /*[in]*/ BSTR Guid,
+        /*[out,retval]*/ struct ICUIControlData * * Result ) = 0;
+      virtual HRESULT __stdcall raw_GetActiveMenuItemScreenRect (
+        /*[in]*/ int itemIndex,
+        /*[out]*/ long * TopLeftX,
+        /*[out]*/ long * TopLeftY,
+        /*[out]*/ long * Width,
+        /*[out]*/ long * Height,
+        /*[out,retval]*/ VARIANT_BOOL * IsOnScreen ) = 0;
+      virtual HRESULT __stdcall raw_GetActiveMenuItemGuid (
+        /*[in]*/ int itemIndex,
+        /*[out,retval]*/ BSTR * GuidItem ) = 0;
+};
+
+struct __declspec(uuid("9cee0008-42a0-5980-43a3-7aa71461482c"))
+ICUIControl : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCaption,put=PutCaption))
+    _bstr_t Caption;
+    __declspec(property(get=GetDescriptionText,put=PutDescriptionText))
+    _bstr_t DescriptionText;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    long Height;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    long Width;
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetParameter,put=PutParameter))
+    _variant_t Parameter;
+    __declspec(property(get=GetTag,put=PutTag))
+    _bstr_t Tag;
+    __declspec(property(get=GetToolTipText,put=PutToolTipText))
+    _bstr_t ToolTipText;
+    __declspec(property(get=GetVisible,put=PutVisible))
+    VARIANT_BOOL Visible;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetCaption ( );
+    void PutCaption (
+        _bstr_t pVal );
+    _bstr_t GetDescriptionText ( );
+    void PutDescriptionText (
+        _bstr_t pVal );
+    long GetHeight ( );
+    void PutHeight (
+        long pVal );
+    long GetWidth ( );
+    void PutWidth (
+        long pVal );
+    _bstr_t GetID ( );
+    _variant_t GetParameter ( );
+    void PutParameter (
+        const _variant_t & pVal );
+    _bstr_t GetTag ( );
+    void PutTag (
+        _bstr_t pVal );
+    _bstr_t GetToolTipText ( );
+    void PutToolTipText (
+        _bstr_t pVal );
+    VARIANT_BOOL GetVisible ( );
+    void PutVisible (
+        VARIANT_BOOL pVal );
+    HRESULT SetIcon (
+        long RowIndex,
+        long ColumnIndex );
+    HRESULT SetCustomIcon (
+        _bstr_t ImageFile );
+    HRESULT SetIcon2 (
+        _bstr_t Icon );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Caption (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Caption (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DescriptionText (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_DescriptionText (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Parameter (
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall put_Parameter (
+        /*[in]*/ VARIANT pVal ) = 0;
+      virtual HRESULT __stdcall get_Tag (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Tag (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_ToolTipText (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_ToolTipText (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Visible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Visible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetIcon (
+        /*[in]*/ long RowIndex,
+        /*[in]*/ long ColumnIndex ) = 0;
+      virtual HRESULT __stdcall raw_SetCustomIcon (
+        /*[in]*/ BSTR ImageFile ) = 0;
+      virtual HRESULT __stdcall raw_SetIcon2 (
+        /*[in]*/ BSTR Icon ) = 0;
+};
+
+struct __declspec(uuid("9cee0007-42a0-5980-43a3-7aa71461482c"))
+ICUIControls : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    ICUIControlPtr Item[];
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    ICUIControlPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    ICUIControlPtr Add (
+        _bstr_t ControlID,
+        long Index,
+        VARIANT_BOOL Temporary );
+    ICUIControlPtr AddCustomButton (
+        _bstr_t CategoryID,
+        _bstr_t Command,
+        long Index,
+        VARIANT_BOOL Temporary );
+    ICUIControlPtr AddCustomControl (
+        _bstr_t ClassName,
+        _bstr_t AssemblyPath,
+        long Index,
+        VARIANT_BOOL Temporary );
+    ICUIControlPtr AddToggleButton (
+        _bstr_t Guid,
+        long Index,
+        VARIANT_BOOL Temporary );
+    HRESULT Remove (
+        long Index );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct ICUIControl * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ BSTR ControlID,
+        /*[in]*/ long Index,
+        /*[in]*/ VARIANT_BOOL Temporary,
+        /*[out,retval]*/ struct ICUIControl * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddCustomButton (
+        /*[in]*/ BSTR CategoryID,
+        /*[in]*/ BSTR Command,
+        /*[in]*/ long Index,
+        /*[in]*/ VARIANT_BOOL Temporary,
+        /*[out,retval]*/ struct ICUIControl * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddCustomControl (
+        /*[in]*/ BSTR ClassName,
+        /*[in]*/ BSTR AssemblyPath,
+        /*[in]*/ long Index,
+        /*[in]*/ VARIANT_BOOL Temporary,
+        /*[out,retval]*/ struct ICUIControl * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddToggleButton (
+        /*[in]*/ BSTR Guid,
+        /*[in]*/ long Index,
+        /*[in]*/ VARIANT_BOOL Temporary,
+        /*[out,retval]*/ struct ICUIControl * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+};
+
+struct __declspec(uuid("9cee0006-42a0-5980-43a3-7aa71461482c"))
+ICUICommandBarMode : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetNameLocal))
+    _bstr_t NameLocal;
+    __declspec(property(get=GetControls))
+    ICUIControlsPtr Controls;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    _bstr_t GetNameLocal ( );
+    ICUIControlsPtr GetControls ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_NameLocal (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Controls (
+        /*[out,retval]*/ struct ICUIControls * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0005-42a0-5980-43a3-7aa71461482c"))
+ICUICommandBarModes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    ICUICommandBarModePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    ICUICommandBarModePtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct ICUICommandBarMode * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0009-42a0-5980-43a3-7aa71461482c"))
+ICUICommandBar : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cuiBarType Type;
+    __declspec(property(get=GetVisible,put=PutVisible))
+    VARIANT_BOOL Visible;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetControls))
+    ICUIControlsPtr Controls;
+    __declspec(property(get=GetModes))
+    ICUICommandBarModesPtr Modes;
+    __declspec(property(get=GetBuiltIn))
+    VARIANT_BOOL BuiltIn;
+    __declspec(property(get=GetEnabled,put=PutEnabled))
+    VARIANT_BOOL Enabled;
+    __declspec(property(get=GetLeft,put=PutLeft))
+    long Left;
+    __declspec(property(get=GetTop,put=PutTop))
+    long Top;
+    __declspec(property(get=GetHeight))
+    long Height;
+    __declspec(property(get=GetWidth))
+    long Width;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetNameLocal,put=PutNameLocal))
+    _bstr_t NameLocal;
+    __declspec(property(get=GetPosition,put=PutPosition))
+    enum cuiBarPosition Position;
+    __declspec(property(get=GetProtection,put=PutProtection))
+    enum cuiBarProtection Protection;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cuiBarType GetType ( );
+    VARIANT_BOOL GetVisible ( );
+    void PutVisible (
+        VARIANT_BOOL pVal );
+    ICUIControlsPtr GetControls ( );
+    ICUICommandBarModesPtr GetModes ( );
+    VARIANT_BOOL GetBuiltIn ( );
+    VARIANT_BOOL GetEnabled ( );
+    void PutEnabled (
+        VARIANT_BOOL pVal );
+    long GetLeft ( );
+    void PutLeft (
+        long pVal );
+    long GetTop ( );
+    void PutTop (
+        long pVal );
+    long GetHeight ( );
+    long GetWidth ( );
+    long GetIndex ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    _bstr_t GetNameLocal ( );
+    void PutNameLocal (
+        _bstr_t pVal );
+    enum cuiBarPosition GetPosition ( );
+    void PutPosition (
+        enum cuiBarPosition pVal );
+    enum cuiBarProtection GetProtection ( );
+    void PutProtection (
+        enum cuiBarProtection pVal );
+    HRESULT Delete ( );
+    HRESULT Reset ( );
+    HRESULT ShowPopup (
+        const _variant_t & x,
+        const _variant_t & y );
+    HRESULT SetWidth (
+        long Width );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cuiBarType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Visible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Visible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Controls (
+        /*[out,retval]*/ struct ICUIControls * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Modes (
+        /*[out,retval]*/ struct ICUICommandBarModes * * pVal ) = 0;
+      virtual HRESULT __stdcall get_BuiltIn (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Enabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Enabled (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Left (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Left (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Top (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_NameLocal (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_NameLocal (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ enum cuiBarPosition * pVal ) = 0;
+      virtual HRESULT __stdcall put_Position (
+        /*[in]*/ enum cuiBarPosition pVal ) = 0;
+      virtual HRESULT __stdcall get_Protection (
+        /*[out,retval]*/ enum cuiBarProtection * pVal ) = 0;
+      virtual HRESULT __stdcall put_Protection (
+        /*[in]*/ enum cuiBarProtection pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_ShowPopup (
+        /*[in]*/ VARIANT x,
+        /*[in]*/ VARIANT y ) = 0;
+      virtual HRESULT __stdcall raw_SetWidth (
+        /*[in]*/ long Width ) = 0;
+};
+
+struct __declspec(uuid("9cee0004-42a0-5980-43a3-7aa71461482c"))
+ICUICommandBars : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    ICUICommandBarPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    ICUICommandBarPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+    ICUICommandBarPtr Add (
+        _bstr_t Name,
+        enum cuiBarPosition Position,
+        VARIANT_BOOL Temporary );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct ICUICommandBar * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cuiBarPosition Position,
+        /*[in]*/ VARIANT_BOOL Temporary,
+        /*[out,retval]*/ struct ICUICommandBar * * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0019-42a0-5980-43a3-7aa71461482c"))
+ICUIScreenRect : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetLeft,put=PutLeft))
+    long Left;
+    __declspec(property(get=GetRight,put=PutRight))
+    long Right;
+    __declspec(property(get=GetTop,put=PutTop))
+    long Top;
+    __declspec(property(get=GetBottom,put=PutBottom))
+    long Bottom;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    long Width;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    long Height;
+    __declspec(property(get=GetCenterX,put=PutCenterX))
+    long CenterX;
+    __declspec(property(get=GetCenterY,put=PutCenterY))
+    long CenterY;
+    __declspec(property(get=GetReadOnly))
+    VARIANT_BOOL ReadOnly;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetLeft ( );
+    void PutLeft (
+        long pVal );
+    long GetRight ( );
+    void PutRight (
+        long pVal );
+    long GetTop ( );
+    void PutTop (
+        long pVal );
+    long GetBottom ( );
+    void PutBottom (
+        long pVal );
+    long GetWidth ( );
+    void PutWidth (
+        long pVal );
+    long GetHeight ( );
+    void PutHeight (
+        long pVal );
+    long GetCenterX ( );
+    void PutCenterX (
+        long pVal );
+    long GetCenterY ( );
+    void PutCenterY (
+        long pVal );
+    HRESULT SetPosition (
+        long Left,
+        long Top,
+        long Width,
+        long Height );
+    HRESULT Resize (
+        long Width,
+        long Height );
+    HRESULT Move (
+        long Left,
+        long Top );
+    VARIANT_BOOL GetReadOnly ( );
+    ICUIScreenRectPtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct ICUIScreenRect * Source );
+    HRESULT Offset (
+        long OffsetX,
+        long OffsetY );
+    HRESULT Inflate (
+        long Left,
+        long Top,
+        long Right,
+        long Bottom );
+    VARIANT_BOOL IsPointInside (
+        long x,
+        long y );
+    ICUIScreenRectPtr Union (
+        struct ICUIScreenRect * Source );
+    ICUIScreenRectPtr Intersect (
+        struct ICUIScreenRect * Source );
+    VARIANT_BOOL IsEmpty ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Left (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Left (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Right (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Right (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Top (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Bottom (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Bottom (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterX (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterY (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ long Left,
+        /*[in]*/ long Top,
+        /*[in]*/ long Width,
+        /*[in]*/ long Height ) = 0;
+      virtual HRESULT __stdcall raw_Resize (
+        /*[in]*/ long Width,
+        /*[in]*/ long Height ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ long Left,
+        /*[in]*/ long Top ) = 0;
+      virtual HRESULT __stdcall get_ReadOnly (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct ICUIScreenRect * Source ) = 0;
+      virtual HRESULT __stdcall raw_Offset (
+        /*[in]*/ long OffsetX,
+        /*[in]*/ long OffsetY ) = 0;
+      virtual HRESULT __stdcall raw_Inflate (
+        /*[in]*/ long Left,
+        /*[in]*/ long Top,
+        /*[in]*/ long Right,
+        /*[in]*/ long Bottom ) = 0;
+      virtual HRESULT __stdcall raw_IsPointInside (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Union (
+        /*[in]*/ struct ICUIScreenRect * Source,
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Intersect (
+        /*[in]*/ struct ICUIScreenRect * Source,
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IsEmpty (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee001a-42a0-5980-43a3-7aa71461482c"))
+ICUIBitmapImage : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetValid))
+    VARIANT_BOOL Valid;
+    __declspec(property(get=GetWidth))
+    long Width;
+    __declspec(property(get=GetHeight))
+    long Height;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetValid ( );
+    long GetWidth ( );
+    long GetHeight ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Valid (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee000e-42a0-5980-43a3-7aa71461482c"))
+ICUIImageList : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetImageCount))
+    long ImageCount;
+    __declspec(property(get=GetImageKeys))
+    SAFEARRAY * ImageKeys;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetImageCount ( );
+    VARIANT_BOOL ImageExists (
+        _bstr_t Key );
+    HRESULT RemoveAll ( );
+    VARIANT_BOOL AddImage (
+        _bstr_t Key,
+        const _variant_t & ImageData,
+        long MaxSize );
+    SAFEARRAY * GetImageKeys ( );
+    VARIANT_BOOL RemoveImage (
+        _bstr_t Key );
+    HRESULT AddBitmap (
+        _bstr_t Key,
+        struct ICUIBitmapImage * Bitmap );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ImageCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ImageExists (
+        /*[in]*/ BSTR Key,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RemoveAll ( ) = 0;
+      virtual HRESULT __stdcall raw_AddImage (
+        /*[in]*/ BSTR Key,
+        /*[in]*/ VARIANT ImageData,
+        /*[in]*/ long MaxSize,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ImageKeys (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RemoveImage (
+        /*[in]*/ BSTR Key,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddBitmap (
+        /*[in]*/ BSTR Key,
+        /*[in]*/ struct ICUIBitmapImage * Bitmap ) = 0;
+};
+
+struct __declspec(uuid("9cee001b-42a0-5980-43a3-7aa71461482c"))
+ICUIStatusText : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT SetCaptionText (
+        _bstr_t Text );
+    HRESULT SetBitmap (
+        struct ICUIBitmapImage * Bitmap );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_SetCaptionText (
+        /*[in]*/ BSTR Text ) = 0;
+      virtual HRESULT __stdcall raw_SetBitmap (
+        /*[in]*/ struct ICUIBitmapImage * Bitmap ) = 0;
+};
+
+struct __declspec(uuid("9cee001c-42a0-5980-43a3-7aa71461482c"))
+ICUIWarning : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEnabled,put=PutEnabled))
+    VARIANT_BOOL Enabled;
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetDescription))
+    _bstr_t Description;
+    __declspec(property(get=GetText))
+    _bstr_t Text;
+    __declspec(property(get=GetTitle))
+    _bstr_t Title;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetEnabled ( );
+    void PutEnabled (
+        VARIANT_BOOL pVal );
+    _bstr_t GetID ( );
+    _bstr_t GetDescription ( );
+    _bstr_t GetText ( );
+    _bstr_t GetTitle ( );
+    long DoWarningDialog (
+        long unFlags,
+        _bstr_t Text );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Enabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Enabled (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Description (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Text (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Title (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_DoWarningDialog (
+        /*[in]*/ long unFlags,
+        /*[in]*/ BSTR Text,
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee001d-42a0-5980-43a3-7aa71461482c"))
+ICUITask : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT RunTask ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_RunTask ( ) = 0;
+};
+
+struct __declspec(uuid("9cee001e-42a0-5980-43a3-7aa71461482c"))
+ICUIBackgroundTask : ICUITask
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT FinalizeTask ( );
+    HRESULT FreeTask ( );
+    HRESULT QuitTask ( );
+    _bstr_t GetName ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_FinalizeTask ( ) = 0;
+      virtual HRESULT __stdcall raw_FreeTask ( ) = 0;
+      virtual HRESULT __stdcall raw_QuitTask ( ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0020-42a0-5980-43a3-7aa71461482c"))
+ICUIRunningTask : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT TryAbort ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_TryAbort ( ) = 0;
+};
+
+struct __declspec(uuid("9cee0021-42a0-5980-43a3-7aa71461482c"))
+ICUIRunningBackgroundTask : ICUIRunningTask
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT WaitUntilDone ( );
+    HRESULT Reprioritize (
+        enum cuiTaskPriority __MIDL__ICUIRunningBackgroundTask0000 );
+    VARIANT_BOOL FinalizeIfDone ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_WaitUntilDone ( ) = 0;
+      virtual HRESULT __stdcall raw_Reprioritize (
+        /*[in]*/ enum cuiTaskPriority __MIDL__ICUIRunningBackgroundTask0000 ) = 0;
+      virtual HRESULT __stdcall raw_FinalizeIfDone (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("9cee001f-42a0-5980-43a3-7aa71461482c"))
+ICUITaskManager : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT RunOnUIThread (
+        struct ICUITask * pTask );
+    ICUIRunningBackgroundTaskPtr RunInBackground (
+        enum cuiTaskPriority priority,
+        struct ICUIBackgroundTask * pTask );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_RunOnUIThread (
+        /*[in]*/ struct ICUITask * pTask ) = 0;
+      virtual HRESULT __stdcall raw_RunInBackground (
+        /*[in]*/ enum cuiTaskPriority priority,
+        /*[in]*/ struct ICUIBackgroundTask * pTask,
+        /*[out,retval]*/ struct ICUIRunningBackgroundTask * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a9-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintLayout : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetUseBleedLimit,put=PutUseBleedLimit))
+    VARIANT_BOOL UseBleedLimit;
+    __declspec(property(get=GetBleedLimit,put=PutBleedLimit))
+    double BleedLimit;
+    __declspec(property(get=GetPrintTiledPages,put=PutPrintTiledPages))
+    VARIANT_BOOL PrintTiledPages;
+    __declspec(property(get=GetPrintTilingMarks,put=PutPrintTilingMarks))
+    VARIANT_BOOL PrintTilingMarks;
+    __declspec(property(get=GetTileOverlap,put=PutTileOverlap))
+    double TileOverlap;
+    __declspec(property(get=GetPlacement,put=PutPlacement))
+    enum PrnPlaceType Placement;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetUseBleedLimit ( );
+    void PutUseBleedLimit (
+        VARIANT_BOOL pVal );
+    double GetBleedLimit ( );
+    void PutBleedLimit (
+        double pVal );
+    VARIANT_BOOL GetPrintTiledPages ( );
+    void PutPrintTiledPages (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPrintTilingMarks ( );
+    void PutPrintTilingMarks (
+        VARIANT_BOOL pVal );
+    double GetTileOverlap ( );
+    void PutTileOverlap (
+        double pVal );
+    enum PrnPlaceType GetPlacement ( );
+    void PutPlacement (
+        enum PrnPlaceType pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_UseBleedLimit (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseBleedLimit (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BleedLimit (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BleedLimit (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintTiledPages (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintTiledPages (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintTilingMarks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintTilingMarks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOverlap (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOverlap (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Placement (
+        /*[out,retval]*/ enum PrnPlaceType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Placement (
+        /*[in]*/ enum PrnPlaceType pVal ) = 0;
+};
+
+struct __declspec(uuid("a2525098-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrinter : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetType))
+    _bstr_t Type;
+    __declspec(property(get=GetDefault))
+    VARIANT_BOOL Default;
+    __declspec(property(get=GetReady))
+    VARIANT_BOOL Ready;
+    __declspec(property(get=GetPort))
+    _bstr_t Port;
+    __declspec(property(get=GetDescription))
+    _bstr_t Description;
+    __declspec(property(get=GetPostScriptEnabled))
+    VARIANT_BOOL PostScriptEnabled;
+    __declspec(property(get=GetColorEnabled))
+    VARIANT_BOOL ColorEnabled;
+    __declspec(property(get=GetPageSizeMatchingSupported,put=PutPageSizeMatchingSupported))
+    VARIANT_BOOL PageSizeMatchingSupported;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    _bstr_t GetType ( );
+    VARIANT_BOOL GetDefault ( );
+    VARIANT_BOOL GetReady ( );
+    _bstr_t GetPort ( );
+    _bstr_t GetDescription ( );
+    VARIANT_BOOL GetPostScriptEnabled ( );
+    VARIANT_BOOL GetColorEnabled ( );
+    HRESULT ShowDialog ( );
+    VARIANT_BOOL GetPageSizeMatchingSupported ( );
+    void PutPageSizeMatchingSupported (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Default (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Ready (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Port (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Description (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_PostScriptEnabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorEnabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog ( ) = 0;
+      virtual HRESULT __stdcall get_PageSizeMatchingSupported (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PageSizeMatchingSupported (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("a2525099-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrinters : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IPrnVBAPrinterPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetDefault))
+    IPrnVBAPrinterPtr Default;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IPrnVBAPrinterPtr GetItem (
+        long nIndex );
+    long GetCount ( );
+    IPrnVBAPrinterPtr GetDefault ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long nIndex,
+        /*[out,retval]*/ struct IPrnVBAPrinter * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Default (
+        /*[out,retval]*/ struct IPrnVBAPrinter * * pVal ) = 0;
+};
+
+struct __declspec(uuid("a252509a-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBASeparationPlate : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEnabled,put=PutEnabled))
+    VARIANT_BOOL Enabled;
+    __declspec(property(get=GetType))
+    enum PrnPlateType Type;
+    __declspec(property(get=GetColor))
+    _bstr_t Color;
+    __declspec(property(get=GetFrequency,put=PutFrequency))
+    double Frequency;
+    __declspec(property(get=GetAngle,put=PutAngle))
+    double Angle;
+    __declspec(property(get=GetOverprintText,put=PutOverprintText))
+    VARIANT_BOOL OverprintText;
+    __declspec(property(get=GetOverprintGraphic,put=PutOverprintGraphic))
+    VARIANT_BOOL OverprintGraphic;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetEnabled ( );
+    void PutEnabled (
+        VARIANT_BOOL pVal );
+    enum PrnPlateType GetType ( );
+    _bstr_t GetColor ( );
+    double GetFrequency ( );
+    void PutFrequency (
+        double pVal );
+    double GetAngle ( );
+    void PutAngle (
+        double pVal );
+    VARIANT_BOOL GetOverprintText ( );
+    void PutOverprintText (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOverprintGraphic ( );
+    void PutOverprintGraphic (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Enabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Enabled (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum PrnPlateType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Frequency (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Frequency (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Angle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OverprintText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OverprintText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OverprintGraphic (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OverprintGraphic (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("a252509b-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBASeparationPlates : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IPrnVBASeparationPlatePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IPrnVBASeparationPlatePtr GetItem (
+        long Index );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IPrnVBASeparationPlate * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("a252509c-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintSeparations : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEnabled,put=PutEnabled))
+    VARIANT_BOOL Enabled;
+    __declspec(property(get=GetInColor,put=PutInColor))
+    VARIANT_BOOL InColor;
+    __declspec(property(get=GetHexachrome,put=PutHexachrome))
+    VARIANT_BOOL Hexachrome;
+    __declspec(property(get=GetSpotToCMYK,put=PutSpotToCMYK))
+    VARIANT_BOOL SpotToCMYK;
+    __declspec(property(get=GetEmptyPlates,put=PutEmptyPlates))
+    VARIANT_BOOL EmptyPlates;
+    __declspec(property(get=GetPreserveOverprints,put=PutPreserveOverprints))
+    VARIANT_BOOL PreserveOverprints;
+    __declspec(property(get=GetAlwaysOverprintBlack,put=PutAlwaysOverprintBlack))
+    VARIANT_BOOL AlwaysOverprintBlack;
+    __declspec(property(get=GetAutoSpreading,put=PutAutoSpreading))
+    VARIANT_BOOL AutoSpreading;
+    __declspec(property(get=GetAutoSpreadAmount,put=PutAutoSpreadAmount))
+    double AutoSpreadAmount;
+    __declspec(property(get=GetAutoSpreadFixed,put=PutAutoSpreadFixed))
+    VARIANT_BOOL AutoSpreadFixed;
+    __declspec(property(get=GetAutoSpreadTextAbove,put=PutAutoSpreadTextAbove))
+    double AutoSpreadTextAbove;
+    __declspec(property(get=GetAdvancedSettings,put=PutAdvancedSettings))
+    VARIANT_BOOL AdvancedSettings;
+    __declspec(property(get=GetPlates))
+    IPrnVBASeparationPlatesPtr Plates;
+    __declspec(property(get=GetResolution,put=PutResolution))
+    long Resolution;
+    __declspec(property(get=GetBasicScreen,put=PutBasicScreen))
+    _bstr_t BasicScreen;
+    __declspec(property(get=GetHalftoneType,put=PutHalftoneType))
+    _bstr_t HalftoneType;
+    __declspec(property(get=GetScreenTechnology,put=PutScreenTechnology))
+    _bstr_t ScreenTechnology;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetEnabled ( );
+    void PutEnabled (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetInColor ( );
+    void PutInColor (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetHexachrome ( );
+    void PutHexachrome (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetSpotToCMYK ( );
+    void PutSpotToCMYK (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetEmptyPlates ( );
+    void PutEmptyPlates (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPreserveOverprints ( );
+    void PutPreserveOverprints (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAlwaysOverprintBlack ( );
+    void PutAlwaysOverprintBlack (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAutoSpreading ( );
+    void PutAutoSpreading (
+        VARIANT_BOOL pVal );
+    double GetAutoSpreadAmount ( );
+    void PutAutoSpreadAmount (
+        double pVal );
+    VARIANT_BOOL GetAutoSpreadFixed ( );
+    void PutAutoSpreadFixed (
+        VARIANT_BOOL pVal );
+    double GetAutoSpreadTextAbove ( );
+    void PutAutoSpreadTextAbove (
+        double pVal );
+    VARIANT_BOOL GetAdvancedSettings ( );
+    void PutAdvancedSettings (
+        VARIANT_BOOL pVal );
+    IPrnVBASeparationPlatesPtr GetPlates ( );
+    long GetResolution ( );
+    void PutResolution (
+        long pVal );
+    _bstr_t GetBasicScreen ( );
+    void PutBasicScreen (
+        _bstr_t pVal );
+    _bstr_t GetHalftoneType ( );
+    void PutHalftoneType (
+        _bstr_t pVal );
+    _bstr_t GetScreenTechnology ( );
+    void PutScreenTechnology (
+        _bstr_t pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Enabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Enabled (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_InColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_InColor (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Hexachrome (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Hexachrome (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_SpotToCMYK (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpotToCMYK (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_EmptyPlates (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_EmptyPlates (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PreserveOverprints (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PreserveOverprints (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AlwaysOverprintBlack (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AlwaysOverprintBlack (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoSpreading (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoSpreading (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoSpreadAmount (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoSpreadAmount (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoSpreadFixed (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoSpreadFixed (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoSpreadTextAbove (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoSpreadTextAbove (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_AdvancedSettings (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AdvancedSettings (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Plates (
+        /*[out,retval]*/ struct IPrnVBASeparationPlates * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Resolution (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Resolution (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_BasicScreen (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_BasicScreen (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_HalftoneType (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_HalftoneType (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_ScreenTechnology (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScreenTechnology (
+        /*[in]*/ BSTR pVal ) = 0;
+};
+
+struct __declspec(uuid("a252509d-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintPrepress : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetInvert,put=PutInvert))
+    VARIANT_BOOL Invert;
+    __declspec(property(get=GetMirror,put=PutMirror))
+    VARIANT_BOOL Mirror;
+    __declspec(property(get=GetFileInfo,put=PutFileInfo))
+    VARIANT_BOOL FileInfo;
+    __declspec(property(get=GetJobName,put=PutJobName))
+    _bstr_t JobName;
+    __declspec(property(get=GetPageNumbers,put=PutPageNumbers))
+    VARIANT_BOOL PageNumbers;
+    __declspec(property(get=GetInfoWithinPage,put=PutInfoWithinPage))
+    VARIANT_BOOL InfoWithinPage;
+    __declspec(property(get=GetCropMarks,put=PutCropMarks))
+    VARIANT_BOOL CropMarks;
+    __declspec(property(get=GetExteriorCropMarks,put=PutExteriorCropMarks))
+    VARIANT_BOOL ExteriorCropMarks;
+    __declspec(property(get=GetRegistrationMarks,put=PutRegistrationMarks))
+    VARIANT_BOOL RegistrationMarks;
+    __declspec(property(get=GetRegistrationStyle,put=PutRegistrationStyle))
+    enum PrnRegistrationStyle RegistrationStyle;
+    __declspec(property(get=GetColorCalibrationBar,put=PutColorCalibrationBar))
+    VARIANT_BOOL ColorCalibrationBar;
+    __declspec(property(get=GetDensitometerScale,put=PutDensitometerScale))
+    VARIANT_BOOL DensitometerScale;
+    __declspec(property(get=GetDensities,put=PutDensities))
+    long Densities[];
+    __declspec(property(get=GetMarksToObjects,put=PutMarksToObjects))
+    VARIANT_BOOL MarksToObjects;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetInvert ( );
+    void PutInvert (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMirror ( );
+    void PutMirror (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetFileInfo ( );
+    void PutFileInfo (
+        VARIANT_BOOL pVal );
+    _bstr_t GetJobName ( );
+    void PutJobName (
+        _bstr_t pVal );
+    VARIANT_BOOL GetPageNumbers ( );
+    void PutPageNumbers (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetInfoWithinPage ( );
+    void PutInfoWithinPage (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetCropMarks ( );
+    void PutCropMarks (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetExteriorCropMarks ( );
+    void PutExteriorCropMarks (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetRegistrationMarks ( );
+    void PutRegistrationMarks (
+        VARIANT_BOOL pVal );
+    enum PrnRegistrationStyle GetRegistrationStyle ( );
+    void PutRegistrationStyle (
+        enum PrnRegistrationStyle pVal );
+    VARIANT_BOOL GetColorCalibrationBar ( );
+    void PutColorCalibrationBar (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDensitometerScale ( );
+    void PutDensitometerScale (
+        VARIANT_BOOL pVal );
+    long GetDensities (
+        long Index );
+    void PutDensities (
+        long Index,
+        long pVal );
+    VARIANT_BOOL GetMarksToObjects ( );
+    void PutMarksToObjects (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Invert (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Invert (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Mirror (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Mirror (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FileInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FileInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_JobName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_JobName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_PageNumbers (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PageNumbers (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_InfoWithinPage (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_InfoWithinPage (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_CropMarks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_CropMarks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ExteriorCropMarks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ExteriorCropMarks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RegistrationMarks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RegistrationMarks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RegistrationStyle (
+        /*[out,retval]*/ enum PrnRegistrationStyle * pVal ) = 0;
+      virtual HRESULT __stdcall put_RegistrationStyle (
+        /*[in]*/ enum PrnRegistrationStyle pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorCalibrationBar (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorCalibrationBar (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DensitometerScale (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DensitometerScale (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Densities (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Densities (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_MarksToObjects (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MarksToObjects (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("a252509e-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintPostScript : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetLevel,put=PutLevel))
+    enum PrnPostScriptLevel Level;
+    __declspec(property(get=GetConformToDSC,put=PutConformToDSC))
+    VARIANT_BOOL ConformToDSC;
+    __declspec(property(get=GetJPEGCompression,put=PutJPEGCompression))
+    VARIANT_BOOL JPEGCompression;
+    __declspec(property(get=GetJPEGQuality,put=PutJPEGQuality))
+    long JPEGQuality;
+    __declspec(property(get=GetMaintainOPILinks,put=PutMaintainOPILinks))
+    VARIANT_BOOL MaintainOPILinks;
+    __declspec(property(get=GetResolveDCSLinks,put=PutResolveDCSLinks))
+    VARIANT_BOOL ResolveDCSLinks;
+    __declspec(property(get=GetDownloadType1,put=PutDownloadType1))
+    VARIANT_BOOL DownloadType1;
+    __declspec(property(get=GetTrueTypeToType1,put=PutTrueTypeToType1))
+    VARIANT_BOOL TrueTypeToType1;
+    __declspec(property(get=GetPDFStartup,put=PutPDFStartup))
+    enum PrnPDFStartup PDFStartup;
+    __declspec(property(get=GetPDFHyperlinks,put=PutPDFHyperlinks))
+    VARIANT_BOOL PDFHyperlinks;
+    __declspec(property(get=GetpdfBookmarks,put=PutpdfBookmarks))
+    VARIANT_BOOL pdfBookmarks;
+    __declspec(property(get=GetMaxPointsPerCurve,put=PutMaxPointsPerCurve))
+    long MaxPointsPerCurve;
+    __declspec(property(get=GetFlatness,put=PutFlatness))
+    long Flatness;
+    __declspec(property(get=GetAutoIncreaseFlatness,put=PutAutoIncreaseFlatness))
+    VARIANT_BOOL AutoIncreaseFlatness;
+    __declspec(property(get=GetAutoIncreaseFountainSteps,put=PutAutoIncreaseFountainSteps))
+    VARIANT_BOOL AutoIncreaseFountainSteps;
+    __declspec(property(get=GetOptimizeFountainFills,put=PutOptimizeFountainFills))
+    VARIANT_BOOL OptimizeFountainFills;
+    __declspec(property(get=GetScreenFrequency,put=PutScreenFrequency))
+    long ScreenFrequency;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum PrnPostScriptLevel GetLevel ( );
+    void PutLevel (
+        enum PrnPostScriptLevel pVal );
+    VARIANT_BOOL GetConformToDSC ( );
+    void PutConformToDSC (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetJPEGCompression ( );
+    void PutJPEGCompression (
+        VARIANT_BOOL pVal );
+    long GetJPEGQuality ( );
+    void PutJPEGQuality (
+        long pVal );
+    VARIANT_BOOL GetMaintainOPILinks ( );
+    void PutMaintainOPILinks (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetResolveDCSLinks ( );
+    void PutResolveDCSLinks (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDownloadType1 ( );
+    void PutDownloadType1 (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetTrueTypeToType1 ( );
+    void PutTrueTypeToType1 (
+        VARIANT_BOOL pVal );
+    enum PrnPDFStartup GetPDFStartup ( );
+    void PutPDFStartup (
+        enum PrnPDFStartup pVal );
+    VARIANT_BOOL GetPDFHyperlinks ( );
+    void PutPDFHyperlinks (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetpdfBookmarks ( );
+    void PutpdfBookmarks (
+        VARIANT_BOOL pVal );
+    long GetMaxPointsPerCurve ( );
+    void PutMaxPointsPerCurve (
+        long pVal );
+    long GetFlatness ( );
+    void PutFlatness (
+        long pVal );
+    VARIANT_BOOL GetAutoIncreaseFlatness ( );
+    void PutAutoIncreaseFlatness (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAutoIncreaseFountainSteps ( );
+    void PutAutoIncreaseFountainSteps (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOptimizeFountainFills ( );
+    void PutOptimizeFountainFills (
+        VARIANT_BOOL pVal );
+    long GetScreenFrequency ( );
+    void PutScreenFrequency (
+        long pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Level (
+        /*[out,retval]*/ enum PrnPostScriptLevel * pVal ) = 0;
+      virtual HRESULT __stdcall put_Level (
+        /*[in]*/ enum PrnPostScriptLevel pVal ) = 0;
+      virtual HRESULT __stdcall get_ConformToDSC (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ConformToDSC (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_JPEGCompression (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_JPEGCompression (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_JPEGQuality (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_JPEGQuality (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_MaintainOPILinks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaintainOPILinks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ResolveDCSLinks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ResolveDCSLinks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DownloadType1 (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DownloadType1 (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TrueTypeToType1 (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TrueTypeToType1 (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PDFStartup (
+        /*[out,retval]*/ enum PrnPDFStartup * pVal ) = 0;
+      virtual HRESULT __stdcall put_PDFStartup (
+        /*[in]*/ enum PrnPDFStartup pVal ) = 0;
+      virtual HRESULT __stdcall get_PDFHyperlinks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PDFHyperlinks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_pdfBookmarks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_pdfBookmarks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxPointsPerCurve (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaxPointsPerCurve (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Flatness (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Flatness (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoIncreaseFlatness (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoIncreaseFlatness (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoIncreaseFountainSteps (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoIncreaseFountainSteps (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OptimizeFountainFills (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OptimizeFountainFills (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ScreenFrequency (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScreenFrequency (
+        /*[in]*/ long pVal ) = 0;
+};
+
+struct __declspec(uuid("a252509f-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBATrapLayer : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum PrnPlateType Type;
+    __declspec(property(get=GetColor))
+    _bstr_t Color;
+    __declspec(property(get=GetDensity,put=PutDensity))
+    double Density;
+    __declspec(property(get=GetTrapType,put=PutTrapType))
+    enum PrnTrapType TrapType;
+    __declspec(property(get=GetOrder,put=PutOrder))
+    long Order;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum PrnPlateType GetType ( );
+    _bstr_t GetColor ( );
+    double GetDensity ( );
+    void PutDensity (
+        double pVal );
+    enum PrnTrapType GetTrapType ( );
+    void PutTrapType (
+        enum PrnTrapType pVal );
+    long GetOrder ( );
+    void PutOrder (
+        long pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum PrnPlateType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Density (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Density (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TrapType (
+        /*[out,retval]*/ enum PrnTrapType * pVal ) = 0;
+      virtual HRESULT __stdcall put_TrapType (
+        /*[in]*/ enum PrnTrapType pVal ) = 0;
+      virtual HRESULT __stdcall get_Order (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Order (
+        /*[in]*/ long pVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a0-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBATrapLayers : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IPrnVBATrapLayerPtr Item[];
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    IPrnVBATrapLayerPtr GetItem (
+        long Index );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IPrnVBATrapLayer * * pVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a1-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintTrapping : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEnabled,put=PutEnabled))
+    VARIANT_BOOL Enabled;
+    __declspec(property(get=GetLayers))
+    IPrnVBATrapLayersPtr Layers;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    double Width;
+    __declspec(property(get=GetBlackWidth,put=PutBlackWidth))
+    double BlackWidth;
+    __declspec(property(get=GetColorScaling,put=PutColorScaling))
+    long ColorScaling;
+    __declspec(property(get=GetStepLimit,put=PutStepLimit))
+    long StepLimit;
+    __declspec(property(get=GetBlackColorLimit,put=PutBlackColorLimit))
+    long BlackColorLimit;
+    __declspec(property(get=GetBlackDensityLimit,put=PutBlackDensityLimit))
+    double BlackDensityLimit;
+    __declspec(property(get=GetSlidingTrapLimit,put=PutSlidingTrapLimit))
+    long SlidingTrapLimit;
+    __declspec(property(get=GetImageTrap,put=PutImageTrap))
+    enum PrnImageTrap ImageTrap;
+    __declspec(property(get=GetObjectsToImage,put=PutObjectsToImage))
+    VARIANT_BOOL ObjectsToImage;
+    __declspec(property(get=GetInternalImageTrapping,put=PutInternalImageTrapping))
+    VARIANT_BOOL InternalImageTrapping;
+    __declspec(property(get=GetTrapMonoBitmaps,put=PutTrapMonoBitmaps))
+    VARIANT_BOOL TrapMonoBitmaps;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetEnabled ( );
+    void PutEnabled (
+        VARIANT_BOOL pVal );
+    IPrnVBATrapLayersPtr GetLayers ( );
+    double GetWidth ( );
+    void PutWidth (
+        double pVal );
+    double GetBlackWidth ( );
+    void PutBlackWidth (
+        double pVal );
+    long GetColorScaling ( );
+    void PutColorScaling (
+        long pVal );
+    long GetStepLimit ( );
+    void PutStepLimit (
+        long pVal );
+    long GetBlackColorLimit ( );
+    void PutBlackColorLimit (
+        long pVal );
+    double GetBlackDensityLimit ( );
+    void PutBlackDensityLimit (
+        double pVal );
+    long GetSlidingTrapLimit ( );
+    void PutSlidingTrapLimit (
+        long pVal );
+    enum PrnImageTrap GetImageTrap ( );
+    void PutImageTrap (
+        enum PrnImageTrap pVal );
+    VARIANT_BOOL GetObjectsToImage ( );
+    void PutObjectsToImage (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetInternalImageTrapping ( );
+    void PutInternalImageTrapping (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetTrapMonoBitmaps ( );
+    void PutTrapMonoBitmaps (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Enabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Enabled (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Layers (
+        /*[out,retval]*/ struct IPrnVBATrapLayers * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_BlackWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlackWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorScaling (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorScaling (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_StepLimit (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_StepLimit (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_BlackColorLimit (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlackColorLimit (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_BlackDensityLimit (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlackDensityLimit (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SlidingTrapLimit (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_SlidingTrapLimit (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ImageTrap (
+        /*[out,retval]*/ enum PrnImageTrap * pVal ) = 0;
+      virtual HRESULT __stdcall put_ImageTrap (
+        /*[in]*/ enum PrnImageTrap pVal ) = 0;
+      virtual HRESULT __stdcall get_ObjectsToImage (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ObjectsToImage (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_InternalImageTrapping (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_InternalImageTrapping (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TrapMonoBitmaps (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TrapMonoBitmaps (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a2-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetUseColorProfile,put=PutUseColorProfile))
+    VARIANT_BOOL UseColorProfile;
+    __declspec(property(get=GetPrintVectors,put=PutPrintVectors))
+    VARIANT_BOOL PrintVectors;
+    __declspec(property(get=GetPrintBitmaps,put=PutPrintBitmaps))
+    VARIANT_BOOL PrintBitmaps;
+    __declspec(property(get=GetPrintText,put=PutPrintText))
+    VARIANT_BOOL PrintText;
+    __declspec(property(get=GetTextInBlack,put=PutTextInBlack))
+    VARIANT_BOOL TextInBlack;
+    __declspec(property(get=GetColorMode,put=PutColorMode))
+    enum PrnColorMode ColorMode;
+    __declspec(property(get=GetMarksToPage,put=PutMarksToPage))
+    VARIANT_BOOL MarksToPage;
+    __declspec(property(get=GetBitmapColorMode,put=PutBitmapColorMode))
+    enum PrnBitmapColorMode BitmapColorMode;
+    __declspec(property(get=GetFountainSteps,put=PutFountainSteps))
+    long FountainSteps;
+    __declspec(property(get=GetRasterizePage,put=PutRasterizePage))
+    VARIANT_BOOL RasterizePage;
+    __declspec(property(get=GetRasterizeResolution,put=PutRasterizeResolution))
+    long RasterizeResolution;
+    __declspec(property(get=GetDownsampleColor,put=PutDownsampleColor))
+    VARIANT_BOOL DownsampleColor;
+    __declspec(property(get=GetDownsampleGray,put=PutDownsampleGray))
+    VARIANT_BOOL DownsampleGray;
+    __declspec(property(get=GetDownsampleMono,put=PutDownsampleMono))
+    VARIANT_BOOL DownsampleMono;
+    __declspec(property(get=GetColorResolution,put=PutColorResolution))
+    long ColorResolution;
+    __declspec(property(get=GetGrayResolution,put=PutGrayResolution))
+    long GrayResolution;
+    __declspec(property(get=GetMonoResolution,put=PutMonoResolution))
+    long MonoResolution;
+    __declspec(property(get=GetJobInformation,put=PutJobInformation))
+    VARIANT_BOOL JobInformation;
+    __declspec(property(get=GetAppInfo,put=PutAppInfo))
+    VARIANT_BOOL AppInfo;
+    __declspec(property(get=GetDriverInfo,put=PutDriverInfo))
+    VARIANT_BOOL DriverInfo;
+    __declspec(property(get=GetPrintJobInfo,put=PutPrintJobInfo))
+    VARIANT_BOOL PrintJobInfo;
+    __declspec(property(get=GetSepsInfo,put=PutSepsInfo))
+    VARIANT_BOOL SepsInfo;
+    __declspec(property(get=GetFontInfo,put=PutFontInfo))
+    VARIANT_BOOL FontInfo;
+    __declspec(property(get=GetLinkInfo,put=PutLinkInfo))
+    VARIANT_BOOL LinkInfo;
+    __declspec(property(get=GetInRIPTrapInfo,put=PutInRIPTrapInfo))
+    VARIANT_BOOL InRIPTrapInfo;
+    __declspec(property(get=GetObjectsColorMode,put=PutObjectsColorMode))
+    enum PrnObjectsColorMode ObjectsColorMode;
+    __declspec(property(get=GetPreservePureBlack,put=PutPreservePureBlack))
+    VARIANT_BOOL PreservePureBlack;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetUseColorProfile ( );
+    void PutUseColorProfile (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPrintVectors ( );
+    void PutPrintVectors (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPrintBitmaps ( );
+    void PutPrintBitmaps (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPrintText ( );
+    void PutPrintText (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetTextInBlack ( );
+    void PutTextInBlack (
+        VARIANT_BOOL pVal );
+    enum PrnColorMode GetColorMode ( );
+    void PutColorMode (
+        enum PrnColorMode pVal );
+    VARIANT_BOOL GetMarksToPage ( );
+    void PutMarksToPage (
+        VARIANT_BOOL pVal );
+    enum PrnBitmapColorMode GetBitmapColorMode ( );
+    void PutBitmapColorMode (
+        enum PrnBitmapColorMode pVal );
+    long GetFountainSteps ( );
+    void PutFountainSteps (
+        long pVal );
+    VARIANT_BOOL GetRasterizePage ( );
+    void PutRasterizePage (
+        VARIANT_BOOL pVal );
+    long GetRasterizeResolution ( );
+    void PutRasterizeResolution (
+        long pVal );
+    VARIANT_BOOL GetDownsampleColor ( );
+    void PutDownsampleColor (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDownsampleGray ( );
+    void PutDownsampleGray (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDownsampleMono ( );
+    void PutDownsampleMono (
+        VARIANT_BOOL pVal );
+    long GetColorResolution ( );
+    void PutColorResolution (
+        long pVal );
+    long GetGrayResolution ( );
+    void PutGrayResolution (
+        long pVal );
+    long GetMonoResolution ( );
+    void PutMonoResolution (
+        long pVal );
+    VARIANT_BOOL GetJobInformation ( );
+    void PutJobInformation (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAppInfo ( );
+    void PutAppInfo (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDriverInfo ( );
+    void PutDriverInfo (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPrintJobInfo ( );
+    void PutPrintJobInfo (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetSepsInfo ( );
+    void PutSepsInfo (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetFontInfo ( );
+    void PutFontInfo (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetLinkInfo ( );
+    void PutLinkInfo (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetInRIPTrapInfo ( );
+    void PutInRIPTrapInfo (
+        VARIANT_BOOL pVal );
+    enum PrnObjectsColorMode GetObjectsColorMode ( );
+    void PutObjectsColorMode (
+        enum PrnObjectsColorMode pVal );
+    VARIANT_BOOL GetPreservePureBlack ( );
+    void PutPreservePureBlack (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_UseColorProfile (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseColorProfile (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintVectors (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintVectors (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintBitmaps (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintBitmaps (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TextInBlack (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextInBlack (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorMode (
+        /*[out,retval]*/ enum PrnColorMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorMode (
+        /*[in]*/ enum PrnColorMode pVal ) = 0;
+      virtual HRESULT __stdcall get_MarksToPage (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MarksToPage (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BitmapColorMode (
+        /*[out,retval]*/ enum PrnBitmapColorMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_BitmapColorMode (
+        /*[in]*/ enum PrnBitmapColorMode pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainSteps (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainSteps (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_RasterizePage (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RasterizePage (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RasterizeResolution (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_RasterizeResolution (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_DownsampleColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DownsampleColor (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DownsampleGray (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DownsampleGray (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DownsampleMono (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DownsampleMono (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorResolution (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorResolution (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_GrayResolution (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_GrayResolution (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_MonoResolution (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MonoResolution (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_JobInformation (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_JobInformation (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AppInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AppInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DriverInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DriverInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintJobInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintJobInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_SepsInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_SepsInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FontInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FontInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_LinkInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_LinkInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_InRIPTrapInfo (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_InRIPTrapInfo (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ObjectsColorMode (
+        /*[out,retval]*/ enum PrnObjectsColorMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_ObjectsColorMode (
+        /*[in]*/ enum PrnObjectsColorMode pVal ) = 0;
+      virtual HRESULT __stdcall get_PreservePureBlack (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PreservePureBlack (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a3-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintSettings : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPrinter,put=PutRefPrinter))
+    IPrnVBAPrinterPtr Printer;
+    __declspec(property(get=GetUsePPD,put=PutUsePPD))
+    VARIANT_BOOL UsePPD;
+    __declspec(property(get=GetPPDFile,put=PutPPDFile))
+    _bstr_t PPDFile;
+    __declspec(property(get=GetPrintToFile,put=PutPrintToFile))
+    VARIANT_BOOL PrintToFile;
+    __declspec(property(get=GetFileName,put=PutFileName))
+    _bstr_t FileName;
+    __declspec(property(get=GetForMac,put=PutForMac))
+    VARIANT_BOOL ForMac;
+    __declspec(property(get=GetFileMode,put=PutFileMode))
+    enum PrnFileMode FileMode;
+    __declspec(property(get=GetPrintRange,put=PutPrintRange))
+    enum PrnPrintRange PrintRange;
+    __declspec(property(get=GetPageRange,put=PutPageRange))
+    _bstr_t PageRange;
+    __declspec(property(get=GetCopies,put=PutCopies))
+    long Copies;
+    __declspec(property(get=GetCollate,put=PutCollate))
+    VARIANT_BOOL Collate;
+    __declspec(property(get=GetSeparations))
+    IPrnVBAPrintSeparationsPtr Separations;
+    __declspec(property(get=GetPrepress))
+    IPrnVBAPrintPrepressPtr Prepress;
+    __declspec(property(get=GetPostScript))
+    IPrnVBAPrintPostScriptPtr PostScript;
+    __declspec(property(get=GetTrapping))
+    IPrnVBAPrintTrappingPtr Trapping;
+    __declspec(property(get=GetOptions))
+    IPrnVBAPrintOptionsPtr Options;
+    __declspec(property(get=GetPageSet,put=PutPageSet))
+    enum PrnPageSet PageSet;
+    __declspec(property(get=GetPaperOrientation,put=PutPaperOrientation))
+    enum PrnPaperOrientation PaperOrientation;
+    __declspec(property(get=GetPaperSize,put=PutPaperSize))
+    enum PrnPaperSize PaperSize;
+    __declspec(property(get=GetPaperWidth))
+    double PaperWidth;
+    __declspec(property(get=GetPaperHeight))
+    double PaperHeight;
+    __declspec(property(get=GetLayout))
+    IPrnVBAPrintLayoutPtr Layout;
+    __declspec(property(get=GetPageMatchingMode,put=PutPageMatchingMode))
+    enum PrnPageMatchingMode PageMatchingMode;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IPrnVBAPrinterPtr GetPrinter ( );
+    void PutRefPrinter (
+        struct IPrnVBAPrinter * pVal );
+    VARIANT_BOOL GetUsePPD ( );
+    void PutUsePPD (
+        VARIANT_BOOL pVal );
+    _bstr_t GetPPDFile ( );
+    void PutPPDFile (
+        _bstr_t pVal );
+    VARIANT_BOOL GetPrintToFile ( );
+    void PutPrintToFile (
+        VARIANT_BOOL pVal );
+    _bstr_t GetFileName ( );
+    void PutFileName (
+        _bstr_t pVal );
+    VARIANT_BOOL GetForMac ( );
+    void PutForMac (
+        VARIANT_BOOL pVal );
+    enum PrnFileMode GetFileMode ( );
+    void PutFileMode (
+        enum PrnFileMode pVal );
+    enum PrnPrintRange GetPrintRange ( );
+    void PutPrintRange (
+        enum PrnPrintRange pVal );
+    _bstr_t GetPageRange ( );
+    void PutPageRange (
+        _bstr_t pVal );
+    long GetCopies ( );
+    void PutCopies (
+        long pVal );
+    VARIANT_BOOL GetCollate ( );
+    void PutCollate (
+        VARIANT_BOOL pVal );
+    IPrnVBAPrintSeparationsPtr GetSeparations ( );
+    IPrnVBAPrintPrepressPtr GetPrepress ( );
+    IPrnVBAPrintPostScriptPtr GetPostScript ( );
+    IPrnVBAPrintTrappingPtr GetTrapping ( );
+    IPrnVBAPrintOptionsPtr GetOptions ( );
+    HRESULT Reset ( );
+    VARIANT_BOOL Load (
+        _bstr_t FileName );
+    VARIANT_BOOL Save (
+        _bstr_t FileName );
+    VARIANT_BOOL ShowDialog ( );
+    HRESULT SelectPrinter (
+        _bstr_t Name );
+    enum PrnPageSet GetPageSet ( );
+    void PutPageSet (
+        enum PrnPageSet pVal );
+    enum PrnPaperOrientation GetPaperOrientation ( );
+    void PutPaperOrientation (
+        enum PrnPaperOrientation pVal );
+    enum PrnPaperSize GetPaperSize ( );
+    void PutPaperSize (
+        enum PrnPaperSize pVal );
+    HRESULT SetPaperSize (
+        enum PrnPaperSize PaperSize,
+        enum PrnPaperOrientation Orientation );
+    double GetPaperWidth ( );
+    double GetPaperHeight ( );
+    HRESULT SetCustomPaperSize (
+        double Width,
+        double Height,
+        enum PrnPaperOrientation Orientation );
+    IPrnVBAPrintLayoutPtr GetLayout ( );
+    HRESULT PrintOut ( );
+    HRESULT PrintColorProof (
+        IDispatch * ProofSettings );
+    enum PrnPageMatchingMode GetPageMatchingMode ( );
+    void PutPageMatchingMode (
+        enum PrnPageMatchingMode pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Printer (
+        /*[out,retval]*/ struct IPrnVBAPrinter * * pVal ) = 0;
+      virtual HRESULT __stdcall putref_Printer (
+        /*[in]*/ struct IPrnVBAPrinter * pVal ) = 0;
+      virtual HRESULT __stdcall get_UsePPD (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UsePPD (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PPDFile (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_PPDFile (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintToFile (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintToFile (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_FileName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_ForMac (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ForMac (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FileMode (
+        /*[out,retval]*/ enum PrnFileMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_FileMode (
+        /*[in]*/ enum PrnFileMode pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintRange (
+        /*[out,retval]*/ enum PrnPrintRange * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintRange (
+        /*[in]*/ enum PrnPrintRange pVal ) = 0;
+      virtual HRESULT __stdcall get_PageRange (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_PageRange (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Copies (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Copies (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Collate (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Collate (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Separations (
+        /*[out,retval]*/ struct IPrnVBAPrintSeparations * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Prepress (
+        /*[out,retval]*/ struct IPrnVBAPrintPrepress * * pVal ) = 0;
+      virtual HRESULT __stdcall get_PostScript (
+        /*[out,retval]*/ struct IPrnVBAPrintPostScript * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Trapping (
+        /*[out,retval]*/ struct IPrnVBAPrintTrapping * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Options (
+        /*[out,retval]*/ struct IPrnVBAPrintOptions * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_Load (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pbSuccess ) = 0;
+      virtual HRESULT __stdcall raw_Save (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pbSuccess ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog (
+        /*[out,retval]*/ VARIANT_BOOL * pbPrint ) = 0;
+      virtual HRESULT __stdcall raw_SelectPrinter (
+        /*[in]*/ BSTR Name ) = 0;
+      virtual HRESULT __stdcall get_PageSet (
+        /*[out,retval]*/ enum PrnPageSet * pVal ) = 0;
+      virtual HRESULT __stdcall put_PageSet (
+        /*[in]*/ enum PrnPageSet pVal ) = 0;
+      virtual HRESULT __stdcall get_PaperOrientation (
+        /*[out,retval]*/ enum PrnPaperOrientation * pVal ) = 0;
+      virtual HRESULT __stdcall put_PaperOrientation (
+        /*[in]*/ enum PrnPaperOrientation pVal ) = 0;
+      virtual HRESULT __stdcall get_PaperSize (
+        /*[out,retval]*/ enum PrnPaperSize * pVal ) = 0;
+      virtual HRESULT __stdcall put_PaperSize (
+        /*[in]*/ enum PrnPaperSize pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetPaperSize (
+        /*[in]*/ enum PrnPaperSize PaperSize,
+        /*[in]*/ enum PrnPaperOrientation Orientation ) = 0;
+      virtual HRESULT __stdcall get_PaperWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_PaperHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetCustomPaperSize (
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[in]*/ enum PrnPaperOrientation Orientation ) = 0;
+      virtual HRESULT __stdcall get_Layout (
+        /*[out,retval]*/ struct IPrnVBAPrintLayout * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_PrintOut ( ) = 0;
+      virtual HRESULT __stdcall raw_PrintColorProof (
+        /*[in]*/ IDispatch * ProofSettings ) = 0;
+      virtual HRESULT __stdcall get_PageMatchingMode (
+        /*[out,retval]*/ enum PrnPageMatchingMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_PageMatchingMode (
+        /*[in]*/ enum PrnPageMatchingMode pVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a4-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintDocument : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT _GetPrintDocument (
+        INT_PTR * pDoc );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw__GetPrintDocument (
+        /*[out]*/ INT_PTR * pDoc ) = 0;
+};
+
+struct __declspec(uuid("a25250a5-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintDocuments : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IPrnVBAPrintDocumentPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IPrnVBAPrintDocumentPtr GetItem (
+        long Index );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IPrnVBAPrintDocument * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a6-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintPage : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT _GetPrintDocument (
+        INT_PTR * pDoc );
+    HRESULT _GetPrintPage (
+        long * pPage );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw__GetPrintDocument (
+        /*[out]*/ INT_PTR * pDoc ) = 0;
+      virtual HRESULT __stdcall raw__GetPrintPage (
+        /*[out]*/ long * pPage ) = 0;
+};
+
+struct __declspec(uuid("a25250a7-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintPages : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IPrnVBAPrintPagePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IPrnVBAPrintPagePtr GetItem (
+        long Index );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IPrnVBAPrintPage * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("a25250a8-50c1-11d3-8ea3-0090271becdd"))
+IPrnVBAPrintJob : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetSettings))
+    IPrnVBAPrintSettingsPtr Settings;
+    __declspec(property(get=GetDocuments))
+    IPrnVBAPrintDocumentsPtr Documents;
+    __declspec(property(get=GetPages))
+    IPrnVBAPrintPagesPtr Pages;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IPrnVBAPrintSettingsPtr GetSettings ( );
+    IPrnVBAPrintDocumentsPtr GetDocuments ( );
+    IPrnVBAPrintPagesPtr GetPages ( );
+    HRESULT Clear ( );
+    HRESULT PrintOut ( );
+    HRESULT AddDocument (
+        struct IPrnVBAPrintDocument * Document,
+        _bstr_t PageRange );
+    HRESULT AddPage (
+        struct IPrnVBAPrintPage * Page );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Settings (
+        /*[out,retval]*/ struct IPrnVBAPrintSettings * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Documents (
+        /*[out,retval]*/ struct IPrnVBAPrintDocuments * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Pages (
+        /*[out,retval]*/ struct IPrnVBAPrintPages * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall raw_PrintOut ( ) = 0;
+      virtual HRESULT __stdcall raw_AddDocument (
+        /*[in]*/ struct IPrnVBAPrintDocument * Document,
+        /*[in]*/ BSTR PageRange ) = 0;
+      virtual HRESULT __stdcall raw_AddPage (
+        /*[in]*/ struct IPrnVBAPrintPage * Page ) = 0;
+};
+
+struct __declspec(uuid("a2524ffb-50c1-11d3-8ea3-0090271becdd"))
+IPDFVBASettings : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEncryptType,put=PutEncryptType))
+    enum pdfEncryptionType EncryptType;
+    __declspec(property(get=GetOutputSpotColorsAs,put=PutOutputSpotColorsAs))
+    enum pdfSpotType OutputSpotColorsAs;
+    __declspec(property(get=GetPublishRange,put=PutPublishRange))
+    enum pdfExportRange PublishRange;
+    __declspec(property(get=GetOverprintBlackLimit,put=PutOverprintBlackLimit))
+    int OverprintBlackLimit;
+    __declspec(property(get=GetPageRange,put=PutPageRange))
+    _bstr_t PageRange;
+    __declspec(property(get=GetProtectedTextAsCurves,put=PutProtectedTextAsCurves))
+    VARIANT_BOOL ProtectedTextAsCurves;
+    __declspec(property(get=GetAuthor,put=PutAuthor))
+    _bstr_t Author;
+    __declspec(property(get=GetSubject,put=PutSubject))
+    _bstr_t Subject;
+    __declspec(property(get=GetKeywords,put=PutKeywords))
+    _bstr_t Keywords;
+    __declspec(property(get=GetBitmapCompression,put=PutBitmapCompression))
+    enum pdfBitmapCompressionType BitmapCompression;
+    __declspec(property(get=GetJPEGQualityFactor,put=PutJPEGQualityFactor))
+    int JPEGQualityFactor;
+    __declspec(property(get=GetTextAsCurves,put=PutTextAsCurves))
+    VARIANT_BOOL TextAsCurves;
+    __declspec(property(get=GetEmbedFonts,put=PutEmbedFonts))
+    VARIANT_BOOL EmbedFonts;
+    __declspec(property(get=GetEmbedBaseFonts,put=PutEmbedBaseFonts))
+    VARIANT_BOOL EmbedBaseFonts;
+    __declspec(property(get=GetTrueTypeToType1,put=PutTrueTypeToType1))
+    VARIANT_BOOL TrueTypeToType1;
+    __declspec(property(get=GetSubsetFonts,put=PutSubsetFonts))
+    VARIANT_BOOL SubsetFonts;
+    __declspec(property(get=GetSubsetPct,put=PutSubsetPct))
+    long SubsetPct;
+    __declspec(property(get=GetCompressText,put=PutCompressText))
+    VARIANT_BOOL CompressText;
+    __declspec(property(get=GetEncoding,put=PutEncoding))
+    enum pdfEncodingType Encoding;
+    __declspec(property(get=GetDownsampleColor,put=PutDownsampleColor))
+    VARIANT_BOOL DownsampleColor;
+    __declspec(property(get=GetDownsampleGray,put=PutDownsampleGray))
+    VARIANT_BOOL DownsampleGray;
+    __declspec(property(get=GetDownsampleMono,put=PutDownsampleMono))
+    VARIANT_BOOL DownsampleMono;
+    __declspec(property(get=GetColorResolution,put=PutColorResolution))
+    long ColorResolution;
+    __declspec(property(get=GetMonoResolution,put=PutMonoResolution))
+    long MonoResolution;
+    __declspec(property(get=GetGrayResolution,put=PutGrayResolution))
+    long GrayResolution;
+    __declspec(property(get=GetHyperlinks,put=PutHyperlinks))
+    VARIANT_BOOL Hyperlinks;
+    __declspec(property(get=GetBookmarks,put=PutBookmarks))
+    VARIANT_BOOL Bookmarks;
+    __declspec(property(get=GetThumbnails,put=PutThumbnails))
+    VARIANT_BOOL Thumbnails;
+    __declspec(property(get=GetStartup,put=PutStartup))
+    enum pdfDisplayOnStart Startup;
+    __declspec(property(get=GetComplexFillsAsBitmaps,put=PutComplexFillsAsBitmaps))
+    VARIANT_BOOL ComplexFillsAsBitmaps;
+    __declspec(property(get=GetOverprints,put=PutOverprints))
+    VARIANT_BOOL Overprints;
+    __declspec(property(get=GetHalftones,put=PutHalftones))
+    VARIANT_BOOL Halftones;
+    __declspec(property(get=GetSpotColors,put=PutSpotColors))
+    VARIANT_BOOL SpotColors;
+    __declspec(property(get=GetMaintainOPILinks,put=PutMaintainOPILinks))
+    VARIANT_BOOL MaintainOPILinks;
+    __declspec(property(get=GetFountainSteps,put=PutFountainSteps))
+    long FountainSteps;
+    __declspec(property(get=GetEPSAs,put=PutEPSAs))
+    enum pdfEPSAs EPSAs;
+    __declspec(property(get=GetpdfVersion,put=PutpdfVersion))
+    enum pdfVersion _pdfVersion;
+    __declspec(property(get=GetIncludeBleed,put=PutIncludeBleed))
+    VARIANT_BOOL IncludeBleed;
+    __declspec(property(get=GetBleed,put=PutBleed))
+    int Bleed;
+    __declspec(property(get=GetLinearize,put=PutLinearize))
+    VARIANT_BOOL Linearize;
+    __declspec(property(get=GetCropMarks,put=PutCropMarks))
+    VARIANT_BOOL CropMarks;
+    __declspec(property(get=GetRegistrationMarks,put=PutRegistrationMarks))
+    VARIANT_BOOL RegistrationMarks;
+    __declspec(property(get=GetDensitometerScales,put=PutDensitometerScales))
+    VARIANT_BOOL DensitometerScales;
+    __declspec(property(get=GetFileInformation,put=PutFileInformation))
+    VARIANT_BOOL FileInformation;
+    __declspec(property(get=GetColorMode,put=PutColorMode))
+    enum pdfColorMode ColorMode;
+    __declspec(property(get=GetUseColorProfile,put=PutUseColorProfile))
+    VARIANT_BOOL UseColorProfile;
+    __declspec(property(get=GetColorProfile,put=PutColorProfile))
+    enum pdfColorProfile ColorProfile;
+    __declspec(property(get=GetEmbedFilename,put=PutEmbedFilename))
+    _bstr_t EmbedFilename;
+    __declspec(property(get=GetEmbedFile,put=PutEmbedFile))
+    VARIANT_BOOL EmbedFile;
+    __declspec(property(get=GetJP2QualityFactor,put=PutJP2QualityFactor))
+    int JP2QualityFactor;
+    __declspec(property(get=GetTextExportMode,put=PutTextExportMode))
+    enum pdfTextExportMode TextExportMode;
+    __declspec(property(get=GetPrintPermissions,put=PutPrintPermissions))
+    enum pdfPrintPermissions PrintPermissions;
+    __declspec(property(get=GetEditPermissions,put=PutEditPermissions))
+    enum pdfEditPermissions EditPermissions;
+    __declspec(property(get=GetContentCopyingAllowed,put=PutContentCopyingAllowed))
+    VARIANT_BOOL ContentCopyingAllowed;
+    __declspec(property(get=GetOpenPassword,put=PutOpenPassword))
+    _bstr_t OpenPassword;
+    __declspec(property(get=GetPermissionPassword,put=PutPermissionPassword))
+    _bstr_t PermissionPassword;
+    __declspec(property(get=GetConvertSpotColors,put=PutConvertSpotColors))
+    VARIANT_BOOL ConvertSpotColors;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Reset ( );
+    VARIANT_BOOL Load (
+        _bstr_t SettingName );
+    VARIANT_BOOL Save (
+        _bstr_t SettingName );
+    VARIANT_BOOL ShowDialog ( );
+    HRESULT PublishToPDF (
+        _bstr_t FileName );
+    void PutPublishRange (
+        enum pdfExportRange pExportRange );
+    enum pdfExportRange GetPublishRange ( );
+    void PutPageRange (
+        _bstr_t pszExportPagesRange );
+    _bstr_t GetPageRange ( );
+    void PutAuthor (
+        _bstr_t pszAuthor );
+    _bstr_t GetAuthor ( );
+    void PutSubject (
+        _bstr_t pszSubject );
+    _bstr_t GetSubject ( );
+    void PutKeywords (
+        _bstr_t pszKeywords );
+    _bstr_t GetKeywords ( );
+    void PutBitmapCompression (
+        enum pdfBitmapCompressionType pBitmapCompressionType );
+    enum pdfBitmapCompressionType GetBitmapCompression ( );
+    void PutJPEGQualityFactor (
+        int pnQuality );
+    int GetJPEGQualityFactor ( );
+    void PutTextAsCurves (
+        VARIANT_BOOL pbTextAsCurves );
+    VARIANT_BOOL GetTextAsCurves ( );
+    void PutEmbedFonts (
+        VARIANT_BOOL pbEmbedFonts );
+    VARIANT_BOOL GetEmbedFonts ( );
+    void PutEmbedBaseFonts (
+        VARIANT_BOOL pbEmbedBaseFonts );
+    VARIANT_BOOL GetEmbedBaseFonts ( );
+    void PutTrueTypeToType1 (
+        VARIANT_BOOL pbTrueTypeToType1 );
+    VARIANT_BOOL GetTrueTypeToType1 ( );
+    void PutSubsetFonts (
+        VARIANT_BOOL pbSubsetType1Fonts );
+    VARIANT_BOOL GetSubsetFonts ( );
+    void PutSubsetPct (
+        long pnLevel );
+    long GetSubsetPct ( );
+    void PutCompressText (
+        VARIANT_BOOL pbCompressText );
+    VARIANT_BOOL GetCompressText ( );
+    void PutEncoding (
+        enum pdfEncodingType pEncoding );
+    enum pdfEncodingType GetEncoding ( );
+    void PutDownsampleColor (
+        VARIANT_BOOL pbDownsample );
+    VARIANT_BOOL GetDownsampleColor ( );
+    void PutDownsampleGray (
+        VARIANT_BOOL pbDownsample );
+    VARIANT_BOOL GetDownsampleGray ( );
+    void PutDownsampleMono (
+        VARIANT_BOOL pbDownsample );
+    VARIANT_BOOL GetDownsampleMono ( );
+    void PutColorResolution (
+        long pnDownsampleResolution );
+    long GetColorResolution ( );
+    void PutMonoResolution (
+        long pnDownsampleResolution );
+    long GetMonoResolution ( );
+    void PutGrayResolution (
+        long pnDownsampleResolution );
+    long GetGrayResolution ( );
+    void PutHyperlinks (
+        VARIANT_BOOL pbIncludeHyperlinks );
+    VARIANT_BOOL GetHyperlinks ( );
+    void PutBookmarks (
+        VARIANT_BOOL pbGenerateBookmarks );
+    VARIANT_BOOL GetBookmarks ( );
+    void PutThumbnails (
+        VARIANT_BOOL pbGenerateThumbnails );
+    VARIANT_BOOL GetThumbnails ( );
+    void PutStartup (
+        enum pdfDisplayOnStart pDisplayOnStart );
+    enum pdfDisplayOnStart GetStartup ( );
+    void PutComplexFillsAsBitmaps (
+        VARIANT_BOOL pbComplexFillsAsBitmaps );
+    VARIANT_BOOL GetComplexFillsAsBitmaps ( );
+    void PutOverprints (
+        VARIANT_BOOL pbPreserveOverprints );
+    VARIANT_BOOL GetOverprints ( );
+    void PutHalftones (
+        VARIANT_BOOL pbPreserveHalftones );
+    VARIANT_BOOL GetHalftones ( );
+    void PutSpotColors (
+        VARIANT_BOOL pbPreserveSpotColors );
+    VARIANT_BOOL GetSpotColors ( );
+    void PutMaintainOPILinks (
+        VARIANT_BOOL pbMaintainOPILinks );
+    VARIANT_BOOL GetMaintainOPILinks ( );
+    void PutFountainSteps (
+        long pnFountainSteps );
+    long GetFountainSteps ( );
+    void PutEPSAs (
+        enum pdfEPSAs peEPSAs );
+    enum pdfEPSAs GetEPSAs ( );
+    void PutpdfVersion (
+        enum pdfVersion pePDFVersion );
+    enum pdfVersion GetpdfVersion ( );
+    void PutIncludeBleed (
+        VARIANT_BOOL pbIncludeBleed );
+    VARIANT_BOOL GetIncludeBleed ( );
+    void PutBleed (
+        int pnBleed );
+    int GetBleed ( );
+    void PutLinearize (
+        VARIANT_BOOL pbLinearize );
+    VARIANT_BOOL GetLinearize ( );
+    void PutCropMarks (
+        VARIANT_BOOL pbCropMarks );
+    VARIANT_BOOL GetCropMarks ( );
+    void PutRegistrationMarks (
+        VARIANT_BOOL pbRegistrationMarks );
+    VARIANT_BOOL GetRegistrationMarks ( );
+    void PutDensitometerScales (
+        VARIANT_BOOL pbDensitometerScales );
+    VARIANT_BOOL GetDensitometerScales ( );
+    void PutFileInformation (
+        VARIANT_BOOL pbFileInformation );
+    VARIANT_BOOL GetFileInformation ( );
+    void PutColorMode (
+        enum pdfColorMode peColorSet );
+    enum pdfColorMode GetColorMode ( );
+    void PutUseColorProfile (
+        VARIANT_BOOL pbUseColorProfile );
+    VARIANT_BOOL GetUseColorProfile ( );
+    void PutColorProfile (
+        enum pdfColorProfile peColorProfile );
+    enum pdfColorProfile GetColorProfile ( );
+    void PutEmbedFilename (
+        _bstr_t pszEmbedFilename );
+    _bstr_t GetEmbedFilename ( );
+    void PutEmbedFile (
+        VARIANT_BOOL pbEmbedFile );
+    VARIANT_BOOL GetEmbedFile ( );
+    void PutJP2QualityFactor (
+        int pnQuality );
+    int GetJP2QualityFactor ( );
+    void PutTextExportMode (
+        enum pdfTextExportMode pExportMode );
+    enum pdfTextExportMode GetTextExportMode ( );
+    void PutPrintPermissions (
+        enum pdfPrintPermissions pPrintPermission );
+    enum pdfPrintPermissions GetPrintPermissions ( );
+    void PutEditPermissions (
+        enum pdfEditPermissions pEditPermission );
+    enum pdfEditPermissions GetEditPermissions ( );
+    void PutContentCopyingAllowed (
+        VARIANT_BOOL pbEnable );
+    VARIANT_BOOL GetContentCopyingAllowed ( );
+    void PutOpenPassword (
+        _bstr_t pszOpenPassword );
+    _bstr_t GetOpenPassword ( );
+    void PutPermissionPassword (
+        _bstr_t pszPermissionPassword );
+    _bstr_t GetPermissionPassword ( );
+    void PutConvertSpotColors (
+        VARIANT_BOOL pbConvertSpotColors );
+    VARIANT_BOOL GetConvertSpotColors ( );
+    void PutEncryptType (
+        enum pdfEncryptionType peEncryptType );
+    enum pdfEncryptionType GetEncryptType ( );
+    void PutOutputSpotColorsAs (
+        enum pdfSpotType pnConvertSpotColorsTo );
+    enum pdfSpotType GetOutputSpotColorsAs ( );
+    void PutOverprintBlackLimit (
+        int pnOverprintBlackLimit );
+    int GetOverprintBlackLimit ( );
+    void PutProtectedTextAsCurves (
+        VARIANT_BOOL pbProtectedTextAsCurves );
+    VARIANT_BOOL GetProtectedTextAsCurves ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_Load (
+        /*[in]*/ BSTR SettingName,
+        /*[out,retval]*/ VARIANT_BOOL * Result ) = 0;
+      virtual HRESULT __stdcall raw_Save (
+        /*[in]*/ BSTR SettingName,
+        /*[out,retval]*/ VARIANT_BOOL * Result ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog (
+        /*[out,retval]*/ VARIANT_BOOL * Result ) = 0;
+      virtual HRESULT __stdcall raw_PublishToPDF (
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall put_PublishRange (
+        /*[in]*/ enum pdfExportRange pExportRange ) = 0;
+      virtual HRESULT __stdcall get_PublishRange (
+        /*[out,retval]*/ enum pdfExportRange * pExportRange ) = 0;
+      virtual HRESULT __stdcall put_PageRange (
+        /*[in]*/ BSTR pszExportPagesRange ) = 0;
+      virtual HRESULT __stdcall get_PageRange (
+        /*[out,retval]*/ BSTR * pszExportPagesRange ) = 0;
+      virtual HRESULT __stdcall put_Author (
+        /*[in]*/ BSTR pszAuthor ) = 0;
+      virtual HRESULT __stdcall get_Author (
+        /*[out,retval]*/ BSTR * pszAuthor ) = 0;
+      virtual HRESULT __stdcall put_Subject (
+        /*[in]*/ BSTR pszSubject ) = 0;
+      virtual HRESULT __stdcall get_Subject (
+        /*[out,retval]*/ BSTR * pszSubject ) = 0;
+      virtual HRESULT __stdcall put_Keywords (
+        /*[in]*/ BSTR pszKeywords ) = 0;
+      virtual HRESULT __stdcall get_Keywords (
+        /*[out,retval]*/ BSTR * pszKeywords ) = 0;
+      virtual HRESULT __stdcall put_BitmapCompression (
+        /*[in]*/ enum pdfBitmapCompressionType pBitmapCompressionType ) = 0;
+      virtual HRESULT __stdcall get_BitmapCompression (
+        /*[out,retval]*/ enum pdfBitmapCompressionType * pBitmapCompressionType ) = 0;
+      virtual HRESULT __stdcall put_JPEGQualityFactor (
+        /*[in]*/ int pnQuality ) = 0;
+      virtual HRESULT __stdcall get_JPEGQualityFactor (
+        /*[out,retval]*/ int * pnQuality ) = 0;
+      virtual HRESULT __stdcall put_TextAsCurves (
+        /*[in]*/ VARIANT_BOOL pbTextAsCurves ) = 0;
+      virtual HRESULT __stdcall get_TextAsCurves (
+        /*[out,retval]*/ VARIANT_BOOL * pbTextAsCurves ) = 0;
+      virtual HRESULT __stdcall put_EmbedFonts (
+        /*[in]*/ VARIANT_BOOL pbEmbedFonts ) = 0;
+      virtual HRESULT __stdcall get_EmbedFonts (
+        /*[out,retval]*/ VARIANT_BOOL * pbEmbedFonts ) = 0;
+      virtual HRESULT __stdcall put_EmbedBaseFonts (
+        /*[in]*/ VARIANT_BOOL pbEmbedBaseFonts ) = 0;
+      virtual HRESULT __stdcall get_EmbedBaseFonts (
+        /*[out,retval]*/ VARIANT_BOOL * pbEmbedBaseFonts ) = 0;
+      virtual HRESULT __stdcall put_TrueTypeToType1 (
+        /*[in]*/ VARIANT_BOOL pbTrueTypeToType1 ) = 0;
+      virtual HRESULT __stdcall get_TrueTypeToType1 (
+        /*[out,retval]*/ VARIANT_BOOL * pbTrueTypeToType1 ) = 0;
+      virtual HRESULT __stdcall put_SubsetFonts (
+        /*[in]*/ VARIANT_BOOL pbSubsetType1Fonts ) = 0;
+      virtual HRESULT __stdcall get_SubsetFonts (
+        /*[out,retval]*/ VARIANT_BOOL * pbSubsetType1Fonts ) = 0;
+      virtual HRESULT __stdcall put_SubsetPct (
+        /*[in]*/ long pnLevel ) = 0;
+      virtual HRESULT __stdcall get_SubsetPct (
+        /*[out,retval]*/ long * pnLevel ) = 0;
+      virtual HRESULT __stdcall put_CompressText (
+        /*[in]*/ VARIANT_BOOL pbCompressText ) = 0;
+      virtual HRESULT __stdcall get_CompressText (
+        /*[out,retval]*/ VARIANT_BOOL * pbCompressText ) = 0;
+      virtual HRESULT __stdcall put_Encoding (
+        /*[in]*/ enum pdfEncodingType pEncoding ) = 0;
+      virtual HRESULT __stdcall get_Encoding (
+        /*[out,retval]*/ enum pdfEncodingType * pEncoding ) = 0;
+      virtual HRESULT __stdcall put_DownsampleColor (
+        /*[in]*/ VARIANT_BOOL pbDownsample ) = 0;
+      virtual HRESULT __stdcall get_DownsampleColor (
+        /*[out,retval]*/ VARIANT_BOOL * pbDownsample ) = 0;
+      virtual HRESULT __stdcall put_DownsampleGray (
+        /*[in]*/ VARIANT_BOOL pbDownsample ) = 0;
+      virtual HRESULT __stdcall get_DownsampleGray (
+        /*[out,retval]*/ VARIANT_BOOL * pbDownsample ) = 0;
+      virtual HRESULT __stdcall put_DownsampleMono (
+        /*[in]*/ VARIANT_BOOL pbDownsample ) = 0;
+      virtual HRESULT __stdcall get_DownsampleMono (
+        /*[out,retval]*/ VARIANT_BOOL * pbDownsample ) = 0;
+      virtual HRESULT __stdcall put_ColorResolution (
+        /*[in]*/ long pnDownsampleResolution ) = 0;
+      virtual HRESULT __stdcall get_ColorResolution (
+        /*[out,retval]*/ long * pnDownsampleResolution ) = 0;
+      virtual HRESULT __stdcall put_MonoResolution (
+        /*[in]*/ long pnDownsampleResolution ) = 0;
+      virtual HRESULT __stdcall get_MonoResolution (
+        /*[out,retval]*/ long * pnDownsampleResolution ) = 0;
+      virtual HRESULT __stdcall put_GrayResolution (
+        /*[in]*/ long pnDownsampleResolution ) = 0;
+      virtual HRESULT __stdcall get_GrayResolution (
+        /*[out,retval]*/ long * pnDownsampleResolution ) = 0;
+      virtual HRESULT __stdcall put_Hyperlinks (
+        /*[in]*/ VARIANT_BOOL pbIncludeHyperlinks ) = 0;
+      virtual HRESULT __stdcall get_Hyperlinks (
+        /*[out,retval]*/ VARIANT_BOOL * pbIncludeHyperlinks ) = 0;
+      virtual HRESULT __stdcall put_Bookmarks (
+        /*[in]*/ VARIANT_BOOL pbGenerateBookmarks ) = 0;
+      virtual HRESULT __stdcall get_Bookmarks (
+        /*[out,retval]*/ VARIANT_BOOL * pbGenerateBookmarks ) = 0;
+      virtual HRESULT __stdcall put_Thumbnails (
+        /*[in]*/ VARIANT_BOOL pbGenerateThumbnails ) = 0;
+      virtual HRESULT __stdcall get_Thumbnails (
+        /*[out,retval]*/ VARIANT_BOOL * pbGenerateThumbnails ) = 0;
+      virtual HRESULT __stdcall put_Startup (
+        /*[in]*/ enum pdfDisplayOnStart pDisplayOnStart ) = 0;
+      virtual HRESULT __stdcall get_Startup (
+        /*[out,retval]*/ enum pdfDisplayOnStart * pDisplayOnStart ) = 0;
+      virtual HRESULT __stdcall put_ComplexFillsAsBitmaps (
+        /*[in]*/ VARIANT_BOOL pbComplexFillsAsBitmaps ) = 0;
+      virtual HRESULT __stdcall get_ComplexFillsAsBitmaps (
+        /*[out,retval]*/ VARIANT_BOOL * pbComplexFillsAsBitmaps ) = 0;
+      virtual HRESULT __stdcall put_Overprints (
+        /*[in]*/ VARIANT_BOOL pbPreserveOverprints ) = 0;
+      virtual HRESULT __stdcall get_Overprints (
+        /*[out,retval]*/ VARIANT_BOOL * pbPreserveOverprints ) = 0;
+      virtual HRESULT __stdcall put_Halftones (
+        /*[in]*/ VARIANT_BOOL pbPreserveHalftones ) = 0;
+      virtual HRESULT __stdcall get_Halftones (
+        /*[out,retval]*/ VARIANT_BOOL * pbPreserveHalftones ) = 0;
+      virtual HRESULT __stdcall put_SpotColors (
+        /*[in]*/ VARIANT_BOOL pbPreserveSpotColors ) = 0;
+      virtual HRESULT __stdcall get_SpotColors (
+        /*[out,retval]*/ VARIANT_BOOL * pbPreserveSpotColors ) = 0;
+      virtual HRESULT __stdcall put_MaintainOPILinks (
+        /*[in]*/ VARIANT_BOOL pbMaintainOPILinks ) = 0;
+      virtual HRESULT __stdcall get_MaintainOPILinks (
+        /*[out,retval]*/ VARIANT_BOOL * pbMaintainOPILinks ) = 0;
+      virtual HRESULT __stdcall put_FountainSteps (
+        /*[in]*/ long pnFountainSteps ) = 0;
+      virtual HRESULT __stdcall get_FountainSteps (
+        /*[out,retval]*/ long * pnFountainSteps ) = 0;
+      virtual HRESULT __stdcall put_EPSAs (
+        /*[in]*/ enum pdfEPSAs peEPSAs ) = 0;
+      virtual HRESULT __stdcall get_EPSAs (
+        /*[out,retval]*/ enum pdfEPSAs * peEPSAs ) = 0;
+      virtual HRESULT __stdcall put_pdfVersion (
+        /*[in]*/ enum pdfVersion pePDFVersion ) = 0;
+      virtual HRESULT __stdcall get_pdfVersion (
+        /*[out,retval]*/ enum pdfVersion * pePDFVersion ) = 0;
+      virtual HRESULT __stdcall put_IncludeBleed (
+        /*[in]*/ VARIANT_BOOL pbIncludeBleed ) = 0;
+      virtual HRESULT __stdcall get_IncludeBleed (
+        /*[out,retval]*/ VARIANT_BOOL * pbIncludeBleed ) = 0;
+      virtual HRESULT __stdcall put_Bleed (
+        /*[in]*/ int pnBleed ) = 0;
+      virtual HRESULT __stdcall get_Bleed (
+        /*[out,retval]*/ int * pnBleed ) = 0;
+      virtual HRESULT __stdcall put_Linearize (
+        /*[in]*/ VARIANT_BOOL pbLinearize ) = 0;
+      virtual HRESULT __stdcall get_Linearize (
+        /*[out,retval]*/ VARIANT_BOOL * pbLinearize ) = 0;
+      virtual HRESULT __stdcall put_CropMarks (
+        /*[in]*/ VARIANT_BOOL pbCropMarks ) = 0;
+      virtual HRESULT __stdcall get_CropMarks (
+        /*[out,retval]*/ VARIANT_BOOL * pbCropMarks ) = 0;
+      virtual HRESULT __stdcall put_RegistrationMarks (
+        /*[in]*/ VARIANT_BOOL pbRegistrationMarks ) = 0;
+      virtual HRESULT __stdcall get_RegistrationMarks (
+        /*[out,retval]*/ VARIANT_BOOL * pbRegistrationMarks ) = 0;
+      virtual HRESULT __stdcall put_DensitometerScales (
+        /*[in]*/ VARIANT_BOOL pbDensitometerScales ) = 0;
+      virtual HRESULT __stdcall get_DensitometerScales (
+        /*[out,retval]*/ VARIANT_BOOL * pbDensitometerScales ) = 0;
+      virtual HRESULT __stdcall put_FileInformation (
+        /*[in]*/ VARIANT_BOOL pbFileInformation ) = 0;
+      virtual HRESULT __stdcall get_FileInformation (
+        /*[out,retval]*/ VARIANT_BOOL * pbFileInformation ) = 0;
+      virtual HRESULT __stdcall put_ColorMode (
+        /*[in]*/ enum pdfColorMode peColorSet ) = 0;
+      virtual HRESULT __stdcall get_ColorMode (
+        /*[out,retval]*/ enum pdfColorMode * peColorSet ) = 0;
+      virtual HRESULT __stdcall put_UseColorProfile (
+        /*[in]*/ VARIANT_BOOL pbUseColorProfile ) = 0;
+      virtual HRESULT __stdcall get_UseColorProfile (
+        /*[out,retval]*/ VARIANT_BOOL * pbUseColorProfile ) = 0;
+      virtual HRESULT __stdcall put_ColorProfile (
+        /*[in]*/ enum pdfColorProfile peColorProfile ) = 0;
+      virtual HRESULT __stdcall get_ColorProfile (
+        /*[out,retval]*/ enum pdfColorProfile * peColorProfile ) = 0;
+      virtual HRESULT __stdcall put_EmbedFilename (
+        /*[in]*/ BSTR pszEmbedFilename ) = 0;
+      virtual HRESULT __stdcall get_EmbedFilename (
+        /*[out,retval]*/ BSTR * pszEmbedFilename ) = 0;
+      virtual HRESULT __stdcall put_EmbedFile (
+        /*[in]*/ VARIANT_BOOL pbEmbedFile ) = 0;
+      virtual HRESULT __stdcall get_EmbedFile (
+        /*[out,retval]*/ VARIANT_BOOL * pbEmbedFile ) = 0;
+      virtual HRESULT __stdcall put_JP2QualityFactor (
+        /*[in]*/ int pnQuality ) = 0;
+      virtual HRESULT __stdcall get_JP2QualityFactor (
+        /*[out,retval]*/ int * pnQuality ) = 0;
+      virtual HRESULT __stdcall put_TextExportMode (
+        /*[in]*/ enum pdfTextExportMode pExportMode ) = 0;
+      virtual HRESULT __stdcall get_TextExportMode (
+        /*[out,retval]*/ enum pdfTextExportMode * pExportMode ) = 0;
+      virtual HRESULT __stdcall put_PrintPermissions (
+        /*[in]*/ enum pdfPrintPermissions pPrintPermission ) = 0;
+      virtual HRESULT __stdcall get_PrintPermissions (
+        /*[out,retval]*/ enum pdfPrintPermissions * pPrintPermission ) = 0;
+      virtual HRESULT __stdcall put_EditPermissions (
+        /*[in]*/ enum pdfEditPermissions pEditPermission ) = 0;
+      virtual HRESULT __stdcall get_EditPermissions (
+        /*[out,retval]*/ enum pdfEditPermissions * pEditPermission ) = 0;
+      virtual HRESULT __stdcall put_ContentCopyingAllowed (
+        /*[in]*/ VARIANT_BOOL pbEnable ) = 0;
+      virtual HRESULT __stdcall get_ContentCopyingAllowed (
+        /*[out,retval]*/ VARIANT_BOOL * pbEnable ) = 0;
+      virtual HRESULT __stdcall put_OpenPassword (
+        /*[in]*/ BSTR pszOpenPassword ) = 0;
+      virtual HRESULT __stdcall get_OpenPassword (
+        /*[out,retval]*/ BSTR * pszOpenPassword ) = 0;
+      virtual HRESULT __stdcall put_PermissionPassword (
+        /*[in]*/ BSTR pszPermissionPassword ) = 0;
+      virtual HRESULT __stdcall get_PermissionPassword (
+        /*[out,retval]*/ BSTR * pszPermissionPassword ) = 0;
+      virtual HRESULT __stdcall put_ConvertSpotColors (
+        /*[in]*/ VARIANT_BOOL pbConvertSpotColors ) = 0;
+      virtual HRESULT __stdcall get_ConvertSpotColors (
+        /*[out,retval]*/ VARIANT_BOOL * pbConvertSpotColors ) = 0;
+      virtual HRESULT __stdcall put_EncryptType (
+        /*[in]*/ enum pdfEncryptionType peEncryptType ) = 0;
+      virtual HRESULT __stdcall get_EncryptType (
+        /*[out,retval]*/ enum pdfEncryptionType * peEncryptType ) = 0;
+      virtual HRESULT __stdcall put_OutputSpotColorsAs (
+        /*[in]*/ enum pdfSpotType pnConvertSpotColorsTo ) = 0;
+      virtual HRESULT __stdcall get_OutputSpotColorsAs (
+        /*[out,retval]*/ enum pdfSpotType * pnConvertSpotColorsTo ) = 0;
+      virtual HRESULT __stdcall put_OverprintBlackLimit (
+        /*[in]*/ int pnOverprintBlackLimit ) = 0;
+      virtual HRESULT __stdcall get_OverprintBlackLimit (
+        /*[out,retval]*/ int * pnOverprintBlackLimit ) = 0;
+      virtual HRESULT __stdcall put_ProtectedTextAsCurves (
+        /*[in]*/ VARIANT_BOOL pbProtectedTextAsCurves ) = 0;
+      virtual HRESULT __stdcall get_ProtectedTextAsCurves (
+        /*[out,retval]*/ VARIANT_BOOL * pbProtectedTextAsCurves ) = 0;
+};
+
+struct __declspec(uuid("b0580057-9aa4-44fd-9547-4f91eb757ac4"))
+IVGRectangle : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCornerUpperLeft,put=PutCornerUpperLeft))
+    long CornerUpperLeft;
+    __declspec(property(get=GetCornerUpperRight,put=PutCornerUpperRight))
+    long CornerUpperRight;
+    __declspec(property(get=GetCornerLowerLeft,put=PutCornerLowerLeft))
+    long CornerLowerLeft;
+    __declspec(property(get=GetCornerLowerRight,put=PutCornerLowerRight))
+    long CornerLowerRight;
+    __declspec(property(get=GetEqualCorners))
+    VARIANT_BOOL EqualCorners;
+    __declspec(property(get=GetMaxRadius))
+    double MaxRadius;
+    __declspec(property(get=GetRadiusUpperLeft,put=PutRadiusUpperLeft))
+    double RadiusUpperLeft;
+    __declspec(property(get=GetRadiusUpperRight,put=PutRadiusUpperRight))
+    double RadiusUpperRight;
+    __declspec(property(get=GetRadiusLowerLeft,put=PutRadiusLowerLeft))
+    double RadiusLowerLeft;
+    __declspec(property(get=GetRadiusLowerRight,put=PutRadiusLowerRight))
+    double RadiusLowerRight;
+    __declspec(property(get=GetCornerType,put=PutCornerType))
+    enum cdrCornerType CornerType;
+    __declspec(property(get=GetRelativeCornerScaling,put=PutRelativeCornerScaling))
+    VARIANT_BOOL RelativeCornerScaling;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCornerUpperLeft ( );
+    void PutCornerUpperLeft (
+        long pVal );
+    long GetCornerUpperRight ( );
+    void PutCornerUpperRight (
+        long pVal );
+    long GetCornerLowerLeft ( );
+    void PutCornerLowerLeft (
+        long pVal );
+    long GetCornerLowerRight ( );
+    void PutCornerLowerRight (
+        long pVal );
+    VARIANT_BOOL GetEqualCorners ( );
+    double GetMaxRadius ( );
+    HRESULT SetRoundness (
+        long Roundness );
+    HRESULT SetRadius (
+        double Radius );
+    double GetRadiusUpperLeft ( );
+    void PutRadiusUpperLeft (
+        double pVal );
+    double GetRadiusUpperRight ( );
+    void PutRadiusUpperRight (
+        double pVal );
+    double GetRadiusLowerLeft ( );
+    void PutRadiusLowerLeft (
+        double pVal );
+    double GetRadiusLowerRight ( );
+    void PutRadiusLowerRight (
+        double pVal );
+    enum cdrCornerType GetCornerType ( );
+    void PutCornerType (
+        enum cdrCornerType pVal );
+    VARIANT_BOOL GetRelativeCornerScaling ( );
+    void PutRelativeCornerScaling (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_CornerUpperLeft (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerUpperLeft (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CornerUpperRight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerUpperRight (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CornerLowerLeft (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerLowerLeft (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CornerLowerRight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerLowerRight (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_EqualCorners (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxRadius (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetRoundness (
+        /*[in]*/ long Roundness ) = 0;
+      virtual HRESULT __stdcall raw_SetRadius (
+        /*[in]*/ double Radius ) = 0;
+      virtual HRESULT __stdcall get_RadiusUpperLeft (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RadiusUpperLeft (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RadiusUpperRight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RadiusUpperRight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RadiusLowerLeft (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RadiusLowerLeft (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RadiusLowerRight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RadiusLowerRight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_CornerType (
+        /*[out,retval]*/ enum cdrCornerType * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerType (
+        /*[in]*/ enum cdrCornerType pVal ) = 0;
+      virtual HRESULT __stdcall get_RelativeCornerScaling (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RelativeCornerScaling (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580037-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEllipse : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrEllipseType Type;
+    __declspec(property(get=GetStartAngle,put=PutStartAngle))
+    double StartAngle;
+    __declspec(property(get=GetEndAngle,put=PutEndAngle))
+    double EndAngle;
+    __declspec(property(get=GetClockwise,put=PutClockwise))
+    VARIANT_BOOL Clockwise;
+    __declspec(property(get=GetCenterX,put=PutCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY,put=PutCenterY))
+    double CenterY;
+    __declspec(property(get=GetHRadius,put=PutHRadius))
+    double HRadius;
+    __declspec(property(get=GetVRadius,put=PutVRadius))
+    double VRadius;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrEllipseType GetType ( );
+    void PutType (
+        enum cdrEllipseType pVal );
+    double GetStartAngle ( );
+    void PutStartAngle (
+        double pVal );
+    double GetEndAngle ( );
+    void PutEndAngle (
+        double pVal );
+    VARIANT_BOOL GetClockwise ( );
+    void PutClockwise (
+        VARIANT_BOOL pVal );
+    double GetCenterX ( );
+    void PutCenterX (
+        double pVal );
+    double GetCenterY ( );
+    void PutCenterY (
+        double pVal );
+    double GetHRadius ( );
+    void PutHRadius (
+        double pVal );
+    double GetVRadius ( );
+    void PutVRadius (
+        double pVal );
+    HRESULT SetCenterPosition (
+        double PositionX,
+        double PositionY );
+    HRESULT GetCenterPosition (
+        double * PositionX,
+        double * PositionY );
+    HRESULT SetRadius (
+        double HRadius,
+        double VRadius );
+    HRESULT GetRadius (
+        double * HRadius,
+        double * VRadius );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrEllipseType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrEllipseType pVal ) = 0;
+      virtual HRESULT __stdcall get_StartAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Clockwise (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Clockwise (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_HRadius (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_HRadius (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_VRadius (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_VRadius (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetCenterPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall raw_GetCenterPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall raw_SetRadius (
+        /*[in]*/ double HRadius,
+        /*[in]*/ double VRadius ) = 0;
+      virtual HRESULT __stdcall raw_GetRadius (
+        /*[out]*/ double * HRadius,
+        /*[out]*/ double * VRadius ) = 0;
+};
+
+struct __declspec(uuid("b0580051-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPolygon : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrPolygonType Type;
+    __declspec(property(get=GetSides,put=PutSides))
+    long Sides;
+    __declspec(property(get=GetSharpness,put=PutSharpness))
+    long Sharpness;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrPolygonType GetType ( );
+    void PutType (
+        enum cdrPolygonType pVal );
+    long GetSides ( );
+    void PutSides (
+        long pVal );
+    long GetSharpness ( );
+    void PutSharpness (
+        long pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrPolygonType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrPolygonType pVal ) = 0;
+      virtual HRESULT __stdcall get_Sides (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Sides (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Sharpness (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Sharpness (
+        /*[in]*/ long pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580017-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCrossPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPositionX))
+    double PositionX;
+    __declspec(property(get=GetPositionY))
+    double PositionY;
+    __declspec(property(get=GetOffset))
+    double Offset;
+    __declspec(property(get=GetOffset2))
+    double Offset2;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double GetPositionX ( );
+    double GetPositionY ( );
+    double GetOffset ( );
+    double GetOffset2 ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Offset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Offset2 (
+        /*[out,retval]*/ double * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580018-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCrossPoints : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGCrossPointPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGCrossPointPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGCrossPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580067-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructPaletteOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetNumColors,put=PutNumColors))
+    long NumColors;
+    __declspec(property(get=GetDitherIntensity,put=PutDitherIntensity))
+    long DitherIntensity;
+    __declspec(property(get=GetSmoothing,put=PutSmoothing))
+    long Smoothing;
+    __declspec(property(get=GetDitherType,put=PutDitherType))
+    enum cdrDitherType DitherType;
+    __declspec(property(get=GetPaletteType,put=PutPaletteType))
+    enum cdrImagePaletteType PaletteType;
+    __declspec(property(get=GetImportance,put=PutImportance))
+    long Importance;
+    __declspec(property(get=GetLightness,put=PutLightness))
+    long Lightness;
+    __declspec(property(get=GetToleranceA,put=PutToleranceA))
+    long ToleranceA;
+    __declspec(property(get=GetToleranceB,put=PutToleranceB))
+    long ToleranceB;
+    __declspec(property(get=GetColorSensitive,put=PutColorSensitive))
+    VARIANT_BOOL ColorSensitive;
+    __declspec(property(get=GetTargetColor,put=PutTargetColor))
+    long TargetColor;
+    __declspec(property(get=GetPalette,put=PutPalette))
+    _variant_t Palette;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    void PutNumColors (
+        long pVal );
+    long GetNumColors ( );
+    void PutDitherIntensity (
+        long pVal );
+    long GetDitherIntensity ( );
+    void PutSmoothing (
+        long pVal );
+    long GetSmoothing ( );
+    void PutDitherType (
+        enum cdrDitherType pVal );
+    enum cdrDitherType GetDitherType ( );
+    void PutPaletteType (
+        enum cdrImagePaletteType pVal );
+    enum cdrImagePaletteType GetPaletteType ( );
+    void PutImportance (
+        long pVal );
+    long GetImportance ( );
+    void PutLightness (
+        long pVal );
+    long GetLightness ( );
+    void PutToleranceA (
+        long pVal );
+    long GetToleranceA ( );
+    void PutToleranceB (
+        long pVal );
+    long GetToleranceB ( );
+    void PutColorSensitive (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetColorSensitive ( );
+    void PutTargetColor (
+        long pVal );
+    long GetTargetColor ( );
+    void PutPalette (
+        const _variant_t & pVal );
+    _variant_t GetPalette ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall put_NumColors (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_NumColors (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_DitherIntensity (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_DitherIntensity (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Smoothing (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Smoothing (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_DitherType (
+        /*[in]*/ enum cdrDitherType pVal ) = 0;
+      virtual HRESULT __stdcall get_DitherType (
+        /*[out,retval]*/ enum cdrDitherType * pVal ) = 0;
+      virtual HRESULT __stdcall put_PaletteType (
+        /*[in]*/ enum cdrImagePaletteType pVal ) = 0;
+      virtual HRESULT __stdcall get_PaletteType (
+        /*[out,retval]*/ enum cdrImagePaletteType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Importance (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Importance (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Lightness (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Lightness (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ToleranceA (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ToleranceA (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ToleranceB (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ToleranceB (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorSensitive (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorSensitive (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TargetColor (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_TargetColor (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Palette (
+        /*[in]*/ VARIANT pVal ) = 0;
+      virtual HRESULT __stdcall get_Palette (
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580046-9aa4-44fd-9547-4f91eb757ac4"))
+IVGOutlineStyle : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetDashCount,put=PutDashCount))
+    long DashCount;
+    __declspec(property(get=GetDashLength,put=PutDashLength))
+    long DashLength[];
+    __declspec(property(get=GetGapLength,put=PutGapLength))
+    long GapLength[];
+    __declspec(property(get=GetEnhanced))
+    VARIANT_BOOL Enhanced;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetIndex ( );
+    long GetDashCount ( );
+    void PutDashCount (
+        long pVal );
+    long GetDashLength (
+        long Index );
+    void PutDashLength (
+        long Index,
+        long pVal );
+    long GetGapLength (
+        long Index );
+    void PutGapLength (
+        long Index,
+        long pVal );
+    VARIANT_BOOL GetEnhanced ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_DashCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_DashCount (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_DashLength (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_DashLength (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_GapLength (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_GapLength (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Enhanced (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058004e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPatternCanvas : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetSize,put=PutSize))
+    enum cdrPatternCanvasSize Size;
+    __declspec(property(get=GetData,put=PutData))
+    _bstr_t Data;
+    __declspec(property(get=GetPixel,put=PutPixel))
+    VARIANT_BOOL Pixel[][];
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    long Width;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    long Height;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrPatternCanvasSize GetSize ( );
+    void PutSize (
+        enum cdrPatternCanvasSize pVal );
+    VARIANT_BOOL GetPixel (
+        long x,
+        long y );
+    void PutPixel (
+        long x,
+        long y,
+        VARIANT_BOOL pVal );
+    long GetIndex ( );
+    HRESULT FillArea (
+        long x1,
+        long y1,
+        long x2,
+        long y2,
+        VARIANT_BOOL State );
+    HRESULT CopyArea (
+        long x1,
+        long y1,
+        long x2,
+        long y2,
+        long x,
+        long y );
+    HRESULT FlipArea (
+        long x1,
+        long y1,
+        long x2,
+        long y2,
+        enum cdrFlipAxes Axes );
+    HRESULT RotateArea (
+        long x1,
+        long y1,
+        long x2,
+        long y2,
+        double Angle );
+    HRESULT Select (
+        long Index );
+    HRESULT Clear ( );
+    HRESULT PutCopy (
+        struct IVGPatternCanvas * PatternCanvas );
+    long GetWidth ( );
+    void PutWidth (
+        long pVal );
+    long GetHeight ( );
+    void PutHeight (
+        long pVal );
+    _bstr_t GetData ( );
+    void PutData (
+        _bstr_t pVal );
+    HRESULT PSet (
+        short Step,
+        long x,
+        long y,
+        VARIANT_BOOL Color );
+    HRESULT Line (
+        short Flags,
+        long x1,
+        long y1,
+        long x2,
+        long y2,
+        VARIANT_BOOL Color );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Size (
+        /*[out,retval]*/ enum cdrPatternCanvasSize * pVal ) = 0;
+      virtual HRESULT __stdcall put_Size (
+        /*[in]*/ enum cdrPatternCanvasSize pVal ) = 0;
+      virtual HRESULT __stdcall get_Pixel (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Pixel (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FillArea (
+        /*[in]*/ long x1,
+        /*[in]*/ long y1,
+        /*[in]*/ long x2,
+        /*[in]*/ long y2,
+        /*[in]*/ VARIANT_BOOL State ) = 0;
+      virtual HRESULT __stdcall raw_CopyArea (
+        /*[in]*/ long x1,
+        /*[in]*/ long y1,
+        /*[in]*/ long x2,
+        /*[in]*/ long y2,
+        /*[in]*/ long x,
+        /*[in]*/ long y ) = 0;
+      virtual HRESULT __stdcall raw_FlipArea (
+        /*[in]*/ long x1,
+        /*[in]*/ long y1,
+        /*[in]*/ long x2,
+        /*[in]*/ long y2,
+        /*[in]*/ enum cdrFlipAxes Axes ) = 0;
+      virtual HRESULT __stdcall raw_RotateArea (
+        /*[in]*/ long x1,
+        /*[in]*/ long y1,
+        /*[in]*/ long x2,
+        /*[in]*/ long y2,
+        /*[in]*/ double Angle ) = 0;
+      virtual HRESULT __stdcall raw_Select (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall raw_PutCopy (
+        /*[in]*/ struct IVGPatternCanvas * PatternCanvas ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Data (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Data (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall raw_PSet (
+        /*[in]*/ short Step,
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[in]*/ VARIANT_BOOL Color ) = 0;
+      virtual HRESULT __stdcall raw_Line (
+        /*[in]*/ short Flags,
+        /*[in]*/ long x1,
+        /*[in]*/ long y1,
+        /*[in]*/ long x2,
+        /*[in]*/ long y2,
+        /*[in]*/ VARIANT_BOOL Color ) = 0;
+};
+
+struct __declspec(uuid("b058007b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextureFillProperty : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetType))
+    enum cdrTexturePropertyType Type;
+    __declspec(property(get=GetValue,put=PutValue))
+    _variant_t Value;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    enum cdrTexturePropertyType GetType ( );
+    _variant_t GetValue ( );
+    void PutValue (
+        const _variant_t & pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrTexturePropertyType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Value (
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall put_Value (
+        /*[in]*/ VARIANT pVal ) = 0;
+};
+
+struct __declspec(uuid("b058007a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextureFillProperties : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGTextureFillPropertyPtr Item[];
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    IVGTextureFillPropertyPtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGTextureFillProperty * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580079-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextureFill : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetOriginX,put=PutOriginX))
+    double OriginX;
+    __declspec(property(get=GetMirrorFillY,put=PutMirrorFillY))
+    VARIANT_BOOL MirrorFillY;
+    __declspec(property(get=GetOriginY,put=PutOriginY))
+    double OriginY;
+    __declspec(property(get=GetTileWidth,put=PutTileWidth))
+    double TileWidth;
+    __declspec(property(get=GetTileHeight,put=PutTileHeight))
+    double TileHeight;
+    __declspec(property(get=GetTileOffsetType,put=PutTileOffsetType))
+    enum cdrTileOffsetType TileOffsetType;
+    __declspec(property(get=GetTileOffset,put=PutTileOffset))
+    long TileOffset;
+    __declspec(property(get=GetSkewAngle,put=PutSkewAngle))
+    double SkewAngle;
+    __declspec(property(get=GetRotationAngle,put=PutRotationAngle))
+    double RotationAngle;
+    __declspec(property(get=GetTransformWithShape,put=PutTransformWithShape))
+    VARIANT_BOOL TransformWithShape;
+    __declspec(property(get=GetResolution,put=PutResolution))
+    long Resolution;
+    __declspec(property(get=GetMaximumTileWidth,put=PutMaximumTileWidth))
+    long MaximumTileWidth;
+    __declspec(property(get=GetLibraryName))
+    _bstr_t LibraryName;
+    __declspec(property(get=GetTextureName))
+    _bstr_t TextureName;
+    __declspec(property(get=GetStyleName))
+    _bstr_t StyleName;
+    __declspec(property(get=GetMirrorFill,put=PutMirrorFill))
+    VARIANT_BOOL MirrorFill;
+    __declspec(property(get=GetProperties))
+    IVGTextureFillPropertiesPtr Properties;
+    __declspec(property(get=GetMirrorFillX,put=PutMirrorFillX))
+    VARIANT_BOOL MirrorFillX;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double GetOriginX ( );
+    void PutOriginX (
+        double pVal );
+    double GetOriginY ( );
+    void PutOriginY (
+        double pVal );
+    double GetTileWidth ( );
+    void PutTileWidth (
+        double pVal );
+    double GetTileHeight ( );
+    void PutTileHeight (
+        double pVal );
+    enum cdrTileOffsetType GetTileOffsetType ( );
+    void PutTileOffsetType (
+        enum cdrTileOffsetType pVal );
+    long GetTileOffset ( );
+    void PutTileOffset (
+        long pVal );
+    double GetSkewAngle ( );
+    void PutSkewAngle (
+        double pVal );
+    double GetRotationAngle ( );
+    void PutRotationAngle (
+        double pVal );
+    VARIANT_BOOL GetTransformWithShape ( );
+    void PutTransformWithShape (
+        VARIANT_BOOL pVal );
+    long GetResolution ( );
+    void PutResolution (
+        long pVal );
+    long GetMaximumTileWidth ( );
+    void PutMaximumTileWidth (
+        long pVal );
+    _bstr_t GetLibraryName ( );
+    _bstr_t GetTextureName ( );
+    _bstr_t GetStyleName ( );
+    HRESULT Select (
+        _bstr_t Texture,
+        _bstr_t Library );
+    HRESULT SetProperties (
+        SAFEARRAY * * SettingArray );
+    VARIANT_BOOL GetMirrorFill ( );
+    void PutMirrorFill (
+        VARIANT_BOOL pVal );
+    IVGTextureFillPropertiesPtr GetProperties ( );
+    VARIANT_BOOL GetMirrorFillX ( );
+    void PutMirrorFillX (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMirrorFillY ( );
+    void PutMirrorFillY (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_OriginX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOffsetType (
+        /*[out,retval]*/ enum cdrTileOffsetType * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOffsetType (
+        /*[in]*/ enum cdrTileOffsetType pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOffset (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOffset (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_SkewAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SkewAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TransformWithShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TransformWithShape (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Resolution (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Resolution (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_MaximumTileWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaximumTileWidth (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_LibraryName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_TextureName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_StyleName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Select (
+        /*[in]*/ BSTR Texture,
+        /*[in]*/ BSTR Library ) = 0;
+      virtual HRESULT __stdcall raw_SetProperties (
+        /*[in]*/ SAFEARRAY * * SettingArray ) = 0;
+      virtual HRESULT __stdcall get_MirrorFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Properties (
+        /*[out,retval]*/ struct IVGTextureFillProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFillX (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFillX (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFillY (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFillY (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580052-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPostScriptFill : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetProperties,put=PutProperties))
+    long Properties[];
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    long GetIndex ( );
+    long GetProperties (
+        long Index );
+    void PutProperties (
+        long Index,
+        long pVal );
+    HRESULT Select (
+        const _variant_t & IndexOrName );
+    HRESULT SetProperties (
+        long Param1,
+        long Param2,
+        long Param3,
+        long Param4,
+        long Param5 );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Properties (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Properties (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_Select (
+        /*[in]*/ VARIANT IndexOrName ) = 0;
+      virtual HRESULT __stdcall raw_SetProperties (
+        /*[in]*/ long Param1,
+        /*[in]*/ long Param2,
+        /*[in]*/ long Param3,
+        /*[in]*/ long Param4,
+        /*[in]*/ long Param5 ) = 0;
+};
+
+struct __declspec(uuid("b0580096-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPSScreenOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetAngle,put=PutAngle))
+    double Angle;
+    __declspec(property(get=GetFrequency,put=PutFrequency))
+    long Frequency;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetIndex ( );
+    _bstr_t GetName ( );
+    double GetAngle ( );
+    void PutAngle (
+        double pVal );
+    long GetFrequency ( );
+    void PutFrequency (
+        long pVal );
+    VARIANT_BOOL Select (
+        _bstr_t Name );
+    VARIANT_BOOL SetProperties (
+        const _variant_t & IndexOrName,
+        double Angle,
+        long Frequency );
+    _bstr_t NameByIndex (
+        long Index );
+    HRESULT Reset ( );
+    VARIANT_BOOL UserAssign (
+        long ParentWindowHandle );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Angle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Frequency (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Frequency (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_Select (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetProperties (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[in]*/ double Angle,
+        /*[in]*/ long Frequency,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_NameByIndex (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_UserAssign (
+        /*[in]*/ long ParentWindowHandle,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a7-9aa4-44fd-9547-4f91eb757ac4"))
+IVGArrowHeadOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetLength,put=PutLength))
+    double Length;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    double Width;
+    __declspec(property(get=GetOffsetX,put=PutOffsetX))
+    double OffsetX;
+    __declspec(property(get=GetOffsetY,put=PutOffsetY))
+    double OffsetY;
+    __declspec(property(get=GetFlipHorizontal,put=PutFlipHorizontal))
+    VARIANT_BOOL FlipHorizontal;
+    __declspec(property(get=GetFlipVertical,put=PutFlipVertical))
+    VARIANT_BOOL FlipVertical;
+    __declspec(property(get=GetRotationAngle,put=PutRotationAngle))
+    double RotationAngle;
+    __declspec(property(get=GetFlipVerical,put=PutFlipVerical))
+    VARIANT_BOOL FlipVerical;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double GetLength ( );
+    void PutLength (
+        double pVal );
+    double GetWidth ( );
+    void PutWidth (
+        double pVal );
+    double GetOffsetX ( );
+    void PutOffsetX (
+        double pVal );
+    double GetOffsetY ( );
+    void PutOffsetY (
+        double pVal );
+    VARIANT_BOOL GetFlipHorizontal ( );
+    void PutFlipHorizontal (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetFlipVertical ( );
+    void PutFlipVertical (
+        VARIANT_BOOL pVal );
+    HRESULT Flip (
+        enum cdrFlipAxes Axes );
+    double GetRotationAngle ( );
+    void PutRotationAngle (
+        double pVal );
+    HRESULT CopyAssign (
+        struct IVGArrowHeadOptions * Source );
+    IVGArrowHeadOptionsPtr GetCopy ( );
+    VARIANT_BOOL GetFlipVerical ( );
+    void PutFlipVerical (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Length (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Length (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OffsetX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OffsetX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OffsetY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OffsetY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FlipHorizontal (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FlipHorizontal (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FlipVertical (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FlipVertical (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Flip (
+        /*[in]*/ enum cdrFlipAxes Axes ) = 0;
+      virtual HRESULT __stdcall get_RotationAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGArrowHeadOptions * Source ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGArrowHeadOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FlipVerical (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FlipVerical (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800da-9aa4-44fd-9547-4f91eb757ac4"))
+IVGImageTile : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetLeft))
+    long Left;
+    __declspec(property(get=GetTop))
+    long Top;
+    __declspec(property(get=GetRight))
+    long Right;
+    __declspec(property(get=GetBottom))
+    long Bottom;
+    __declspec(property(get=GetWidth))
+    long Width;
+    __declspec(property(get=GetHeight))
+    long Height;
+    __declspec(property(get=GetBytesPerTile))
+    long BytesPerTile;
+    __declspec(property(get=GetBytesPerLine))
+    long BytesPerLine;
+    __declspec(property(get=GetBytesPerPixel))
+    long BytesPerPixel;
+    __declspec(property(get=GetReadOnly))
+    VARIANT_BOOL ReadOnly;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetLeft ( );
+    long GetTop ( );
+    long GetRight ( );
+    long GetBottom ( );
+    long GetWidth ( );
+    long GetHeight ( );
+    long GetBytesPerTile ( );
+    long GetBytesPerLine ( );
+    long GetBytesPerPixel ( );
+    SAFEARRAY * GetPixelData ( );
+    void PutPixelData (
+        SAFEARRAY * * pVal );
+    VARIANT_BOOL GetReadOnly ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Left (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Right (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Bottom (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_BytesPerTile (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_BytesPerLine (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_BytesPerPixel (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_PixelData (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall put_PixelData (
+        /*[in]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall get_ReadOnly (
+        /*[out,retval]*/ VARIANT_BOOL * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800d9-9aa4-44fd-9547-4f91eb757ac4"))
+IVGImageTiles : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGImageTilePtr Item[];
+    __declspec(property(get=GetFirst))
+    IVGImageTilePtr First;
+    __declspec(property(get=GetLast))
+    IVGImageTilePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    IVGImageTilePtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    IVGImageTilePtr GetFirst ( );
+    IVGImageTilePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGImageTile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGImageTile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGImageTile * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580062-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructAlignProperties : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetAlignment,put=PutAlignment))
+    enum cdrAlignment Alignment;
+    __declspec(property(get=GetFirstLineIndent,put=PutFirstLineIndent))
+    double FirstLineIndent;
+    __declspec(property(get=GetLeftIndent,put=PutLeftIndent))
+    double LeftIndent;
+    __declspec(property(get=GetRightIndent,put=PutRightIndent))
+    double RightIndent;
+    __declspec(property(get=GetMaxWordSpacing,put=PutMaxWordSpacing))
+    float MaxWordSpacing;
+    __declspec(property(get=GetMinWordSpacing,put=PutMinWordSpacing))
+    float MinWordSpacing;
+    __declspec(property(get=GetMaxCharacterSpacing,put=PutMaxCharacterSpacing))
+    float MaxCharacterSpacing;
+    __declspec(property(get=GetHorizontalCharacterShift,put=PutHorizontalCharacterShift))
+    long HorizontalCharacterShift;
+    __declspec(property(get=GetVerticalCharacterShift,put=PutVerticalCharacterShift))
+    long VerticalCharacterShift;
+    __declspec(property(get=GetCharacterRotation,put=PutCharacterRotation))
+    float CharacterRotation;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    void PutAlignment (
+        enum cdrAlignment pVal );
+    enum cdrAlignment GetAlignment ( );
+    void PutFirstLineIndent (
+        double pVal );
+    double GetFirstLineIndent ( );
+    void PutLeftIndent (
+        double pVal );
+    double GetLeftIndent ( );
+    void PutRightIndent (
+        double pVal );
+    double GetRightIndent ( );
+    void PutMaxWordSpacing (
+        float pVal );
+    float GetMaxWordSpacing ( );
+    void PutMinWordSpacing (
+        float pVal );
+    float GetMinWordSpacing ( );
+    void PutMaxCharacterSpacing (
+        float pVal );
+    float GetMaxCharacterSpacing ( );
+    void PutHorizontalCharacterShift (
+        long pVal );
+    long GetHorizontalCharacterShift ( );
+    void PutVerticalCharacterShift (
+        long pVal );
+    long GetVerticalCharacterShift ( );
+    void PutCharacterRotation (
+        float pVal );
+    float GetCharacterRotation ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall put_Alignment (
+        /*[in]*/ enum cdrAlignment pVal ) = 0;
+      virtual HRESULT __stdcall get_Alignment (
+        /*[out,retval]*/ enum cdrAlignment * pVal ) = 0;
+      virtual HRESULT __stdcall put_FirstLineIndent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FirstLineIndent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_LeftIndent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_LeftIndent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RightIndent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RightIndent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaxWordSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxWordSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_MinWordSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_MinWordSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaxCharacterSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxCharacterSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_HorizontalCharacterShift (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HorizontalCharacterShift (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_VerticalCharacterShift (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_VerticalCharacterShift (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CharacterRotation (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_CharacterRotation (
+        /*[out,retval]*/ float * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580069-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructSpaceProperties : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCharacterSpacing,put=PutCharacterSpacing))
+    float CharacterSpacing;
+    __declspec(property(get=GetWordSpacing,put=PutWordSpacing))
+    float WordSpacing;
+    __declspec(property(get=GetLineSpacing,put=PutLineSpacing))
+    float LineSpacing;
+    __declspec(property(get=GetLineSpacingType,put=PutLineSpacingType))
+    enum cdrLineSpacingType LineSpacingType;
+    __declspec(property(get=GetBeforeParagraphSpacing,put=PutBeforeParagraphSpacing))
+    float BeforeParagraphSpacing;
+    __declspec(property(get=GetAfterParagraphSpacing,put=PutAfterParagraphSpacing))
+    float AfterParagraphSpacing;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    void PutCharacterSpacing (
+        float pVal );
+    float GetCharacterSpacing ( );
+    void PutWordSpacing (
+        float pVal );
+    float GetWordSpacing ( );
+    void PutLineSpacing (
+        float pVal );
+    float GetLineSpacing ( );
+    void PutLineSpacingType (
+        enum cdrLineSpacingType pVal );
+    enum cdrLineSpacingType GetLineSpacingType ( );
+    void PutBeforeParagraphSpacing (
+        float pVal );
+    float GetBeforeParagraphSpacing ( );
+    void PutAfterParagraphSpacing (
+        float pVal );
+    float GetAfterParagraphSpacing ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall put_CharacterSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_CharacterSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_WordSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_WordSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_LineSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_LineSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_LineSpacingType (
+        /*[in]*/ enum cdrLineSpacingType pVal ) = 0;
+      virtual HRESULT __stdcall get_LineSpacingType (
+        /*[out,retval]*/ enum cdrLineSpacingType * pVal ) = 0;
+      virtual HRESULT __stdcall put_BeforeParagraphSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_BeforeParagraphSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_AfterParagraphSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_AfterParagraphSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580066-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructHyphenationSettings : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetUseAutomaticHyphenation,put=PutUseAutomaticHyphenation))
+    VARIANT_BOOL UseAutomaticHyphenation;
+    __declspec(property(get=GetBreakCapitalized,put=PutBreakCapitalized))
+    VARIANT_BOOL BreakCapitalized;
+    __declspec(property(get=GetHotZone,put=PutHotZone))
+    double HotZone;
+    __declspec(property(get=GetMinWordLength,put=PutMinWordLength))
+    long MinWordLength;
+    __declspec(property(get=GetMinCharactersBefore,put=PutMinCharactersBefore))
+    long MinCharactersBefore;
+    __declspec(property(get=GetMinCharactersAfter,put=PutMinCharactersAfter))
+    long MinCharactersAfter;
+    __declspec(property(get=GetBreakAllCapWords,put=PutBreakAllCapWords))
+    VARIANT_BOOL BreakAllCapWords;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    void PutUseAutomaticHyphenation (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetUseAutomaticHyphenation ( );
+    void PutBreakCapitalized (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetBreakCapitalized ( );
+    void PutHotZone (
+        double pVal );
+    double GetHotZone ( );
+    void PutMinWordLength (
+        long pVal );
+    long GetMinWordLength ( );
+    void PutMinCharactersBefore (
+        long pVal );
+    long GetMinCharactersBefore ( );
+    void PutMinCharactersAfter (
+        long pVal );
+    long GetMinCharactersAfter ( );
+    void PutBreakAllCapWords (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetBreakAllCapWords ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall put_UseAutomaticHyphenation (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_UseAutomaticHyphenation (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_BreakCapitalized (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BreakCapitalized (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_HotZone (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_HotZone (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_MinWordLength (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_MinWordLength (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MinCharactersBefore (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_MinCharactersBefore (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MinCharactersAfter (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_MinCharactersAfter (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_BreakAllCapWords (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BreakAllCapWords (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a8-9aa4-44fd-9547-4f91eb757ac4"))
+IVGUserSnapPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetAutoSnap,put=PutAutoSnap))
+    VARIANT_BOOL AutoSnap;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetID ( );
+    VARIANT_BOOL GetAutoSnap ( );
+    void PutAutoSnap (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoSnap (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoSnap (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a9-9aa4-44fd-9547-4f91eb757ac4"))
+IVGObjectSnapPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrObjectSnapPointType Type;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrObjectSnapPointType GetType ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrObjectSnapPointType * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800aa-9aa4-44fd-9547-4f91eb757ac4"))
+IVGBBoxSnapPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrReferencePoint Type;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrReferencePoint GetType ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrReferencePoint * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800ac-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEdgeSnapPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetSegmentIndex))
+    long SegmentIndex;
+    __declspec(property(get=GetSegmentOffset))
+    double SegmentOffset;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetSegmentIndex ( );
+    double GetSegmentOffset ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_SegmentIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_SegmentOffset (
+        /*[out,retval]*/ double * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058001b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectCustomDistortion : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetDistortionID))
+    _bstr_t DistortionID;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetDistortionID ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_DistortionID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580094-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextTabPosition : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPosition,put=PutPosition))
+    double Position;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetAlignment,put=PutAlignment))
+    enum cdrTextTabAlignment Alignment;
+    __declspec(property(get=GetLeadered,put=PutLeadered))
+    VARIANT_BOOL Leadered;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double GetPosition ( );
+    void PutPosition (
+        double pVal );
+    long GetIndex ( );
+    enum cdrTextTabAlignment GetAlignment ( );
+    void PutAlignment (
+        enum cdrTextTabAlignment pVal );
+    VARIANT_BOOL GetLeadered ( );
+    void PutLeadered (
+        VARIANT_BOOL pVal );
+    HRESULT Delete ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Position (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Alignment (
+        /*[out,retval]*/ enum cdrTextTabAlignment * pVal ) = 0;
+      virtual HRESULT __stdcall put_Alignment (
+        /*[in]*/ enum cdrTextTabAlignment pVal ) = 0;
+      virtual HRESULT __stdcall get_Leadered (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Leadered (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+};
+
+struct __declspec(uuid("b0580095-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextTabPositions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextTabPositionPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetLeaderSpacing,put=PutLeaderSpacing))
+    long LeaderSpacing;
+    __declspec(property(get=GetLeaderCharacter,put=PutLeaderCharacter))
+    _bstr_t LeaderCharacter;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGTextTabPositionPtr GetItem (
+        long Index );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+    long GetLeaderSpacing ( );
+    void PutLeaderSpacing (
+        long pVal );
+    _bstr_t GetLeaderCharacter ( );
+    void PutLeaderCharacter (
+        _bstr_t pVal );
+    HRESULT Clear ( );
+    IVGTextTabPositionPtr Add (
+        double Position,
+        enum cdrTextTabAlignment Alignment,
+        VARIANT_BOOL Leadered );
+    HRESULT AddEvery (
+        double Position,
+        enum cdrTextTabAlignment Alignment,
+        VARIANT_BOOL Leadered );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGTextTabPosition * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_LeaderSpacing (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_LeaderSpacing (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_LeaderCharacter (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_LeaderCharacter (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ double Position,
+        /*[in]*/ enum cdrTextTabAlignment Alignment,
+        /*[in]*/ VARIANT_BOOL Leadered,
+        /*[out,retval]*/ struct IVGTextTabPosition * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddEvery (
+        /*[in]*/ double Position,
+        /*[in]*/ enum cdrTextTabAlignment Alignment,
+        /*[in]*/ VARIANT_BOOL Leadered ) = 0;
+};
+
+struct __declspec(uuid("b05800c1-9aa4-44fd-9547-4f91eb757ac4"))
+IVGLocalizableString : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetIsEmpty))
+    VARIANT_BOOL IsEmpty;
+    __declspec(property(get=GetHasDefaultLangString))
+    VARIANT_BOOL HasDefaultLangString;
+    __declspec(property(get=GetHasDefaultLangStringOnly))
+    VARIANT_BOOL HasDefaultLangStringOnly;
+    __declspec(property(get=GetHasNonDefaultLangStrings))
+    VARIANT_BOOL HasNonDefaultLangStrings;
+    __declspec(property(get=GetDefaultLangString,put=PutDefaultLangString))
+    _bstr_t DefaultLangString;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Clear ( );
+    VARIANT_BOOL GetIsEmpty ( );
+    _bstr_t GetLangString (
+        _bstr_t Language );
+    HRESULT SetLangString (
+        _bstr_t Language,
+        _bstr_t Value );
+    VARIANT_BOOL HasLangString (
+        _bstr_t Language );
+    VARIANT_BOOL GetHasDefaultLangString ( );
+    VARIANT_BOOL GetHasDefaultLangStringOnly ( );
+    VARIANT_BOOL GetHasNonDefaultLangStrings ( );
+    _bstr_t GetDefaultLangString ( );
+    void PutDefaultLangString (
+        _bstr_t pVal );
+    SAFEARRAY * GetLanguages ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall get_IsEmpty (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetLangString (
+        /*[in]*/ BSTR Language,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetLangString (
+        /*[in]*/ BSTR Language,
+        /*[in]*/ BSTR Value ) = 0;
+      virtual HRESULT __stdcall raw_HasLangString (
+        /*[in]*/ BSTR Language,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasDefaultLangString (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasDefaultLangStringOnly (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasNonDefaultLangStrings (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultLangString (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_DefaultLangString (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetLanguages (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800c0-9aa4-44fd-9547-4f91eb757ac4"))
+IVGFillMetadata : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetTitle))
+    IVGLocalizableStringPtr Title;
+    __declspec(property(get=GetDescription))
+    IVGLocalizableStringPtr Description;
+    __declspec(property(get=GetKeywords))
+    IVGLocalizableStringPtr Keywords;
+    __declspec(property(get=GetSubject))
+    IVGLocalizableStringPtr Subject;
+    __declspec(property(get=GetCopyright))
+    IVGLocalizableStringPtr Copyright;
+    __declspec(property(get=GetCreatorTool))
+    _bstr_t CreatorTool;
+    __declspec(property(get=GetCreationDate))
+    DATE CreationDate;
+    __declspec(property(get=GetModificationDate))
+    DATE ModificationDate;
+    __declspec(property(get=GetDocumentID))
+    _bstr_t DocumentID;
+    __declspec(property(get=GetInstanceID))
+    _bstr_t InstanceID;
+    __declspec(property(get=GetDerivedFrom))
+    SAFEARRAY * DerivedFrom;
+    __declspec(property(get=GetCategory))
+    IVGLocalizableStringPtr Category;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGLocalizableStringPtr GetTitle ( );
+    IVGLocalizableStringPtr GetDescription ( );
+    IVGLocalizableStringPtr GetKeywords ( );
+    IVGLocalizableStringPtr GetSubject ( );
+    IVGLocalizableStringPtr GetCopyright ( );
+    _bstr_t GetCreatorTool ( );
+    DATE GetCreationDate ( );
+    DATE GetModificationDate ( );
+    _bstr_t GetDocumentID ( );
+    _bstr_t GetInstanceID ( );
+    SAFEARRAY * GetDerivedFrom ( );
+    IVGLocalizableStringPtr GetCategory ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Title (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Description (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Keywords (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Subject (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Copyright (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CreatorTool (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_CreationDate (
+        /*[out,retval]*/ DATE * pVal ) = 0;
+      virtual HRESULT __stdcall get_ModificationDate (
+        /*[out,retval]*/ DATE * pVal ) = 0;
+      virtual HRESULT __stdcall get_DocumentID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_InstanceID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_DerivedFrom (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Category (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800dd-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextIndentLevelStyle : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetLevel))
+    long Level;
+    __declspec(property(get=GetFont,put=PutFont))
+    _bstr_t Font;
+    __declspec(property(get=GetUseParagraphFont,put=PutUseParagraphFont))
+    VARIANT_BOOL UseParagraphFont;
+    __declspec(property(get=GetSymbol,put=PutSymbol))
+    _bstr_t Symbol;
+    __declspec(property(get=GetSize,put=PutSize))
+    float Size;
+    __declspec(property(get=GetBaselineShift,put=PutBaselineShift))
+    float BaselineShift;
+    __declspec(property(get=GetHangingIndent,put=PutHangingIndent))
+    VARIANT_BOOL HangingIndent;
+    __declspec(property(get=GetFirstCharIndent,put=PutFirstCharIndent))
+    double FirstCharIndent;
+    __declspec(property(get=GetFirstCharIndentIncludesBullet,put=PutFirstCharIndentIncludesBullet))
+    VARIANT_BOOL FirstCharIndentIncludesBullet;
+    __declspec(property(get=GetFormat,put=PutFormat))
+    _bstr_t Format;
+    __declspec(property(get=GetNumberStyle,put=PutNumberStyle))
+    enum cdrTextIndentLevelStyle NumberStyle;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetLevel ( );
+    _bstr_t GetFont ( );
+    void PutFont (
+        _bstr_t pVal );
+    VARIANT_BOOL GetUseParagraphFont ( );
+    void PutUseParagraphFont (
+        VARIANT_BOOL pVal );
+    _bstr_t GetSymbol ( );
+    void PutSymbol (
+        _bstr_t pVal );
+    float GetSize ( );
+    void PutSize (
+        float pVal );
+    float GetBaselineShift ( );
+    void PutBaselineShift (
+        float pVal );
+    VARIANT_BOOL GetHangingIndent ( );
+    void PutHangingIndent (
+        VARIANT_BOOL pVal );
+    double GetFirstCharIndent ( );
+    void PutFirstCharIndent (
+        double pVal );
+    VARIANT_BOOL GetFirstCharIndentIncludesBullet ( );
+    void PutFirstCharIndentIncludesBullet (
+        VARIANT_BOOL pVal );
+    _bstr_t GetFormat ( );
+    void PutFormat (
+        _bstr_t pVal );
+    enum cdrTextIndentLevelStyle GetNumberStyle ( );
+    void PutNumberStyle (
+        enum cdrTextIndentLevelStyle pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Level (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Font (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Font (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_UseParagraphFont (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseParagraphFont (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Symbol (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Symbol (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Size (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_Size (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_BaselineShift (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_BaselineShift (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_HangingIndent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_HangingIndent (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FirstCharIndent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FirstCharIndent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FirstCharIndentIncludesBullet (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FirstCharIndentIncludesBullet (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Format (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Format (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_NumberStyle (
+        /*[out,retval]*/ enum cdrTextIndentLevelStyle * pVal ) = 0;
+      virtual HRESULT __stdcall put_NumberStyle (
+        /*[in]*/ enum cdrTextIndentLevelStyle pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800dc-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextIndentLevelStyles : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextIndentLevelStylePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextIndentLevelStylePtr GetItem (
+        long Index );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGTextIndentLevelStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800df-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextVariableAxis : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetTag))
+    long Tag;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetValue,put=PutValue))
+    double Value;
+    __declspec(property(get=GetMinValue))
+    double MinValue;
+    __declspec(property(get=GetMaxValue))
+    double MaxValue;
+    __declspec(property(get=GetDefaultValue))
+    double DefaultValue;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetTag ( );
+    _bstr_t GetName ( );
+    double GetValue ( );
+    void PutValue (
+        double pVal );
+    double GetMinValue ( );
+    double GetMaxValue ( );
+    double GetDefaultValue ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Tag (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Value (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Value (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_MinValue (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxValue (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultValue (
+        /*[out,retval]*/ double * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800de-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextVariableAxes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextVariableAxisPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextVariableAxisPtr GetItem (
+        long Index );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGTextVariableAxis * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058003f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGGuide : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrGuideType Type;
+    __declspec(property(get=GetPreset))
+    VARIANT_BOOL Preset;
+    __declspec(property(get=GetPoint1X))
+    double Point1X;
+    __declspec(property(get=GetPoint1Y))
+    double Point1Y;
+    __declspec(property(get=GetPoint2X))
+    double Point2X;
+    __declspec(property(get=GetPoint2Y))
+    double Point2Y;
+    __declspec(property(get=GetAngle))
+    double Angle;
+    __declspec(property(get=GetInterceptX))
+    double InterceptX;
+    __declspec(property(get=GetInterceptY))
+    double InterceptY;
+    __declspec(property(get=GetCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY))
+    double CenterY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrGuideType GetType ( );
+    VARIANT_BOOL GetPreset ( );
+    HRESULT MakeEditable ( );
+    double GetPoint1X ( );
+    double GetPoint1Y ( );
+    double GetPoint2X ( );
+    double GetPoint2Y ( );
+    double GetAngle ( );
+    HRESULT GetPoints (
+        double * Point1X,
+        double * Point1Y,
+        double * Point2X,
+        double * Point2Y );
+    HRESULT GetPointAndAngle (
+        double * PointX,
+        double * PointY,
+        double * Angle );
+    HRESULT SetPoints (
+        double Point1X,
+        double Point1Y,
+        double Point2X,
+        double Point2Y );
+    HRESULT SetPointAndAngle (
+        double PointX,
+        double PointY,
+        double Angle );
+    double GetInterceptX ( );
+    double GetInterceptY ( );
+    double GetCenterX ( );
+    double GetCenterY ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrGuideType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Preset (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MakeEditable ( ) = 0;
+      virtual HRESULT __stdcall get_Point1X (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Point1Y (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Point2X (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Point2Y (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPoints (
+        /*[out]*/ double * Point1X,
+        /*[out]*/ double * Point1Y,
+        /*[out]*/ double * Point2X,
+        /*[out]*/ double * Point2Y ) = 0;
+      virtual HRESULT __stdcall raw_GetPointAndAngle (
+        /*[out]*/ double * PointX,
+        /*[out]*/ double * PointY,
+        /*[out]*/ double * Angle ) = 0;
+      virtual HRESULT __stdcall raw_SetPoints (
+        /*[in]*/ double Point1X,
+        /*[in]*/ double Point1Y,
+        /*[in]*/ double Point2X,
+        /*[in]*/ double Point2Y ) = 0;
+      virtual HRESULT __stdcall raw_SetPointAndAngle (
+        /*[in]*/ double PointX,
+        /*[in]*/ double PointY,
+        /*[in]*/ double Angle ) = 0;
+      virtual HRESULT __stdcall get_InterceptX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_InterceptY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058007e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGURL : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetAddress,put=PutAddress))
+    _bstr_t Address;
+    __declspec(property(get=GetTargetFrame,put=PutTargetFrame))
+    _bstr_t TargetFrame;
+    __declspec(property(get=GetAltComment,put=PutAltComment))
+    _bstr_t AltComment;
+    __declspec(property(get=GetBookMark,put=PutBookMark))
+    _bstr_t BookMark;
+    __declspec(property(get=GetRegion,put=PutRegion))
+    enum cdrURLRegion Region;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetAddress ( );
+    void PutAddress (
+        _bstr_t pVal );
+    _bstr_t GetTargetFrame ( );
+    void PutTargetFrame (
+        _bstr_t pVal );
+    _bstr_t GetAltComment ( );
+    void PutAltComment (
+        _bstr_t pVal );
+    _bstr_t GetBookMark ( );
+    void PutBookMark (
+        _bstr_t pVal );
+    enum cdrURLRegion GetRegion ( );
+    void PutRegion (
+        enum cdrURLRegion pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Address (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Address (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_TargetFrame (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TargetFrame (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_AltComment (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_AltComment (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_BookMark (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_BookMark (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Region (
+        /*[out,retval]*/ enum cdrURLRegion * pVal ) = 0;
+      virtual HRESULT __stdcall put_Region (
+        /*[in]*/ enum cdrURLRegion pVal ) = 0;
+};
+
+struct __declspec(uuid("b058001c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCustomShape : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetTypeID))
+    _bstr_t TypeID;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetTypeID ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_TypeID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580088-9aa4-44fd-9547-4f91eb757ac4"))
+IVGOLE : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetClassID))
+    _bstr_t ClassID;
+    __declspec(property(get=GetProgID))
+    _bstr_t ProgID;
+    __declspec(property(get=GetType))
+    enum cdrOLEType Type;
+    __declspec(property(get=GetFullName))
+    _bstr_t FullName;
+    __declspec(property(get=GetShortName))
+    _bstr_t ShortName;
+    __declspec(property(get=GetServerName))
+    _bstr_t ServerName;
+    __declspec(property(get=GetModified))
+    VARIANT_BOOL Modified;
+    __declspec(property(get=GetIsInPlaceActive))
+    VARIANT_BOOL IsInPlaceActive;
+    __declspec(property(get=GetIsOpen))
+    VARIANT_BOOL IsOpen;
+    __declspec(property(get=GetIsServerRunning))
+    VARIANT_BOOL IsServerRunning;
+    __declspec(property(get=GetInPlaceWindowHandle))
+    long InPlaceWindowHandle;
+    __declspec(property(get=GetIsLinkUpToDate))
+    VARIANT_BOOL IsLinkUpToDate;
+    __declspec(property(get=GetLinkPath))
+    _bstr_t LinkPath;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetClassID ( );
+    _bstr_t GetProgID ( );
+    enum cdrOLEType GetType ( );
+    _bstr_t GetFullName ( );
+    _bstr_t GetShortName ( );
+    _bstr_t GetServerName ( );
+    VARIANT_BOOL GetModified ( );
+    VARIANT_BOOL GetIsInPlaceActive ( );
+    VARIANT_BOOL GetIsOpen ( );
+    VARIANT_BOOL GetIsServerRunning ( );
+    long GetInPlaceWindowHandle ( );
+    HRESULT Edit ( );
+    HRESULT Open ( );
+    HRESULT Activate ( );
+    HRESULT Deactivate ( );
+    HRESULT DoVerb (
+        long VerbID );
+    VARIANT_BOOL GetIsLinkUpToDate ( );
+    _bstr_t GetLinkPath ( );
+    HRESULT UpdateLink ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ClassID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ProgID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrOLEType * pVal ) = 0;
+      virtual HRESULT __stdcall get_FullName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ShortName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ServerName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Modified (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsInPlaceActive (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOpen (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsServerRunning (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_InPlaceWindowHandle (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Edit ( ) = 0;
+      virtual HRESULT __stdcall raw_Open ( ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall raw_Deactivate ( ) = 0;
+      virtual HRESULT __stdcall raw_DoVerb (
+        /*[in]*/ long VerbID ) = 0;
+      virtual HRESULT __stdcall get_IsLinkUpToDate (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_LinkPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_UpdateLink ( ) = 0;
+};
+
+struct __declspec(uuid("b05800ae-9aa4-44fd-9547-4f91eb757ac4"))
+IVGBSplineControlPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=Getx,put=Putx))
+    double x;
+    __declspec(property(get=Gety,put=Puty))
+    double y;
+    __declspec(property(get=GetClamped,put=PutClamped))
+    VARIANT_BOOL Clamped;
+    __declspec(property(get=GetIndex))
+    long Index;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double Getx ( );
+    void Putx (
+        double pVal );
+    double Gety ( );
+    void Puty (
+        double pVal );
+    VARIANT_BOOL GetClamped ( );
+    void PutClamped (
+        VARIANT_BOOL pVal );
+    HRESULT Move (
+        double x,
+        double y );
+    HRESULT Delete ( );
+    HRESULT GetPosition (
+        double * x,
+        double * y );
+    HRESULT SetPosition (
+        double x,
+        double y );
+    HRESULT SetProperties (
+        double x,
+        double y,
+        VARIANT_BOOL Clamped );
+    long GetIndex ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_x (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_x (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_y (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_y (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Clamped (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Clamped (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_GetPosition (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_SetProperties (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL Clamped ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800af-9aa4-44fd-9547-4f91eb757ac4"))
+IVGBSplineControlPoints : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetFirst))
+    IVGBSplineControlPointPtr First;
+    __declspec(property(get=GetLast))
+    IVGBSplineControlPointPtr Last;
+    __declspec(property(get=GetItem))
+    IVGBSplineControlPointPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGBSplineControlPointPtr GetFirst ( );
+    IVGBSplineControlPointPtr GetLast ( );
+    IVGBSplineControlPointPtr GetItem (
+        long Index );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+    HRESULT Resize (
+        long HowMany );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGBSplineControlPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGBSplineControlPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGBSplineControlPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Resize (
+        /*[in]*/ long HowMany ) = 0;
+};
+
+struct __declspec(uuid("b05800ad-9aa4-44fd-9547-4f91eb757ac4"))
+IVGBSpline : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetControlPoints))
+    IVGBSplineControlPointsPtr ControlPoints;
+    __declspec(property(get=GetClosed,put=PutClosed))
+    VARIANT_BOOL Closed;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGBSplineControlPointsPtr GetControlPoints ( );
+    VARIANT_BOOL GetClosed ( );
+    void PutClosed (
+        VARIANT_BOOL pVal );
+    HRESULT InsertControlPoint (
+        long Index,
+        double x,
+        double y,
+        VARIANT_BOOL Clamped );
+    HRESULT InsertControlPoints (
+        long Index,
+        long HowMany,
+        double x,
+        double y,
+        VARIANT_BOOL Clamped );
+    IVGBSplinePtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct IVGBSpline * rhs );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ControlPoints (
+        /*[out,retval]*/ struct IVGBSplineControlPoints * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Closed (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Closed (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertControlPoint (
+        /*[in]*/ long Index,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL Clamped ) = 0;
+      virtual HRESULT __stdcall raw_InsertControlPoints (
+        /*[in]*/ long Index,
+        /*[in]*/ long HowMany,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL Clamped ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGBSpline * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGBSpline * rhs ) = 0;
+};
+
+struct __declspec(uuid("b0580087-9aa4-44fd-9547-4f91eb757ac4"))
+IStructImportCropOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetFileName))
+    _bstr_t FileName;
+    __declspec(property(get=GetFilterID))
+    long FilterID;
+    __declspec(property(get=GetCustomData))
+    long CustomData;
+    __declspec(property(get=GetImageWidth))
+    long ImageWidth;
+    __declspec(property(get=GetImageHeight))
+    long ImageHeight;
+    __declspec(property(get=GetDpiX))
+    long DpiX;
+    __declspec(property(get=GetDpiY))
+    long DpiY;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    long Width;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    long Height;
+    __declspec(property(get=GetLeft,put=PutLeft))
+    long Left;
+    __declspec(property(get=GetTop,put=PutTop))
+    long Top;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetFileName ( );
+    long GetFilterID ( );
+    long GetCustomData ( );
+    long GetImageWidth ( );
+    long GetImageHeight ( );
+    long GetDpiX ( );
+    long GetDpiY ( );
+    long GetWidth ( );
+    void PutWidth (
+        long pVal );
+    long GetHeight ( );
+    void PutHeight (
+        long pVal );
+    long GetLeft ( );
+    void PutLeft (
+        long pVal );
+    long GetTop ( );
+    void PutTop (
+        long pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_FileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_FilterID (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_CustomData (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ImageWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ImageHeight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_DpiX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_DpiY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Left (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Left (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Top (
+        /*[in]*/ long pVal ) = 0;
+};
+
+struct __declspec(uuid("f5200005-8d23-0001-89e7-0000861ebbd6"))
+IImportCropHandler : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL Crop (
+        struct IStructImportCropOptions * Options );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Crop (
+        /*[in]*/ struct IStructImportCropOptions * Options,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580086-9aa4-44fd-9547-4f91eb757ac4"))
+IStructImportResampleOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetFileName))
+    _bstr_t FileName;
+    __declspec(property(get=GetFilterID))
+    long FilterID;
+    __declspec(property(get=GetCustomData))
+    long CustomData;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    long Width;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    long Height;
+    __declspec(property(get=GetDpiX,put=PutDpiX))
+    long DpiX;
+    __declspec(property(get=GetDpiY,put=PutDpiY))
+    long DpiY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetFileName ( );
+    long GetFilterID ( );
+    long GetCustomData ( );
+    long GetWidth ( );
+    void PutWidth (
+        long pVal );
+    long GetHeight ( );
+    void PutHeight (
+        long pVal );
+    long GetDpiX ( );
+    void PutDpiX (
+        long pVal );
+    long GetDpiY ( );
+    void PutDpiY (
+        long pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_FileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_FilterID (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_CustomData (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_DpiX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_DpiX (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_DpiY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_DpiY (
+        /*[in]*/ long pVal ) = 0;
+};
+
+struct __declspec(uuid("f5200004-8d23-0001-89e7-0000861ebbd6"))
+IImportResampleHandler : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL Resample (
+        struct IStructImportResampleOptions * Options );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Resample (
+        /*[in]*/ struct IStructImportResampleOptions * Options,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800b1-9aa4-44fd-9547-4f91eb757ac4"))
+IVGColorManagementPolicy : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetActionForRGB,put=PutActionForRGB))
+    enum clrColorPolicyAction ActionForRGB;
+    __declspec(property(get=GetActionForCMYK,put=PutActionForCMYK))
+    enum clrColorPolicyAction ActionForCMYK;
+    __declspec(property(get=GetActionForGrayscale,put=PutActionForGrayscale))
+    enum clrColorPolicyAction ActionForGrayscale;
+    __declspec(property(get=GetWarnOnMismatchedProfiles,put=PutWarnOnMismatchedProfiles))
+    VARIANT_BOOL WarnOnMismatchedProfiles;
+    __declspec(property(get=GetWarnOnMissingProfiles,put=PutWarnOnMissingProfiles))
+    VARIANT_BOOL WarnOnMissingProfiles;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum clrColorPolicyAction GetActionForRGB ( );
+    void PutActionForRGB (
+        enum clrColorPolicyAction pVal );
+    enum clrColorPolicyAction GetActionForCMYK ( );
+    void PutActionForCMYK (
+        enum clrColorPolicyAction pVal );
+    enum clrColorPolicyAction GetActionForGrayscale ( );
+    void PutActionForGrayscale (
+        enum clrColorPolicyAction pVal );
+    VARIANT_BOOL GetWarnOnMismatchedProfiles ( );
+    void PutWarnOnMismatchedProfiles (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetWarnOnMissingProfiles ( );
+    void PutWarnOnMissingProfiles (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ActionForRGB (
+        /*[out,retval]*/ enum clrColorPolicyAction * pVal ) = 0;
+      virtual HRESULT __stdcall put_ActionForRGB (
+        /*[in]*/ enum clrColorPolicyAction pVal ) = 0;
+      virtual HRESULT __stdcall get_ActionForCMYK (
+        /*[out,retval]*/ enum clrColorPolicyAction * pVal ) = 0;
+      virtual HRESULT __stdcall put_ActionForCMYK (
+        /*[in]*/ enum clrColorPolicyAction pVal ) = 0;
+      virtual HRESULT __stdcall get_ActionForGrayscale (
+        /*[out,retval]*/ enum clrColorPolicyAction * pVal ) = 0;
+      virtual HRESULT __stdcall put_ActionForGrayscale (
+        /*[in]*/ enum clrColorPolicyAction pVal ) = 0;
+      virtual HRESULT __stdcall get_WarnOnMismatchedProfiles (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_WarnOnMismatchedProfiles (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_WarnOnMissingProfiles (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_WarnOnMissingProfiles (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("7cb12d17-eca6-0e87-46f7-e4d31c0d0500"))
+IColorConversionHandler : IDispatch
+{};
+
+struct __declspec(uuid("b05800b2-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructColorConversionOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetColorPolicy))
+    IVGColorManagementPolicyPtr ColorPolicy;
+    __declspec(property(get=GetSourceColorProfileList,put=PutSourceColorProfileList))
+    _bstr_t SourceColorProfileList;
+    __declspec(property(get=GetTargetColorProfileList,put=PutTargetColorProfileList))
+    _bstr_t TargetColorProfileList;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGColorManagementPolicyPtr GetColorPolicy ( );
+    _bstr_t GetSourceColorProfileList ( );
+    void PutSourceColorProfileList (
+        _bstr_t pVal );
+    _bstr_t GetTargetColorProfileList ( );
+    void PutTargetColorProfileList (
+        _bstr_t pVal );
+    IColorConversionHandlerPtr GetColorConversionHandler ( );
+    void PutRefColorConversionHandler (
+        struct IColorConversionHandler * * ppVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ColorPolicy (
+        /*[out,retval]*/ struct IVGColorManagementPolicy * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SourceColorProfileList (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_SourceColorProfileList (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_TargetColorProfileList (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TargetColorProfileList (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorConversionHandler (
+        /*[out,retval]*/ struct IColorConversionHandler * * ppVal ) = 0;
+      virtual HRESULT __stdcall putref_ColorConversionHandler (
+        /*[in]*/ struct IColorConversionHandler * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580085-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructImportOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetLinkBitmapExternally,put=PutLinkBitmapExternally))
+    VARIANT_BOOL LinkBitmapExternally;
+    __declspec(property(get=GetResampleDpiY,put=PutResampleDpiY))
+    long ResampleDpiY;
+    __declspec(property(get=GetCombineMultilayerBitmaps,put=PutCombineMultilayerBitmaps))
+    VARIANT_BOOL CombineMultilayerBitmaps;
+    __declspec(property(get=GetForceCMYKBlackText,put=PutForceCMYKBlackText))
+    VARIANT_BOOL ForceCMYKBlackText;
+    __declspec(property(get=GetExtractICCProfile,put=PutExtractICCProfile))
+    VARIANT_BOOL ExtractICCProfile;
+    __declspec(property(get=GetConvertTablesToText,put=PutConvertTablesToText))
+    VARIANT_BOOL ConvertTablesToText;
+    __declspec(property(get=GetICCFileName,put=PutICCFileName))
+    _bstr_t ICCFileName;
+    __declspec(property(get=GetTableColumnDelimiter,put=PutTableColumnDelimiter))
+    _bstr_t TableColumnDelimiter;
+    __declspec(property(get=GetMaintainLayers,put=PutMaintainLayers))
+    VARIANT_BOOL MaintainLayers;
+    __declspec(property(get=GetColorConversionOptions))
+    IVGStructColorConversionOptionsPtr ColorConversionOptions;
+    __declspec(property(get=GetUseOPILinks,put=PutUseOPILinks))
+    VARIANT_BOOL UseOPILinks;
+    __declspec(property(get=GetDetectWatermark,put=PutDetectWatermark))
+    VARIANT_BOOL DetectWatermark;
+    __declspec(property(get=GetMode,put=PutMode))
+    enum cdrImportMode Mode;
+    __declspec(property(get=GetCustomData,put=PutCustomData))
+    long CustomData;
+    __declspec(property(get=GetImageIndex,put=PutImageIndex))
+    long ImageIndex;
+    __declspec(property(get=GetTextFormatting,put=PutTextFormatting))
+    enum cdrImportTextFormatting TextFormatting;
+    __declspec(property(get=GetTableOutline,put=PutTableOutline))
+    enum cdrImportTableOutline TableOutline;
+    __declspec(property(get=GetCodePage,put=PutCodePage))
+    long CodePage;
+    __declspec(property(get=GetResampleWidth,put=PutResampleWidth))
+    long ResampleWidth;
+    __declspec(property(get=GetResampleHeight,put=PutResampleHeight))
+    long ResampleHeight;
+    __declspec(property(get=GetCropLeft,put=PutCropLeft))
+    long CropLeft;
+    __declspec(property(get=GetCropTop,put=PutCropTop))
+    long CropTop;
+    __declspec(property(get=GetCropWidth,put=PutCropWidth))
+    long CropWidth;
+    __declspec(property(get=GetCropHeight,put=PutCropHeight))
+    long CropHeight;
+    __declspec(property(get=GetResampleDpiX,put=PutResampleDpiX))
+    long ResampleDpiX;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetLinkBitmapExternally ( );
+    void PutLinkBitmapExternally (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetCombineMultilayerBitmaps ( );
+    void PutCombineMultilayerBitmaps (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetExtractICCProfile ( );
+    void PutExtractICCProfile (
+        VARIANT_BOOL pVal );
+    _bstr_t GetICCFileName ( );
+    void PutICCFileName (
+        _bstr_t pVal );
+    VARIANT_BOOL GetMaintainLayers ( );
+    void PutMaintainLayers (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetUseOPILinks ( );
+    void PutUseOPILinks (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDetectWatermark ( );
+    void PutDetectWatermark (
+        VARIANT_BOOL pVal );
+    enum cdrImportMode GetMode ( );
+    void PutMode (
+        enum cdrImportMode pVal );
+    long GetCustomData ( );
+    void PutCustomData (
+        long pVal );
+    long GetImageIndex ( );
+    void PutImageIndex (
+        long pVal );
+    IImportCropHandlerPtr GetCropHandler ( );
+    void PutRefCropHandler (
+        struct IImportCropHandler * * ppVal );
+    IImportResampleHandlerPtr GetResampleHandler ( );
+    void PutRefResampleHandler (
+        struct IImportResampleHandler * * ppVal );
+    enum cdrImportTextFormatting GetTextFormatting ( );
+    void PutTextFormatting (
+        enum cdrImportTextFormatting pVal );
+    enum cdrImportTableOutline GetTableOutline ( );
+    void PutTableOutline (
+        enum cdrImportTableOutline pVal );
+    long GetCodePage ( );
+    void PutCodePage (
+        long pVal );
+    long GetResampleWidth ( );
+    void PutResampleWidth (
+        long pVal );
+    long GetResampleHeight ( );
+    void PutResampleHeight (
+        long pVal );
+    long GetCropLeft ( );
+    void PutCropLeft (
+        long pVal );
+    long GetCropTop ( );
+    void PutCropTop (
+        long pVal );
+    long GetCropWidth ( );
+    void PutCropWidth (
+        long pVal );
+    long GetCropHeight ( );
+    void PutCropHeight (
+        long pVal );
+    long GetResampleDpiX ( );
+    void PutResampleDpiX (
+        long pVal );
+    long GetResampleDpiY ( );
+    void PutResampleDpiY (
+        long pVal );
+    VARIANT_BOOL GetForceCMYKBlackText ( );
+    void PutForceCMYKBlackText (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetConvertTablesToText ( );
+    void PutConvertTablesToText (
+        VARIANT_BOOL pVal );
+    _bstr_t GetTableColumnDelimiter ( );
+    void PutTableColumnDelimiter (
+        _bstr_t pVal );
+    IVGStructColorConversionOptionsPtr GetColorConversionOptions ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_LinkBitmapExternally (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_LinkBitmapExternally (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_CombineMultilayerBitmaps (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_CombineMultilayerBitmaps (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ExtractICCProfile (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ExtractICCProfile (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ICCFileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_ICCFileName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_MaintainLayers (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaintainLayers (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_UseOPILinks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseOPILinks (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DetectWatermark (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DetectWatermark (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Mode (
+        /*[out,retval]*/ enum cdrImportMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_Mode (
+        /*[in]*/ enum cdrImportMode pVal ) = 0;
+      virtual HRESULT __stdcall get_CustomData (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CustomData (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ImageIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ImageIndex (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CropHandler (
+        /*[out,retval]*/ struct IImportCropHandler * * ppVal ) = 0;
+      virtual HRESULT __stdcall putref_CropHandler (
+        /*[in]*/ struct IImportCropHandler * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ResampleHandler (
+        /*[out,retval]*/ struct IImportResampleHandler * * ppVal ) = 0;
+      virtual HRESULT __stdcall putref_ResampleHandler (
+        /*[in]*/ struct IImportResampleHandler * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TextFormatting (
+        /*[out,retval]*/ enum cdrImportTextFormatting * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextFormatting (
+        /*[in]*/ enum cdrImportTextFormatting pVal ) = 0;
+      virtual HRESULT __stdcall get_TableOutline (
+        /*[out,retval]*/ enum cdrImportTableOutline * pVal ) = 0;
+      virtual HRESULT __stdcall put_TableOutline (
+        /*[in]*/ enum cdrImportTableOutline pVal ) = 0;
+      virtual HRESULT __stdcall get_CodePage (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CodePage (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ResampleWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ResampleWidth (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ResampleHeight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ResampleHeight (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CropLeft (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CropLeft (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CropTop (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CropTop (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CropWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CropWidth (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CropHeight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CropHeight (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ResampleDpiX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ResampleDpiX (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ResampleDpiY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ResampleDpiY (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ForceCMYKBlackText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ForceCMYKBlackText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ConvertTablesToText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ConvertTablesToText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TableColumnDelimiter (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TableColumnDelimiter (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorConversionOptions (
+        /*[out,retval]*/ struct IVGStructColorConversionOptions * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800b5-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructPasteOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetColorConversionOptions))
+    IVGStructColorConversionOptionsPtr ColorConversionOptions;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStructColorConversionOptionsPtr GetColorConversionOptions ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ColorConversionOptions (
+        /*[out,retval]*/ struct IVGStructColorConversionOptions * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800e1-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCommentAuthor : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEmail))
+    _bstr_t Email;
+    __declspec(property(get=GetAvatar))
+    _bstr_t Avatar;
+    __declspec(property(get=GetAuthentication))
+    enum cdrAuthorAuthentication Authentication;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetOnlineID,put=PutOnlineID))
+    _bstr_t OnlineID;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetEmail ( );
+    _bstr_t GetAvatar ( );
+    enum cdrAuthorAuthentication GetAuthentication ( );
+    _bstr_t GetName ( );
+    _bstr_t GetOnlineID ( );
+    void PutOnlineID (
+        _bstr_t pRet );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Email (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall get_Avatar (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall get_Authentication (
+        /*[out,retval]*/ enum cdrAuthorAuthentication * pRet ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall get_OnlineID (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall put_OnlineID (
+        /*[in]*/ BSTR pRet ) = 0;
+};
+
+struct __declspec(uuid("b0580000-9aa4-44fd-9547-4f91eb757ac4"))
+ICorelScriptTools : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double AngleConvert (
+        long FromUnit,
+        long ToUnit,
+        double Value );
+    double ASin (
+        double Value );
+    HRESULT BeginWaitCursor ( );
+    HRESULT EndWaitCursor ( );
+    DATE BuildDate (
+        long Year,
+        long Month,
+        long Day );
+    DATE BuildTime (
+        long Hour,
+        long Minute,
+        long Second );
+    long Dec (
+        _bstr_t Hex );
+    long FileAttr (
+        _bstr_t FolderFile );
+    _bstr_t FindFirstFolder (
+        _bstr_t SearchCriteria,
+        long Attributes );
+    _bstr_t FindNextFolder ( );
+    _bstr_t FormatTime (
+        DATE Time,
+        _bstr_t Format );
+    double FromCentimeters (
+        double Value );
+    double FromCiceros (
+        double Value );
+    double FromDidots (
+        double Value );
+    double FromInches (
+        double Value );
+    double FromPicas (
+        double Value );
+    double FromPoints (
+        double Value );
+    long GetAppHandle ( );
+    VARIANT_BOOL GetColor (
+        long * Red,
+        long * Green,
+        long * Blue );
+    _bstr_t GetCommandLine ( );
+    _bstr_t GetCurrFolder ( );
+    HRESULT GetDateInfo (
+        DATE Date,
+        long * Year,
+        long * Month,
+        long * Day,
+        long * DayOfWeek );
+    _bstr_t GetFileBox (
+        _bstr_t Filter,
+        _bstr_t Title,
+        long Type,
+        _bstr_t File,
+        _bstr_t Extension,
+        _bstr_t Folder,
+        _bstr_t Button );
+    _bstr_t GetFolder (
+        _bstr_t InitFolder,
+        _bstr_t Title,
+        long ParentWindowHandle );
+    VARIANT_BOOL GetFont (
+        BSTR * FaceName,
+        long * PointSize,
+        long * Weight,
+        VARIANT_BOOL * Italic,
+        VARIANT_BOOL * Underline,
+        VARIANT_BOOL * StrikeOut,
+        long * Red,
+        long * Green,
+        long * Blue );
+    long GetProcessInfo (
+        long ProcessHandle );
+    _bstr_t GetScriptFolder ( );
+    _bstr_t GetTempFolder ( );
+    HRESULT GetTimeInfo (
+        DATE Time,
+        long * Hour,
+        long * Minute,
+        long * Second );
+    long GetType (
+        const _variant_t & Expression );
+    long GetVersion (
+        long Option );
+    long GetWinHandle ( );
+    VARIANT_BOOL Kill (
+        _bstr_t FileName );
+    double LengthConvert (
+        long FromUnit,
+        long ToUnit,
+        double Value );
+    double Log (
+        double Value );
+    VARIANT_BOOL MkFolder (
+        _bstr_t Folder );
+    _variant_t RegistryQuery (
+        long MainKey,
+        _bstr_t SubKey,
+        _bstr_t Value );
+    VARIANT_BOOL Rename (
+        _bstr_t Src,
+        _bstr_t Dst,
+        long Overwrite );
+    VARIANT_BOOL RmFolder (
+        _bstr_t Folder );
+    double ToCentimeters (
+        double Value );
+    double ToCiceros (
+        double Value );
+    double ToDidots (
+        double Value );
+    double ToInches (
+        double Value );
+    double ToPicas (
+        double Value );
+    double ToPoints (
+        double Value );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_AngleConvert (
+        /*[in]*/ long FromUnit,
+        /*[in]*/ long ToUnit,
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * Result ) = 0;
+      virtual HRESULT __stdcall raw_ASin (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * Result ) = 0;
+      virtual HRESULT __stdcall raw_BeginWaitCursor ( ) = 0;
+      virtual HRESULT __stdcall raw_EndWaitCursor ( ) = 0;
+      virtual HRESULT __stdcall raw_BuildDate (
+        /*[in]*/ long Year,
+        /*[in]*/ long Month,
+        /*[in]*/ long Day,
+        /*[out,retval]*/ DATE * pVal ) = 0;
+      virtual HRESULT __stdcall raw_BuildTime (
+        /*[in]*/ long Hour,
+        /*[in]*/ long Minute,
+        /*[in]*/ long Second,
+        /*[out,retval]*/ DATE * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Dec (
+        /*[in]*/ BSTR Hex,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FileAttr (
+        /*[in]*/ BSTR FolderFile,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindFirstFolder (
+        /*[in]*/ BSTR SearchCriteria,
+        /*[in]*/ long Attributes,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindNextFolder (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FormatTime (
+        /*[in]*/ DATE Time,
+        /*[in]*/ BSTR Format,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FromCentimeters (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FromCiceros (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FromDidots (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FromInches (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FromPicas (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FromPoints (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetAppHandle (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetColor (
+        /*[in,out]*/ long * Red,
+        /*[in,out]*/ long * Green,
+        /*[in,out]*/ long * Blue,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCommandLine (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCurrFolder (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetDateInfo (
+        /*[in]*/ DATE Date,
+        /*[out]*/ long * Year,
+        /*[out]*/ long * Month,
+        /*[out]*/ long * Day,
+        /*[out]*/ long * DayOfWeek ) = 0;
+      virtual HRESULT __stdcall raw_GetFileBox (
+        /*[in]*/ BSTR Filter,
+        /*[in]*/ BSTR Title,
+        /*[in]*/ long Type,
+        /*[in]*/ BSTR File,
+        /*[in]*/ BSTR Extension,
+        /*[in]*/ BSTR Folder,
+        /*[in]*/ BSTR Button,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetFolder (
+        /*[in]*/ BSTR InitFolder,
+        /*[in]*/ BSTR Title,
+        /*[in]*/ long ParentWindowHandle,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetFont (
+        /*[in,out]*/ BSTR * FaceName,
+        /*[in,out]*/ long * PointSize,
+        /*[in,out]*/ long * Weight,
+        /*[in,out]*/ VARIANT_BOOL * Italic,
+        /*[in,out]*/ VARIANT_BOOL * Underline,
+        /*[in,out]*/ VARIANT_BOOL * StrikeOut,
+        /*[in,out]*/ long * Red,
+        /*[in,out]*/ long * Green,
+        /*[in,out]*/ long * Blue,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetProcessInfo (
+        /*[in]*/ long ProcessHandle,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetScriptFolder (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetTempFolder (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetTimeInfo (
+        /*[in]*/ DATE Time,
+        /*[out]*/ long * Hour,
+        /*[out]*/ long * Minute,
+        /*[out]*/ long * Second ) = 0;
+      virtual HRESULT __stdcall raw_GetType (
+        /*[in]*/ VARIANT Expression,
+        /*[out,retval]*/ long * Type ) = 0;
+      virtual HRESULT __stdcall raw_GetVersion (
+        /*[in]*/ long Option,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetWinHandle (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Kill (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_LengthConvert (
+        /*[in]*/ long FromUnit,
+        /*[in]*/ long ToUnit,
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Log (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MkFolder (
+        /*[in]*/ BSTR Folder,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RegistryQuery (
+        /*[in]*/ long MainKey,
+        /*[in]*/ BSTR SubKey,
+        /*[in]*/ BSTR Value,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Rename (
+        /*[in]*/ BSTR Src,
+        /*[in]*/ BSTR Dst,
+        /*[in]*/ long Overwrite,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RmFolder (
+        /*[in]*/ BSTR Folder,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToCentimeters (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToCiceros (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToDidots (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToInches (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToPicas (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToPoints (
+        /*[in]*/ double Value,
+        /*[out,retval]*/ double * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580039-9aa4-44fd-9547-4f91eb757ac4"))
+IVGFontList : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetItem))
+    _bstr_t Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    _bstr_t GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058000c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGAppWindow : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetActive))
+    VARIANT_BOOL Active;
+    __declspec(property(get=GetCaption,put=PutCaption))
+    _bstr_t Caption;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    long Height;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    long Width;
+    __declspec(property(get=GetLeft,put=PutLeft))
+    long Left;
+    __declspec(property(get=GetTop,put=PutTop))
+    long Top;
+    __declspec(property(get=GetWindowState,put=PutWindowState))
+    enum cdrWindowState WindowState;
+    __declspec(property(get=GetClientWidth))
+    long ClientWidth;
+    __declspec(property(get=GetClientHeight))
+    long ClientHeight;
+    __declspec(property(get=GetHandle))
+    long Handle;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    HRESULT Activate ( );
+    VARIANT_BOOL GetActive ( );
+    _bstr_t GetCaption ( );
+    void PutCaption (
+        _bstr_t pVal );
+    long GetHeight ( );
+    void PutHeight (
+        long pVal );
+    long GetWidth ( );
+    void PutWidth (
+        long pVal );
+    long GetLeft ( );
+    void PutLeft (
+        long pVal );
+    long GetTop ( );
+    void PutTop (
+        long pVal );
+    enum cdrWindowState GetWindowState ( );
+    void PutWindowState (
+        enum cdrWindowState pVal );
+    long GetClientWidth ( );
+    long GetClientHeight ( );
+    long GetHandle ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall get_Active (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Caption (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Caption (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Left (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Left (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Top (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_WindowState (
+        /*[out,retval]*/ enum cdrWindowState * pVal ) = 0;
+      virtual HRESULT __stdcall put_WindowState (
+        /*[in]*/ enum cdrWindowState pVal ) = 0;
+      virtual HRESULT __stdcall get_ClientWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ClientHeight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Handle (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058004f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPatternCanvases : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem,put=PutItem))
+    IVGPatternCanvasPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGPatternCanvasPtr GetItem (
+        long Index );
+    void PutItem (
+        long Index,
+        struct IVGPatternCanvas * ppVal );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    long Add (
+        struct IVGPatternCanvas * PatternCanvas );
+    HRESULT Remove (
+        long Index );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGPatternCanvas * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGPatternCanvas * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGPatternCanvas * PatternCanvas,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+};
+
+struct __declspec(uuid("b0580010-9aa4-44fd-9547-4f91eb757ac4"))
+IVGClipboard : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetValid))
+    VARIANT_BOOL Valid;
+    __declspec(property(get=GetEmpty))
+    VARIANT_BOOL Empty;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    VARIANT_BOOL GetValid ( );
+    VARIANT_BOOL GetEmpty ( );
+    HRESULT Clear ( );
+    VARIANT_BOOL DataPresent (
+        _bstr_t FormatName );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Valid (
+        /*[out,retval]*/ VARIANT_BOOL * pbValid ) = 0;
+      virtual HRESULT __stdcall get_Empty (
+        /*[out,retval]*/ VARIANT_BOOL * pbEmpty ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall raw_DataPresent (
+        /*[in]*/ BSTR FormatName,
+        /*[out,retval]*/ VARIANT_BOOL * pRet ) = 0;
+};
+
+struct __declspec(uuid("b058008d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGGMSMacro : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    HRESULT Run ( );
+    HRESULT Edit ( );
+    HRESULT Delete ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Run ( ) = 0;
+      virtual HRESULT __stdcall raw_Edit ( ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+};
+
+struct __declspec(uuid("b058008c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGGMSMacros : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGGMSMacroPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGGMSMacroPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IVGGMSMacroPtr Create (
+        _bstr_t Name );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGGMSMacro * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Create (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGGMSMacro * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058008b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGGMSProject : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetDisplayName))
+    _bstr_t DisplayName;
+    __declspec(property(get=GetMacros))
+    IVGGMSMacrosPtr Macros;
+    __declspec(property(get=GetFileName))
+    _bstr_t FileName;
+    __declspec(property(get=GetFilePath))
+    _bstr_t FilePath;
+    __declspec(property(get=GetFullFileName))
+    _bstr_t FullFileName;
+    __declspec(property(get=GetDirty,put=PutDirty))
+    VARIANT_BOOL Dirty;
+    __declspec(property(get=GetLocked))
+    VARIANT_BOOL Locked;
+    __declspec(property(get=GetPasswordProtected))
+    VARIANT_BOOL PasswordProtected;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    _bstr_t GetDisplayName ( );
+    IVGGMSMacrosPtr GetMacros ( );
+    HRESULT Unload ( );
+    _bstr_t GetFileName ( );
+    _bstr_t GetFilePath ( );
+    _bstr_t GetFullFileName ( );
+    VARIANT_BOOL GetDirty ( );
+    void PutDirty (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetLocked ( );
+    VARIANT_BOOL GetPasswordProtected ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DisplayName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Macros (
+        /*[out,retval]*/ struct IVGGMSMacros * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Unload ( ) = 0;
+      virtual HRESULT __stdcall get_FileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_FilePath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_FullFileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Dirty (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Dirty (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Locked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_PasswordProtected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058008a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGGMSProjects : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGGMSProjectPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGGMSProjectPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IVGGMSProjectPtr Load (
+        _bstr_t FileName,
+        VARIANT_BOOL CopyFile,
+        VARIANT_BOOL ForAllUsers );
+    IVGGMSProjectPtr Create (
+        _bstr_t Name,
+        VARIANT_BOOL ForAllUsers,
+        _bstr_t FileName );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGGMSProject * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Load (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL CopyFile,
+        /*[in]*/ VARIANT_BOOL ForAllUsers,
+        /*[out,retval]*/ struct IVGGMSProject * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Create (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ForAllUsers,
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ struct IVGGMSProject * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058003d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGGMSManager : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetGMSPath))
+    _bstr_t GMSPath;
+    __declspec(property(get=GetUserGMSPath))
+    _bstr_t UserGMSPath;
+    __declspec(property(get=GetProjects))
+    IVGGMSProjectsPtr Projects;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetGMSPath ( );
+    _variant_t RunMacro (
+        _bstr_t ModuleName,
+        _bstr_t MacroName,
+        SAFEARRAY * * Parameters );
+    _bstr_t GetUserGMSPath ( );
+    IVGGMSProjectsPtr GetProjects ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_GMSPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RunMacro (
+        /*[in]*/ BSTR ModuleName,
+        /*[in]*/ BSTR MacroName,
+        /*[in,out]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ VARIANT * ppVal ) = 0;
+      virtual HRESULT __stdcall get_UserGMSPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Projects (
+        /*[out,retval]*/ struct IVGGMSProjects * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580068-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructSaveAsOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetFilter,put=PutFilter))
+    enum cdrFilter Filter;
+    __declspec(property(get=GetVersion,put=PutVersion))
+    enum cdrFileVersion Version;
+    __declspec(property(get=GetThumbnailSize,put=PutThumbnailSize))
+    enum cdrThumbnailSize ThumbnailSize;
+    __declspec(property(get=GetRange,put=PutRange))
+    enum cdrExportRange Range;
+    __declspec(property(get=GetOverwrite,put=PutOverwrite))
+    VARIANT_BOOL Overwrite;
+    __declspec(property(get=GetEmbedICCProfile,put=PutEmbedICCProfile))
+    VARIANT_BOOL EmbedICCProfile;
+    __declspec(property(get=GetEmbedVBAProject,put=PutEmbedVBAProject))
+    VARIANT_BOOL EmbedVBAProject;
+    __declspec(property(get=GetIncludeCMXData,put=PutIncludeCMXData))
+    VARIANT_BOOL IncludeCMXData;
+    __declspec(property(get=GetKeepAppearance,put=PutKeepAppearance))
+    VARIANT_BOOL KeepAppearance;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    void PutFilter (
+        enum cdrFilter pVal );
+    enum cdrFilter GetFilter ( );
+    void PutVersion (
+        enum cdrFileVersion pVal );
+    enum cdrFileVersion GetVersion ( );
+    void PutThumbnailSize (
+        enum cdrThumbnailSize pVal );
+    enum cdrThumbnailSize GetThumbnailSize ( );
+    void PutRange (
+        enum cdrExportRange pVal );
+    enum cdrExportRange GetRange ( );
+    void PutOverwrite (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOverwrite ( );
+    void PutEmbedICCProfile (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetEmbedICCProfile ( );
+    void PutEmbedVBAProject (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetEmbedVBAProject ( );
+    void PutIncludeCMXData (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetIncludeCMXData ( );
+    void PutKeepAppearance (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetKeepAppearance ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall put_Filter (
+        /*[in]*/ enum cdrFilter pVal ) = 0;
+      virtual HRESULT __stdcall get_Filter (
+        /*[out,retval]*/ enum cdrFilter * pVal ) = 0;
+      virtual HRESULT __stdcall put_Version (
+        /*[in]*/ enum cdrFileVersion pVal ) = 0;
+      virtual HRESULT __stdcall get_Version (
+        /*[out,retval]*/ enum cdrFileVersion * pVal ) = 0;
+      virtual HRESULT __stdcall put_ThumbnailSize (
+        /*[in]*/ enum cdrThumbnailSize pVal ) = 0;
+      virtual HRESULT __stdcall get_ThumbnailSize (
+        /*[out,retval]*/ enum cdrThumbnailSize * pVal ) = 0;
+      virtual HRESULT __stdcall put_Range (
+        /*[in]*/ enum cdrExportRange pVal ) = 0;
+      virtual HRESULT __stdcall get_Range (
+        /*[out,retval]*/ enum cdrExportRange * pVal ) = 0;
+      virtual HRESULT __stdcall put_Overwrite (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Overwrite (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_EmbedICCProfile (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_EmbedICCProfile (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_EmbedVBAProject (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_EmbedVBAProject (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_IncludeCMXData (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_IncludeCMXData (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_KeepAppearance (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_KeepAppearance (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580014-9aa4-44fd-9547-4f91eb757ac4"))
+IVGComponent : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetComponentID))
+    _bstr_t ComponentID;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetComponentID ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ComponentID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580015-9aa4-44fd-9547-4f91eb757ac4"))
+IVGComponents : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGComponentPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGComponentPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    VARIANT_BOOL IsComponentInstalled (
+        _bstr_t ComponentID );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGComponent * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsComponentInstalled (
+        /*[in]*/ BSTR ComponentID,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580089-9aa4-44fd-9547-4f91eb757ac4"))
+IVGAppStatus : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetProgress,put=PutProgress))
+    long Progress;
+    __declspec(property(get=GetAborted))
+    VARIANT_BOOL Aborted;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT BeginProgress (
+        _bstr_t Message,
+        VARIANT_BOOL CanAbort );
+    HRESULT UpdateProgress (
+        long Step );
+    HRESULT SetProgressMessage (
+        _bstr_t Message );
+    HRESULT EndProgress ( );
+    long GetProgress ( );
+    void PutProgress (
+        long pVal );
+    VARIANT_BOOL GetAborted ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_BeginProgress (
+        /*[in]*/ BSTR Message,
+        /*[in]*/ VARIANT_BOOL CanAbort ) = 0;
+      virtual HRESULT __stdcall raw_UpdateProgress (
+        /*[in]*/ long Step ) = 0;
+      virtual HRESULT __stdcall raw_SetProgressMessage (
+        /*[in]*/ BSTR Message ) = 0;
+      virtual HRESULT __stdcall raw_EndProgress ( ) = 0;
+      virtual HRESULT __stdcall get_Progress (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Progress (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Aborted (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800b3-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructOpenOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCodePage,put=PutCodePage))
+    long CodePage;
+    __declspec(property(get=GetColorConversionOptions))
+    IVGStructColorConversionOptionsPtr ColorConversionOptions;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCodePage ( );
+    void PutCodePage (
+        long pVal );
+    IVGStructColorConversionOptionsPtr GetColorConversionOptions ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_CodePage (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CodePage (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorConversionOptions (
+        /*[out,retval]*/ struct IVGStructColorConversionOptions * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800cc-9aa4-44fd-9547-4f91eb757ac4"))
+IVGOnScreenHandle : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetIsHotTracked))
+    VARIANT_BOOL IsHotTracked;
+    __declspec(property(get=GetIsOnHandle))
+    VARIANT_BOOL IsOnHandle[][];
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Show ( );
+    HRESULT Hide ( );
+    HRESULT SetHandleColor (
+        long Color );
+    HRESULT SetPosition (
+        double x,
+        double y );
+    HRESULT UpdateHotTracking (
+        double MouseX,
+        double MouseY );
+    VARIANT_BOOL GetIsHotTracked ( );
+    VARIANT_BOOL GetIsOnHandle (
+        double MouseX,
+        double MouseY );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Show ( ) = 0;
+      virtual HRESULT __stdcall raw_Hide ( ) = 0;
+      virtual HRESULT __stdcall raw_SetHandleColor (
+        /*[in]*/ long Color ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_UpdateHotTracking (
+        /*[in]*/ double MouseX,
+        /*[in]*/ double MouseY ) = 0;
+      virtual HRESULT __stdcall get_IsHotTracked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOnHandle (
+        /*[in]*/ double MouseX,
+        /*[in]*/ double MouseY,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800cd-9aa4-44fd-9547-4f91eb757ac4"))
+IVGOnScreenText : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Show ( );
+    HRESULT Hide ( );
+    HRESULT SetTextColor (
+        long Color );
+    HRESULT SetTextAndPosition (
+        _bstr_t Text,
+        double x,
+        double y,
+        enum cdrOnScreenTextAlign align,
+        double xRef,
+        double yRef );
+    HRESULT SetText (
+        _bstr_t Text );
+    HRESULT SetPixelOffset (
+        long x,
+        long y );
+    HRESULT UpdatePosition (
+        double x,
+        double y );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Show ( ) = 0;
+      virtual HRESULT __stdcall raw_Hide ( ) = 0;
+      virtual HRESULT __stdcall raw_SetTextColor (
+        /*[in]*/ long Color ) = 0;
+      virtual HRESULT __stdcall raw_SetTextAndPosition (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ enum cdrOnScreenTextAlign align,
+        /*[in]*/ double xRef,
+        /*[in]*/ double yRef ) = 0;
+      virtual HRESULT __stdcall raw_SetText (
+        /*[in]*/ BSTR Text ) = 0;
+      virtual HRESULT __stdcall raw_SetPixelOffset (
+        /*[in]*/ long x,
+        /*[in]*/ long y ) = 0;
+      virtual HRESULT __stdcall raw_UpdatePosition (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+};
+
+struct __declspec(uuid("b05800d5-9aa4-44fd-9547-4f91eb757ac4"))
+IVGToolShapeAttributes : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT SetCanResize (
+        VARIANT_BOOL val );
+    HRESULT SetCanRotate (
+        VARIANT_BOOL val );
+    HRESULT SetCanSkew (
+        VARIANT_BOOL val );
+    HRESULT SetCanSizeDisproportionally (
+        VARIANT_BOOL val );
+    HRESULT SetCanApplyNonlinearTransforms (
+        VARIANT_BOOL val );
+    HRESULT SetRegenerateOnTransform (
+        VARIANT_BOOL val );
+    HRESULT SetRegenerateOnStyleChange (
+        VARIANT_BOOL val );
+    HRESULT SetPropertyBarGuid (
+        _bstr_t val );
+    HRESULT SetContextMenuGuid (
+        _bstr_t val );
+    HRESULT SetObjectManagerBitmapGuid (
+        _bstr_t val );
+    HRESULT SetEditStateGuid (
+        _bstr_t val );
+    HRESULT SetDefaultShapename (
+        _bstr_t val );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_SetCanResize (
+        /*[in]*/ VARIANT_BOOL val ) = 0;
+      virtual HRESULT __stdcall raw_SetCanRotate (
+        /*[in]*/ VARIANT_BOOL val ) = 0;
+      virtual HRESULT __stdcall raw_SetCanSkew (
+        /*[in]*/ VARIANT_BOOL val ) = 0;
+      virtual HRESULT __stdcall raw_SetCanSizeDisproportionally (
+        /*[in]*/ VARIANT_BOOL val ) = 0;
+      virtual HRESULT __stdcall raw_SetCanApplyNonlinearTransforms (
+        /*[in]*/ VARIANT_BOOL val ) = 0;
+      virtual HRESULT __stdcall raw_SetRegenerateOnTransform (
+        /*[in]*/ VARIANT_BOOL val ) = 0;
+      virtual HRESULT __stdcall raw_SetRegenerateOnStyleChange (
+        /*[in]*/ VARIANT_BOOL val ) = 0;
+      virtual HRESULT __stdcall raw_SetPropertyBarGuid (
+        /*[in]*/ BSTR val ) = 0;
+      virtual HRESULT __stdcall raw_SetContextMenuGuid (
+        /*[in]*/ BSTR val ) = 0;
+      virtual HRESULT __stdcall raw_SetObjectManagerBitmapGuid (
+        /*[in]*/ BSTR val ) = 0;
+      virtual HRESULT __stdcall raw_SetEditStateGuid (
+        /*[in]*/ BSTR val ) = 0;
+      virtual HRESULT __stdcall raw_SetDefaultShapename (
+        /*[in]*/ BSTR val ) = 0;
+};
+
+struct __declspec(uuid("b05800a2-9aa4-44fd-9547-4f91eb757ac4"))
+IVGMetadata : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetKeywords,put=PutKeywords))
+    _bstr_t Keywords;
+    __declspec(property(get=GetNotes,put=PutNotes))
+    _bstr_t Notes;
+    __declspec(property(get=GetAuthor,put=PutAuthor))
+    _bstr_t Author;
+    __declspec(property(get=GetLastAuthor,put=PutLastAuthor))
+    _bstr_t LastAuthor;
+    __declspec(property(get=GetSubject,put=PutSubject))
+    _bstr_t Subject;
+    __declspec(property(get=GetCopyright,put=PutCopyright))
+    _bstr_t Copyright;
+    __declspec(property(get=GetRevision,put=PutRevision))
+    long Revision;
+    __declspec(property(get=GetTemplateSided,put=PutTemplateSided))
+    _bstr_t TemplateSided;
+    __declspec(property(get=GetTemplateFolds,put=PutTemplateFolds))
+    _bstr_t TemplateFolds;
+    __declspec(property(get=GetTemplateType,put=PutTemplateType))
+    _bstr_t TemplateType;
+    __declspec(property(get=GetTemplateIndustry,put=PutTemplateIndustry))
+    _bstr_t TemplateIndustry;
+    __declspec(property(get=GetTitle,put=PutTitle))
+    _bstr_t Title;
+    __declspec(property(get=GetDocID,put=PutDocID))
+    _bstr_t DocID;
+    __declspec(property(get=GetDocLanguage,put=PutDocLanguage))
+    enum cdrTextLanguage DocLanguage;
+    __declspec(property(get=GetTemplateDesignerNotes,put=PutTemplateDesignerNotes))
+    _bstr_t TemplateDesignerNotes;
+    __declspec(property(get=GetLocalizableKeywords))
+    IVGLocalizableStringPtr LocalizableKeywords;
+    __declspec(property(get=GetLocalizableNotes))
+    IVGLocalizableStringPtr LocalizableNotes;
+    __declspec(property(get=GetLocalizableTitle))
+    IVGLocalizableStringPtr LocalizableTitle;
+    __declspec(property(get=GetLocalizableSubject))
+    IVGLocalizableStringPtr LocalizableSubject;
+    __declspec(property(get=GetLocalizableCopyright))
+    IVGLocalizableStringPtr LocalizableCopyright;
+    __declspec(property(get=GetLocalizableTemplateDesignerNotes))
+    IVGLocalizableStringPtr LocalizableTemplateDesignerNotes;
+    __declspec(property(get=GetCategory))
+    IVGLocalizableStringPtr Category;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetKeywords ( );
+    void PutKeywords (
+        _bstr_t pVal );
+    _bstr_t GetNotes ( );
+    void PutNotes (
+        _bstr_t pVal );
+    _bstr_t GetAuthor ( );
+    void PutAuthor (
+        _bstr_t pVal );
+    _bstr_t GetLastAuthor ( );
+    void PutLastAuthor (
+        _bstr_t pVal );
+    _bstr_t GetSubject ( );
+    void PutSubject (
+        _bstr_t pVal );
+    _bstr_t GetCopyright ( );
+    void PutCopyright (
+        _bstr_t pVal );
+    long GetRevision ( );
+    void PutRevision (
+        long pVal );
+    _bstr_t GetTemplateSided ( );
+    void PutTemplateSided (
+        _bstr_t pVal );
+    _bstr_t GetTemplateFolds ( );
+    void PutTemplateFolds (
+        _bstr_t pVal );
+    _bstr_t GetTemplateType ( );
+    void PutTemplateType (
+        _bstr_t pVal );
+    _bstr_t GetTemplateIndustry ( );
+    void PutTemplateIndustry (
+        _bstr_t pVal );
+    _bstr_t GetTitle ( );
+    void PutTitle (
+        _bstr_t pVal );
+    _bstr_t GetDocID ( );
+    void PutDocID (
+        _bstr_t pVal );
+    enum cdrTextLanguage GetDocLanguage ( );
+    void PutDocLanguage (
+        enum cdrTextLanguage pVal );
+    _bstr_t GetTemplateDesignerNotes ( );
+    void PutTemplateDesignerNotes (
+        _bstr_t pVal );
+    IVGLocalizableStringPtr GetLocalizableKeywords ( );
+    IVGLocalizableStringPtr GetLocalizableNotes ( );
+    IVGLocalizableStringPtr GetLocalizableTitle ( );
+    IVGLocalizableStringPtr GetLocalizableSubject ( );
+    IVGLocalizableStringPtr GetLocalizableCopyright ( );
+    IVGLocalizableStringPtr GetLocalizableTemplateDesignerNotes ( );
+    IVGLocalizableStringPtr GetCategory ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Keywords (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Keywords (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Notes (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Notes (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Author (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Author (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_LastAuthor (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_LastAuthor (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Subject (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Subject (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Copyright (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Copyright (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Revision (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Revision (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_TemplateSided (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TemplateSided (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_TemplateFolds (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TemplateFolds (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_TemplateType (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TemplateType (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_TemplateIndustry (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TemplateIndustry (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Title (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Title (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DocID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_DocID (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DocLanguage (
+        /*[out,retval]*/ enum cdrTextLanguage * pVal ) = 0;
+      virtual HRESULT __stdcall put_DocLanguage (
+        /*[in]*/ enum cdrTextLanguage pVal ) = 0;
+      virtual HRESULT __stdcall get_TemplateDesignerNotes (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_TemplateDesignerNotes (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_LocalizableKeywords (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LocalizableNotes (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LocalizableTitle (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LocalizableSubject (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LocalizableCopyright (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LocalizableTemplateDesignerNotes (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Category (
+        /*[out,retval]*/ struct IVGLocalizableString * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800c2-9aa4-44fd-9547-4f91eb757ac4"))
+_IGlobalMacroStorage : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=Get_CodeName,put=Put_CodeName))
+    _bstr_t _CodeName;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t Get_CodeName ( );
+    void Put_CodeName (
+        _bstr_t pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__CodeName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put__CodeName (
+        /*[in]*/ BSTR pVal ) = 0;
+};
+
+struct __declspec(uuid("fcfd0026-7c8c-4859-bdb7-06f555c4aaf0"))
+Document;
+    // [ default ] interface IVGDocument
+    // [ default, source ] dispinterface DIVGDocumentEvents
+    // interface IPrnVBAPrintDocument
+
+struct __declspec(uuid("b05800c6-9aa4-44fd-9547-4f91eb757ac4"))
+DIVGDocumentEvents : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    // Methods:
+    HRESULT QueryClose (
+        VARIANT_BOOL * Cancel );
+    HRESULT QuerySave (
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryPrint (
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryExport (
+        VARIANT_BOOL * Cancel );
+    HRESULT Open ( );
+    HRESULT Close ( );
+    HRESULT BeforeSave (
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT AfterSave (
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT BeforePrint ( );
+    HRESULT AfterPrint ( );
+    HRESULT BeforeExport (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT AfterExport (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT LayerCreate (
+        struct IVGLayer * Layer );
+    HRESULT LayerDelete (
+        long Count );
+    HRESULT LayerActivate (
+        struct IVGLayer * Layer );
+    HRESULT LayerChange (
+        struct IVGLayer * Layer );
+    HRESULT PageCreate (
+        struct IVGPage * Page );
+    HRESULT PageDelete (
+        long Count );
+    HRESULT PageActivate (
+        struct IVGPage * Page );
+    HRESULT PageChange (
+        struct IVGPage * Page );
+    HRESULT ShapeCreate (
+        struct IVGShape * Shape );
+    HRESULT ShapeDelete (
+        long Count );
+    HRESULT ShapeMove (
+        struct IVGShape * Shape );
+    HRESULT ShapeTransform (
+        struct IVGShape * Shape );
+    HRESULT ShapeDistort (
+        struct IVGShape * Shape );
+    HRESULT ShapeChange (
+        struct IVGShape * Shape,
+        enum cdrShapeChangeScope Scope );
+    HRESULT SelectionChange ( );
+};
+
+struct __declspec(uuid("fcfd0051-7c8c-4859-bdb7-06f555c4aaf0"))
+Layer;
+    // [ default ] interface IVGLayer
+
+struct __declspec(uuid("fcfd005d-7c8c-4859-bdb7-06f555c4aaf0"))
+Page;
+    // [ default ] interface IVGPage
+    // interface IPrnVBAPrintPage
+
+struct __declspec(uuid("fcfd0076-7c8c-4859-bdb7-06f555c4aaf0"))
+Shape;
+    // [ default ] interface IVGShape
+
+struct __declspec(uuid("b05800c4-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDocumentEvents : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT QueryClose (
+        VARIANT_BOOL * Cancel );
+    HRESULT QuerySave (
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryPrint (
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryExport (
+        VARIANT_BOOL * Cancel );
+    HRESULT Open ( );
+    HRESULT Close ( );
+    HRESULT BeforeSave (
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT AfterSave (
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT BeforePrint ( );
+    HRESULT AfterPrint ( );
+    HRESULT BeforeExport (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT AfterExport (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT LayerCreate (
+        struct IVGLayer * Layer );
+    HRESULT LayerDelete (
+        long Count );
+    HRESULT LayerActivate (
+        struct IVGLayer * Layer );
+    HRESULT LayerChange (
+        struct IVGLayer * Layer );
+    HRESULT PageCreate (
+        struct IVGPage * Page );
+    HRESULT PageDelete (
+        long Count );
+    HRESULT PageActivate (
+        struct IVGPage * Page );
+    HRESULT PageChange (
+        struct IVGPage * Page );
+    HRESULT ShapeCreate (
+        struct IVGShape * Shape );
+    HRESULT ShapeDelete (
+        long Count );
+    HRESULT ShapeMove (
+        struct IVGShape * Shape );
+    HRESULT ShapeTransform (
+        struct IVGShape * Shape );
+    HRESULT ShapeDistort (
+        struct IVGShape * Shape );
+    HRESULT ShapeChange (
+        struct IVGShape * Shape,
+        enum cdrShapeChangeScope Scope );
+    HRESULT SelectionChange ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_QueryClose (
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_QuerySave (
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_QueryPrint (
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_QueryExport (
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_Open ( ) = 0;
+      virtual HRESULT __stdcall raw_Close ( ) = 0;
+      virtual HRESULT __stdcall raw_BeforeSave (
+        /*[in]*/ VARIANT_BOOL SaveAs,
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_AfterSave (
+        /*[in]*/ VARIANT_BOOL SaveAs,
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_BeforePrint ( ) = 0;
+      virtual HRESULT __stdcall raw_AfterPrint ( ) = 0;
+      virtual HRESULT __stdcall raw_BeforeExport (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ VARIANT_BOOL SaveBitmap ) = 0;
+      virtual HRESULT __stdcall raw_AfterExport (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ VARIANT_BOOL SaveBitmap ) = 0;
+      virtual HRESULT __stdcall raw_LayerCreate (
+        /*[in]*/ struct IVGLayer * Layer ) = 0;
+      virtual HRESULT __stdcall raw_LayerDelete (
+        /*[in]*/ long Count ) = 0;
+      virtual HRESULT __stdcall raw_LayerActivate (
+        /*[in]*/ struct IVGLayer * Layer ) = 0;
+      virtual HRESULT __stdcall raw_LayerChange (
+        /*[in]*/ struct IVGLayer * Layer ) = 0;
+      virtual HRESULT __stdcall raw_PageCreate (
+        /*[in]*/ struct IVGPage * Page ) = 0;
+      virtual HRESULT __stdcall raw_PageDelete (
+        /*[in]*/ long Count ) = 0;
+      virtual HRESULT __stdcall raw_PageActivate (
+        /*[in]*/ struct IVGPage * Page ) = 0;
+      virtual HRESULT __stdcall raw_PageChange (
+        /*[in]*/ struct IVGPage * Page ) = 0;
+      virtual HRESULT __stdcall raw_ShapeCreate (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_ShapeDelete (
+        /*[in]*/ long Count ) = 0;
+      virtual HRESULT __stdcall raw_ShapeMove (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_ShapeTransform (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_ShapeDistort (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_ShapeChange (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ enum cdrShapeChangeScope Scope ) = 0;
+      virtual HRESULT __stdcall raw_SelectionChange ( ) = 0;
+};
+
+struct __declspec(uuid("fcfd00b3-7c8c-4859-bdb7-06f555c4aaf0"))
+Window;
+    // [ default ] interface IVGWindow
+
+struct __declspec(uuid("b05800c3-9aa4-44fd-9547-4f91eb757ac4"))
+IVGApplicationEvents : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT QueryDocumentClose (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryDocumentSave (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryDocumentPrint (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryDocumentExport (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryQuit (
+        VARIANT_BOOL * Cancel );
+    HRESULT DocumentOpen (
+        struct IVGDocument * Doc,
+        _bstr_t FileName );
+    HRESULT DocumentNew (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL FromTemplate,
+        _bstr_t Template,
+        VARIANT_BOOL IncludeGraphics );
+    HRESULT DocumentClose (
+        struct IVGDocument * Doc );
+    HRESULT DocumentBeforeSave (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT DocumentAfterSave (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT DocumentBeforePrint (
+        struct IVGDocument * Doc );
+    HRESULT DocumentAfterPrint (
+        struct IVGDocument * Doc );
+    HRESULT DocumentBeforeExport (
+        struct IVGDocument * Doc,
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT DocumentAfterExport (
+        struct IVGDocument * Doc,
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT WindowActivate (
+        struct IVGDocument * Doc,
+        struct IVGWindow * Window );
+    HRESULT WindowDeactivate (
+        struct IVGDocument * Doc,
+        struct IVGWindow * Window );
+    HRESULT SelectionChange ( );
+    HRESULT Start ( );
+    HRESULT Quit ( );
+    HRESULT OnPluginCommand (
+        _bstr_t CommandID );
+    HRESULT OnUpdatePluginCommand (
+        _bstr_t CommandID,
+        VARIANT_BOOL * Enabled,
+        enum cdrCommandCheckState * Checked );
+    HRESULT OnApplicationEvent (
+        _bstr_t EventName,
+        SAFEARRAY * * Parameters );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_QueryDocumentClose (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_QueryDocumentSave (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_QueryDocumentPrint (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_QueryDocumentExport (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_QueryQuit (
+        /*[in,out]*/ VARIANT_BOOL * Cancel ) = 0;
+      virtual HRESULT __stdcall raw_DocumentOpen (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_DocumentNew (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ VARIANT_BOOL FromTemplate,
+        /*[in]*/ BSTR Template,
+        /*[in]*/ VARIANT_BOOL IncludeGraphics ) = 0;
+      virtual HRESULT __stdcall raw_DocumentClose (
+        /*[in]*/ struct IVGDocument * Doc ) = 0;
+      virtual HRESULT __stdcall raw_DocumentBeforeSave (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ VARIANT_BOOL SaveAs,
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_DocumentAfterSave (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ VARIANT_BOOL SaveAs,
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_DocumentBeforePrint (
+        /*[in]*/ struct IVGDocument * Doc ) = 0;
+      virtual HRESULT __stdcall raw_DocumentAfterPrint (
+        /*[in]*/ struct IVGDocument * Doc ) = 0;
+      virtual HRESULT __stdcall raw_DocumentBeforeExport (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ VARIANT_BOOL SaveBitmap ) = 0;
+      virtual HRESULT __stdcall raw_DocumentAfterExport (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ VARIANT_BOOL SaveBitmap ) = 0;
+      virtual HRESULT __stdcall raw_WindowActivate (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ struct IVGWindow * Window ) = 0;
+      virtual HRESULT __stdcall raw_WindowDeactivate (
+        /*[in]*/ struct IVGDocument * Doc,
+        /*[in]*/ struct IVGWindow * Window ) = 0;
+      virtual HRESULT __stdcall raw_SelectionChange ( ) = 0;
+      virtual HRESULT __stdcall raw_Start ( ) = 0;
+      virtual HRESULT __stdcall raw_Quit ( ) = 0;
+      virtual HRESULT __stdcall raw_OnPluginCommand (
+        /*[in]*/ BSTR CommandID ) = 0;
+      virtual HRESULT __stdcall raw_OnUpdatePluginCommand (
+        /*[in]*/ BSTR CommandID,
+        /*[in,out]*/ VARIANT_BOOL * Enabled,
+        /*[in,out]*/ enum cdrCommandCheckState * Checked ) = 0;
+      virtual HRESULT __stdcall raw_OnApplicationEvent (
+        /*[in]*/ BSTR EventName,
+        /*[in]*/ SAFEARRAY * * Parameters ) = 0;
+};
+
+struct __declspec(uuid("b05800c5-9aa4-44fd-9547-4f91eb757ac4"))
+DIVGApplicationEvents : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    // Methods:
+    HRESULT QueryDocumentClose (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryDocumentSave (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryDocumentPrint (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryDocumentExport (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL * Cancel );
+    HRESULT QueryQuit (
+        VARIANT_BOOL * Cancel );
+    HRESULT DocumentOpen (
+        struct IVGDocument * Doc,
+        _bstr_t FileName );
+    HRESULT DocumentNew (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL FromTemplate,
+        _bstr_t Template,
+        VARIANT_BOOL IncludeGraphics );
+    HRESULT DocumentClose (
+        struct IVGDocument * Doc );
+    HRESULT DocumentBeforeSave (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT DocumentAfterSave (
+        struct IVGDocument * Doc,
+        VARIANT_BOOL SaveAs,
+        _bstr_t FileName );
+    HRESULT DocumentBeforePrint (
+        struct IVGDocument * Doc );
+    HRESULT DocumentAfterPrint (
+        struct IVGDocument * Doc );
+    HRESULT DocumentBeforeExport (
+        struct IVGDocument * Doc,
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT DocumentAfterExport (
+        struct IVGDocument * Doc,
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        VARIANT_BOOL SaveBitmap );
+    HRESULT WindowActivate (
+        struct IVGDocument * Doc,
+        struct IVGWindow * Window );
+    HRESULT WindowDeactivate (
+        struct IVGDocument * Doc,
+        struct IVGWindow * Window );
+    HRESULT SelectionChange ( );
+    HRESULT Start ( );
+    HRESULT Quit ( );
+    HRESULT OnPluginCommand (
+        _bstr_t CommandID );
+    HRESULT OnUpdatePluginCommand (
+        _bstr_t CommandID,
+        VARIANT_BOOL * Enabled,
+        enum cdrCommandCheckState * Checked );
+    HRESULT OnApplicationEvent (
+        _bstr_t EventName,
+        SAFEARRAY * * Parameters );
+};
+
+struct __declspec(uuid("fcfd0001-7c8c-4859-bdb7-06f555c4aaf0"))
+ActiveView;
+    // [ default ] interface IVGActiveView
+
+struct __declspec(uuid("fcfd0002-7c8c-4859-bdb7-06f555c4aaf0"))
+Application;
+    // [ default ] interface IVGApplication
+    // [ default, source ] dispinterface DIVGApplicationEvents
+    // interface ICUIApplication
+
+struct __declspec(uuid("fcfd0003-7c8c-4859-bdb7-06f555c4aaf0"))
+AppStatus;
+    // [ default ] interface IVGAppStatus
+
+struct __declspec(uuid("fcfd0004-7c8c-4859-bdb7-06f555c4aaf0"))
+AppWindow;
+    // [ default ] interface IVGAppWindow
+
+struct __declspec(uuid("fcfd0005-7c8c-4859-bdb7-06f555c4aaf0"))
+ArrowHead;
+    // [ default ] interface IVGArrowHead
+
+struct __declspec(uuid("fcfd0006-7c8c-4859-bdb7-06f555c4aaf0"))
+ArrowHeadOptions;
+    // [ default ] interface IVGArrowHeadOptions
+
+struct __declspec(uuid("fcfd0007-7c8c-4859-bdb7-06f555c4aaf0"))
+ArrowHeads;
+    // [ default ] interface IVGArrowHeads
+
+struct __declspec(uuid("fcfd0008-7c8c-4859-bdb7-06f555c4aaf0"))
+BBoxSnapPoint;
+    // [ default ] interface IVGBBoxSnapPoint
+
+struct __declspec(uuid("fcfd0009-7c8c-4859-bdb7-06f555c4aaf0"))
+Bitmap;
+    // [ default ] interface IVGBitmap
+
+struct __declspec(uuid("fcfd000a-7c8c-4859-bdb7-06f555c4aaf0"))
+BSpline;
+    // [ default ] interface IVGBSpline
+
+struct __declspec(uuid("fcfd000b-7c8c-4859-bdb7-06f555c4aaf0"))
+BSplineControlPoint;
+    // [ default ] interface IVGBSplineControlPoint
+
+struct __declspec(uuid("fcfd000c-7c8c-4859-bdb7-06f555c4aaf0"))
+BSplineControlPoints;
+    // [ default ] interface IVGBSplineControlPoints
+
+struct __declspec(uuid("fcfd000d-7c8c-4859-bdb7-06f555c4aaf0"))
+Clipboard;
+    // [ default ] interface IVGClipboard
+
+struct __declspec(uuid("fcfd000e-7c8c-4859-bdb7-06f555c4aaf0"))
+CloneLink;
+    // [ default ] interface IVGCloneLink
+
+struct __declspec(uuid("fcfd000f-7c8c-4859-bdb7-06f555c4aaf0"))
+Color;
+    // [ default ] interface IVGColor
+
+struct __declspec(uuid("fcfd0010-7c8c-4859-bdb7-06f555c4aaf0"))
+ColorContext;
+    // [ default ] interface IVGColorContext
+
+struct __declspec(uuid("fcfd0011-7c8c-4859-bdb7-06f555c4aaf0"))
+ColorManagementPolicy;
+    // [ default ] interface IVGColorManagementPolicy
+
+struct __declspec(uuid("fcfd0012-7c8c-4859-bdb7-06f555c4aaf0"))
+ColorManager;
+    // [ default ] interface IVGColorManager
+
+struct __declspec(uuid("fcfd0013-7c8c-4859-bdb7-06f555c4aaf0"))
+ColorProfile;
+    // [ default ] interface IVGColorProfile
+
+struct __declspec(uuid("fcfd0014-7c8c-4859-bdb7-06f555c4aaf0"))
+ColorProfiles;
+    // [ default ] interface IVGColorProfiles
+
+struct __declspec(uuid("fcfd0015-7c8c-4859-bdb7-06f555c4aaf0"))
+Colors;
+    // [ default ] interface IVGColors
+
+struct __declspec(uuid("fcfd0016-7c8c-4859-bdb7-06f555c4aaf0"))
+Component;
+    // [ default ] interface IVGComponent
+
+struct __declspec(uuid("fcfd0017-7c8c-4859-bdb7-06f555c4aaf0"))
+Components;
+    // [ default ] interface IVGComponents
+
+struct __declspec(uuid("fcfd0018-7c8c-4859-bdb7-06f555c4aaf0"))
+Connector;
+    // [ default ] interface IVGConnector
+
+struct __declspec(uuid("fcfd001a-7c8c-4859-bdb7-06f555c4aaf0"))
+CrossPoint;
+    // [ default ] interface IVGCrossPoint
+
+struct __declspec(uuid("fcfd001b-7c8c-4859-bdb7-06f555c4aaf0"))
+CrossPoints;
+    // [ default ] interface IVGCrossPoints
+
+struct __declspec(uuid("fcfd001c-7c8c-4859-bdb7-06f555c4aaf0"))
+Curve;
+    // [ default ] interface IVGCurve
+
+struct __declspec(uuid("fcfd001d-7c8c-4859-bdb7-06f555c4aaf0"))
+CustomEffect;
+    // [ default ] interface IVGCustomEffect
+
+struct __declspec(uuid("fcfd001e-7c8c-4859-bdb7-06f555c4aaf0"))
+CustomShape;
+    // [ default ] interface IVGCustomShape
+
+struct __declspec(uuid("fcfd001f-7c8c-4859-bdb7-06f555c4aaf0"))
+DataField;
+    // [ default ] interface IVGDataField
+
+struct __declspec(uuid("fcfd0020-7c8c-4859-bdb7-06f555c4aaf0"))
+DataFields;
+    // [ default ] interface IVGDataFields
+
+struct __declspec(uuid("fcfd0021-7c8c-4859-bdb7-06f555c4aaf0"))
+DataItem;
+    // [ default ] interface IVGDataItem
+
+struct __declspec(uuid("fcfd0022-7c8c-4859-bdb7-06f555c4aaf0"))
+DataItems;
+    // [ default ] interface IVGDataItems
+
+struct __declspec(uuid("fcfd0023-7c8c-4859-bdb7-06f555c4aaf0"))
+Dimension;
+    // [ default ] interface IVGDimension
+
+struct __declspec(uuid("fcfd0024-7c8c-4859-bdb7-06f555c4aaf0"))
+DimensionAngular;
+    // [ default ] interface IVGDimensionAngular
+
+struct __declspec(uuid("fcfd0025-7c8c-4859-bdb7-06f555c4aaf0"))
+DimensionLinear;
+    // [ default ] interface IVGDimensionLinear
+
+struct __declspec(uuid("fcfd0027-7c8c-4859-bdb7-06f555c4aaf0"))
+Documents;
+    // [ default ] interface IVGDocuments
+
+struct __declspec(uuid("fcfd0028-7c8c-4859-bdb7-06f555c4aaf0"))
+Duotone;
+    // [ default ] interface IVGDuotone
+
+struct __declspec(uuid("fcfd0029-7c8c-4859-bdb7-06f555c4aaf0"))
+DuotoneInk;
+    // [ default ] interface IVGDuotoneInk
+
+struct __declspec(uuid("fcfd002a-7c8c-4859-bdb7-06f555c4aaf0"))
+DuotoneOverprint;
+    // [ default ] interface IVGDuotoneOverprint
+
+struct __declspec(uuid("fcfd002b-7c8c-4859-bdb7-06f555c4aaf0"))
+EdgeSnapPoint;
+    // [ default ] interface IVGEdgeSnapPoint
+
+struct __declspec(uuid("fcfd002c-7c8c-4859-bdb7-06f555c4aaf0"))
+Effect;
+    // [ default ] interface IVGEffect
+
+struct __declspec(uuid("fcfd002d-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectBlend;
+    // [ default ] interface IVGEffectBlend
+
+struct __declspec(uuid("fcfd002e-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectContour;
+    // [ default ] interface IVGEffectContour
+
+struct __declspec(uuid("fcfd002f-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectControlPath;
+    // [ default ] interface IVGEffectControlPath
+
+struct __declspec(uuid("fcfd0030-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectCustomDistortion;
+    // [ default ] interface IVGEffectCustomDistortion
+
+struct __declspec(uuid("fcfd0031-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectDistortion;
+    // [ default ] interface IVGEffectDistortion
+
+struct __declspec(uuid("fcfd0032-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectDropShadow;
+    // [ default ] interface IVGEffectDropShadow
+
+struct __declspec(uuid("fcfd0033-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectEnvelope;
+    // [ default ] interface IVGEffectEnvelope
+
+struct __declspec(uuid("fcfd0034-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectExtrude;
+    // [ default ] interface IVGEffectExtrude
+
+struct __declspec(uuid("fcfd0035-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectLens;
+    // [ default ] interface IVGEffectLens
+
+struct __declspec(uuid("fcfd0036-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectPerspective;
+    // [ default ] interface IVGEffectPerspective
+
+struct __declspec(uuid("fcfd0037-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectPushPullDistortion;
+    // [ default ] interface IVGEffectPushPullDistortion
+
+struct __declspec(uuid("fcfd0038-7c8c-4859-bdb7-06f555c4aaf0"))
+Effects;
+    // [ default ] interface IVGEffects
+
+struct __declspec(uuid("fcfd0039-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectTextOnPath;
+    // [ default ] interface IVGEffectTextOnPath
+
+struct __declspec(uuid("fcfd003a-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectTwisterDistortion;
+    // [ default ] interface IVGEffectTwisterDistortion
+
+struct __declspec(uuid("fcfd003b-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectZipperDistortion;
+    // [ default ] interface IVGEffectZipperDistortion
+
+struct __declspec(uuid("fcfd003c-7c8c-4859-bdb7-06f555c4aaf0"))
+Ellipse;
+    // [ default ] interface IVGEllipse
+
+struct __declspec(uuid("fcfd003d-7c8c-4859-bdb7-06f555c4aaf0"))
+EPS;
+    // [ default ] interface IVGEPS
+
+struct __declspec(uuid("fcfd003e-7c8c-4859-bdb7-06f555c4aaf0"))
+ExportFilter;
+    // [ default ] interface ICorelExportFilter
+
+struct __declspec(uuid("fcfd003f-7c8c-4859-bdb7-06f555c4aaf0"))
+ExtrudeVanishingPoint;
+    // [ default ] interface IVGExtrudeVanishingPoint
+
+struct __declspec(uuid("fcfd0040-7c8c-4859-bdb7-06f555c4aaf0"))
+Fill;
+    // [ default ] interface IVGFill
+
+struct __declspec(uuid("fcfd0041-7c8c-4859-bdb7-06f555c4aaf0"))
+FillMetadata;
+    // [ default ] interface IVGFillMetadata
+
+struct __declspec(uuid("fcfd0042-7c8c-4859-bdb7-06f555c4aaf0"))
+FontList;
+    // [ default ] interface IVGFontList
+
+struct __declspec(uuid("fcfd0043-7c8c-4859-bdb7-06f555c4aaf0"))
+FountainColor;
+    // [ default ] interface IVGFountainColor
+
+struct __declspec(uuid("fcfd0044-7c8c-4859-bdb7-06f555c4aaf0"))
+FountainColors;
+    // [ default ] interface IVGFountainColors
+
+struct __declspec(uuid("fcfd0045-7c8c-4859-bdb7-06f555c4aaf0"))
+FountainFill;
+    // [ default ] interface IVGFountainFill
+
+struct __declspec(uuid("fcfd0046-7c8c-4859-bdb7-06f555c4aaf0"))
+GlobalMacroStorage;
+    // [ default ] interface _IGlobalMacroStorage
+    // [ default, source ] dispinterface DIVGApplicationEvents
+
+struct __declspec(uuid("fcfd0047-7c8c-4859-bdb7-06f555c4aaf0"))
+GMSManager;
+    // [ default ] interface IVGGMSManager
+
+struct __declspec(uuid("fcfd0048-7c8c-4859-bdb7-06f555c4aaf0"))
+Grid;
+    // [ default ] interface IVGGrid
+
+struct __declspec(uuid("fcfd0049-7c8c-4859-bdb7-06f555c4aaf0"))
+Guide;
+    // [ default ] interface IVGGuide
+
+struct __declspec(uuid("fcfd004a-7c8c-4859-bdb7-06f555c4aaf0"))
+HatchFill;
+    // [ default ] interface IVGHatchFill
+
+struct __declspec(uuid("fcfd004b-7c8c-4859-bdb7-06f555c4aaf0"))
+HatchFills;
+    // [ default ] interface IVGHatchFills
+
+struct __declspec(uuid("fcfd004c-7c8c-4859-bdb7-06f555c4aaf0"))
+HatchLibraries;
+    // [ default ] interface IVGHatchLibraries
+
+struct __declspec(uuid("fcfd004d-7c8c-4859-bdb7-06f555c4aaf0"))
+HatchLibrary;
+    // [ default ] interface IVGHatchLibrary
+
+struct __declspec(uuid("fcfd004e-7c8c-4859-bdb7-06f555c4aaf0"))
+HatchPattern;
+    // [ default ] interface IVGHatchPattern
+
+struct __declspec(uuid("fcfd004f-7c8c-4859-bdb7-06f555c4aaf0"))
+HatchPatterns;
+    // [ default ] interface IVGHatchPatterns
+
+struct __declspec(uuid("fcfd0050-7c8c-4859-bdb7-06f555c4aaf0"))
+ImportFilter;
+    // [ default ] interface ICorelImportFilter
+
+struct __declspec(uuid("fcfd0052-7c8c-4859-bdb7-06f555c4aaf0"))
+Layers;
+    // [ default ] interface IVGLayers
+
+struct __declspec(uuid("fcfd0053-7c8c-4859-bdb7-06f555c4aaf0"))
+LocalizableString;
+    // [ default ] interface IVGLocalizableString
+
+struct __declspec(uuid("fcfd0054-7c8c-4859-bdb7-06f555c4aaf0"))
+Metadata;
+    // [ default ] interface IVGMetadata
+
+struct __declspec(uuid("fcfd0055-7c8c-4859-bdb7-06f555c4aaf0"))
+Node;
+    // [ default ] interface IVGNode
+
+struct __declspec(uuid("fcfd0056-7c8c-4859-bdb7-06f555c4aaf0"))
+NodeRange;
+    // [ default ] interface IVGNodeRange
+
+struct __declspec(uuid("fcfd0057-7c8c-4859-bdb7-06f555c4aaf0"))
+Nodes;
+    // [ default ] interface IVGNodes
+
+struct __declspec(uuid("fcfd0058-7c8c-4859-bdb7-06f555c4aaf0"))
+ObjectSnapPoint;
+    // [ default ] interface IVGObjectSnapPoint
+
+struct __declspec(uuid("fcfd0059-7c8c-4859-bdb7-06f555c4aaf0"))
+OLE;
+    // [ default ] interface IVGOLE
+
+struct __declspec(uuid("fcfd005a-7c8c-4859-bdb7-06f555c4aaf0"))
+Outline;
+    // [ default ] interface IVGOutline
+
+struct __declspec(uuid("fcfd005b-7c8c-4859-bdb7-06f555c4aaf0"))
+OutlineStyle;
+    // [ default ] interface IVGOutlineStyle
+
+struct __declspec(uuid("fcfd005c-7c8c-4859-bdb7-06f555c4aaf0"))
+OutlineStyles;
+    // [ default ] interface IVGOutlineStyles
+
+struct __declspec(uuid("fcfd005e-7c8c-4859-bdb7-06f555c4aaf0"))
+Pages;
+    // [ default ] interface IVGPages
+
+struct __declspec(uuid("fcfd005f-7c8c-4859-bdb7-06f555c4aaf0"))
+PageSize;
+    // [ default ] interface IVGPageSize
+
+struct __declspec(uuid("fcfd0060-7c8c-4859-bdb7-06f555c4aaf0"))
+PageSizes;
+    // [ default ] interface IVGPageSizes
+
+struct __declspec(uuid("fcfd0061-7c8c-4859-bdb7-06f555c4aaf0"))
+Palette;
+    // [ default ] interface IVGPalette
+
+struct __declspec(uuid("fcfd0062-7c8c-4859-bdb7-06f555c4aaf0"))
+PaletteManager;
+    // [ default ] interface IVGPaletteManager
+
+struct __declspec(uuid("fcfd0063-7c8c-4859-bdb7-06f555c4aaf0"))
+Palettes;
+    // [ default ] interface IVGPalettes
+
+struct __declspec(uuid("fcfd0064-7c8c-4859-bdb7-06f555c4aaf0"))
+PatternCanvas;
+    // [ default ] interface IVGPatternCanvas
+
+struct __declspec(uuid("fcfd0065-7c8c-4859-bdb7-06f555c4aaf0"))
+PatternCanvases;
+    // [ default ] interface IVGPatternCanvases
+
+struct __declspec(uuid("fcfd0066-7c8c-4859-bdb7-06f555c4aaf0"))
+PatternFill;
+    // [ default ] interface IVGPatternFill
+
+struct __declspec(uuid("fcfd0067-7c8c-4859-bdb7-06f555c4aaf0"))
+Polygon;
+    // [ default ] interface IVGPolygon
+
+struct __declspec(uuid("fcfd0068-7c8c-4859-bdb7-06f555c4aaf0"))
+PostScriptFill;
+    // [ default ] interface IVGPostScriptFill
+
+struct __declspec(uuid("fcfd0069-7c8c-4859-bdb7-06f555c4aaf0"))
+PowerClip;
+    // [ default ] interface IVGPowerClip
+
+struct __declspec(uuid("fcfd006a-7c8c-4859-bdb7-06f555c4aaf0"))
+ProofColorSettings;
+    // [ default ] interface IVGProofColorSettings
+
+struct __declspec(uuid("fcfd006b-7c8c-4859-bdb7-06f555c4aaf0"))
+Properties;
+    // [ default ] interface IVGProperties
+
+struct __declspec(uuid("fcfd006c-7c8c-4859-bdb7-06f555c4aaf0"))
+PSScreenOptions;
+    // [ default ] interface IVGPSScreenOptions
+
+struct __declspec(uuid("fcfd006d-7c8c-4859-bdb7-06f555c4aaf0"))
+RecentFile;
+    // [ default ] interface IVGRecentFile
+
+struct __declspec(uuid("fcfd006e-7c8c-4859-bdb7-06f555c4aaf0"))
+RecentFiles;
+    // [ default ] interface IVGRecentFiles
+
+struct __declspec(uuid("fcfd006f-7c8c-4859-bdb7-06f555c4aaf0"))
+Rect;
+    // [ default ] interface IVGRect
+
+struct __declspec(uuid("fcfd0070-7c8c-4859-bdb7-06f555c4aaf0"))
+Rectangle;
+    // [ default ] interface IVGRectangle
+
+struct __declspec(uuid("fcfd0071-7c8c-4859-bdb7-06f555c4aaf0"))
+Rulers;
+    // [ default ] interface IVGRulers
+
+struct __declspec(uuid("fcfd0072-7c8c-4859-bdb7-06f555c4aaf0"))
+Segment;
+    // [ default ] interface IVGSegment
+
+struct __declspec(uuid("fcfd0073-7c8c-4859-bdb7-06f555c4aaf0"))
+SegmentRange;
+    // [ default ] interface IVGSegmentRange
+
+struct __declspec(uuid("fcfd0074-7c8c-4859-bdb7-06f555c4aaf0"))
+Segments;
+    // [ default ] interface IVGSegments
+
+struct __declspec(uuid("fcfd0075-7c8c-4859-bdb7-06f555c4aaf0"))
+SelectionInfo;
+    // [ default ] interface IVGSelectionInformation
+
+struct __declspec(uuid("fcfd0077-7c8c-4859-bdb7-06f555c4aaf0"))
+ShapeRange;
+    // [ default ] interface IVGShapeRange
+
+struct __declspec(uuid("fcfd0078-7c8c-4859-bdb7-06f555c4aaf0"))
+Shapes;
+    // [ default ] interface IVGShapes
+
+struct __declspec(uuid("fcfd0079-7c8c-4859-bdb7-06f555c4aaf0"))
+SnapPoint;
+    // [ default ] interface IVGSnapPoint
+
+struct __declspec(uuid("fcfd007a-7c8c-4859-bdb7-06f555c4aaf0"))
+SnapPointRange;
+    // [ default ] interface IVGSnapPointRange
+
+struct __declspec(uuid("fcfd007b-7c8c-4859-bdb7-06f555c4aaf0"))
+SnapPoints;
+    // [ default ] interface IVGSnapPoints
+
+struct __declspec(uuid("fcfd007c-7c8c-4859-bdb7-06f555c4aaf0"))
+Spread;
+    // [ default ] interface IVGSpread
+
+struct __declspec(uuid("fcfd007d-7c8c-4859-bdb7-06f555c4aaf0"))
+Spreads;
+    // [ default ] interface IVGSpreads
+
+struct __declspec(uuid("fcfd007e-7c8c-4859-bdb7-06f555c4aaf0"))
+StructAlignProperties;
+    // [ default ] interface IVGStructAlignProperties
+
+struct __declspec(uuid("fcfd007f-7c8c-4859-bdb7-06f555c4aaf0"))
+StructColorConversionOptions;
+    // [ default ] interface IVGStructColorConversionOptions
+
+struct __declspec(uuid("fcfd0080-7c8c-4859-bdb7-06f555c4aaf0"))
+StructCreateOptions;
+    // [ default ] interface IVGStructCreateOptions
+
+struct __declspec(uuid("fcfd0081-7c8c-4859-bdb7-06f555c4aaf0"))
+StructExportOptions;
+    // [ default ] interface IVGStructExportOptions
+
+struct __declspec(uuid("fcfd0082-7c8c-4859-bdb7-06f555c4aaf0"))
+StructFontProperties;
+    // [ default ] interface IVGStructFontProperties
+
+struct __declspec(uuid("fcfd0083-7c8c-4859-bdb7-06f555c4aaf0"))
+StructHyphenationSettings;
+    // [ default ] interface IVGStructHyphenationSettings
+
+struct __declspec(uuid("fcfd0084-7c8c-4859-bdb7-06f555c4aaf0"))
+StructImportCropOptions;
+    // [ default ] interface IStructImportCropOptions
+
+struct __declspec(uuid("fcfd0085-7c8c-4859-bdb7-06f555c4aaf0"))
+StructImportOptions;
+    // [ default ] interface IVGStructImportOptions
+
+struct __declspec(uuid("fcfd0086-7c8c-4859-bdb7-06f555c4aaf0"))
+StructImportResampleOptions;
+    // [ default ] interface IStructImportResampleOptions
+
+struct __declspec(uuid("fcfd0087-7c8c-4859-bdb7-06f555c4aaf0"))
+StructOpenOptions;
+    // [ default ] interface IVGStructOpenOptions
+
+struct __declspec(uuid("fcfd0088-7c8c-4859-bdb7-06f555c4aaf0"))
+StructPaletteOptions;
+    // [ default ] interface IVGStructPaletteOptions
+
+struct __declspec(uuid("fcfd0089-7c8c-4859-bdb7-06f555c4aaf0"))
+StructPasteOptions;
+    // [ default ] interface IVGStructPasteOptions
+
+struct __declspec(uuid("fcfd008a-7c8c-4859-bdb7-06f555c4aaf0"))
+StructSaveAsOptions;
+    // [ default ] interface IVGStructSaveAsOptions
+
+struct __declspec(uuid("fcfd008b-7c8c-4859-bdb7-06f555c4aaf0"))
+StructSpaceProperties;
+    // [ default ] interface IVGStructSpaceProperties
+
+struct __declspec(uuid("fcfd008c-7c8c-4859-bdb7-06f555c4aaf0"))
+Style;
+    // [ default ] interface IVGStyle
+
+struct __declspec(uuid("fcfd008d-7c8c-4859-bdb7-06f555c4aaf0"))
+StyleCharacter;
+    // [ default ] interface IVGStyleCharacter
+
+struct __declspec(uuid("fcfd008e-7c8c-4859-bdb7-06f555c4aaf0"))
+StyleFill;
+    // [ default ] interface IVGStyleFill
+
+struct __declspec(uuid("fcfd008f-7c8c-4859-bdb7-06f555c4aaf0"))
+StyleFrame;
+    // [ default ] interface IVGStyleFrame
+
+struct __declspec(uuid("fcfd0090-7c8c-4859-bdb7-06f555c4aaf0"))
+StyleOutline;
+    // [ default ] interface IVGStyleOutline
+
+struct __declspec(uuid("fcfd0091-7c8c-4859-bdb7-06f555c4aaf0"))
+StyleParagraph;
+    // [ default ] interface IVGStyleParagraph
+
+struct __declspec(uuid("fcfd0092-7c8c-4859-bdb7-06f555c4aaf0"))
+Styles;
+    // [ default ] interface IVGStyles
+
+struct __declspec(uuid("fcfd0093-7c8c-4859-bdb7-06f555c4aaf0"))
+StyleSheet;
+    // [ default ] interface IVGStyleSheet
+
+struct __declspec(uuid("fcfd0094-7c8c-4859-bdb7-06f555c4aaf0"))
+SubPath;
+    // [ default ] interface IVGSubPath
+
+struct __declspec(uuid("fcfd0095-7c8c-4859-bdb7-06f555c4aaf0"))
+SubPaths;
+    // [ default ] interface IVGSubPaths
+
+struct __declspec(uuid("fcfd0096-7c8c-4859-bdb7-06f555c4aaf0"))
+Symbol;
+    // [ default ] interface IVGSymbol
+
+struct __declspec(uuid("fcfd0097-7c8c-4859-bdb7-06f555c4aaf0"))
+SymbolDefinition;
+    // [ default ] interface IVGSymbolDefinition
+
+struct __declspec(uuid("fcfd0098-7c8c-4859-bdb7-06f555c4aaf0"))
+SymbolDefinitions;
+    // [ default ] interface IVGSymbolDefinitions
+
+struct __declspec(uuid("fcfd0099-7c8c-4859-bdb7-06f555c4aaf0"))
+SymbolLibraries;
+    // [ default ] interface IVGSymbolLibraries
+
+struct __declspec(uuid("fcfd009a-7c8c-4859-bdb7-06f555c4aaf0"))
+SymbolLibrary;
+    // [ default ] interface IVGSymbolLibrary
+
+struct __declspec(uuid("fcfd009b-7c8c-4859-bdb7-06f555c4aaf0"))
+Text;
+    // [ default ] interface IVGText
+
+struct __declspec(uuid("fcfd009c-7c8c-4859-bdb7-06f555c4aaf0"))
+TextCharacters;
+    // [ default ] interface IVGTextCharacters
+
+struct __declspec(uuid("fcfd009d-7c8c-4859-bdb7-06f555c4aaf0"))
+TextColumns;
+    // [ default ] interface IVGTextColumns
+
+struct __declspec(uuid("fcfd009e-7c8c-4859-bdb7-06f555c4aaf0"))
+TextFrame;
+    // [ default ] interface IVGTextFrame
+
+struct __declspec(uuid("fcfd009f-7c8c-4859-bdb7-06f555c4aaf0"))
+TextFrames;
+    // [ default ] interface IVGTextFrames
+
+struct __declspec(uuid("fcfd00a0-7c8c-4859-bdb7-06f555c4aaf0"))
+TextLines;
+    // [ default ] interface IVGTextLines
+
+struct __declspec(uuid("fcfd00a1-7c8c-4859-bdb7-06f555c4aaf0"))
+TextParagraphs;
+    // [ default ] interface IVGTextParagraphs
+
+struct __declspec(uuid("fcfd00a2-7c8c-4859-bdb7-06f555c4aaf0"))
+TextRange;
+    // [ default ] interface IVGTextRange
+
+struct __declspec(uuid("fcfd00a3-7c8c-4859-bdb7-06f555c4aaf0"))
+TextRanges;
+    // [ default ] interface IVGTextRanges
+
+struct __declspec(uuid("fcfd00a4-7c8c-4859-bdb7-06f555c4aaf0"))
+TextTabPosition;
+    // [ default ] interface IVGTextTabPosition
+
+struct __declspec(uuid("fcfd00a5-7c8c-4859-bdb7-06f555c4aaf0"))
+TextTabPositions;
+    // [ default ] interface IVGTextTabPositions
+
+struct __declspec(uuid("fcfd00a6-7c8c-4859-bdb7-06f555c4aaf0"))
+TextureFill;
+    // [ default ] interface IVGTextureFill
+
+struct __declspec(uuid("fcfd00a7-7c8c-4859-bdb7-06f555c4aaf0"))
+TextureFillProperties;
+    // [ default ] interface IVGTextureFillProperties
+
+struct __declspec(uuid("fcfd00a8-7c8c-4859-bdb7-06f555c4aaf0"))
+TextureFillProperty;
+    // [ default ] interface IVGTextureFillProperty
+
+struct __declspec(uuid("fcfd00a9-7c8c-4859-bdb7-06f555c4aaf0"))
+TextWords;
+    // [ default ] interface IVGTextWords
+
+struct __declspec(uuid("fcfd00aa-7c8c-4859-bdb7-06f555c4aaf0"))
+TraceSettings;
+    // [ default ] interface IVGTraceSettings
+
+struct __declspec(uuid("fcfd00ab-7c8c-4859-bdb7-06f555c4aaf0"))
+Transparency;
+    // [ default ] interface IVGTransparency
+
+struct __declspec(uuid("fcfd00ac-7c8c-4859-bdb7-06f555c4aaf0"))
+TreeManager;
+    // [ default ] interface IVGTreeManager
+
+struct __declspec(uuid("fcfd00ad-7c8c-4859-bdb7-06f555c4aaf0"))
+TreeNode;
+    // [ default ] interface IVGTreeNode
+
+struct __declspec(uuid("fcfd00ae-7c8c-4859-bdb7-06f555c4aaf0"))
+TreeNodes;
+    // [ default ] interface IVGTreeNodes
+
+struct __declspec(uuid("fcfd00af-7c8c-4859-bdb7-06f555c4aaf0"))
+URL;
+    // [ default ] interface IVGURL
+
+struct __declspec(uuid("fcfd00b0-7c8c-4859-bdb7-06f555c4aaf0"))
+UserSnapPoint;
+    // [ default ] interface IVGUserSnapPoint
+
+struct __declspec(uuid("fcfd00b1-7c8c-4859-bdb7-06f555c4aaf0"))
+View;
+    // [ default ] interface IVGView
+
+struct __declspec(uuid("fcfd00b2-7c8c-4859-bdb7-06f555c4aaf0"))
+Views;
+    // [ default ] interface IVGViews
+
+struct __declspec(uuid("fcfd00b4-7c8c-4859-bdb7-06f555c4aaf0"))
+Windows;
+    // [ default ] interface IVGWindows
+
+struct __declspec(uuid("fcfd00b5-7c8c-4859-bdb7-06f555c4aaf0"))
+Workspace;
+    // [ default ] interface IVGWorkspace
+
+struct __declspec(uuid("fcfd00b6-7c8c-4859-bdb7-06f555c4aaf0"))
+Workspaces;
+    // [ default ] interface IVGWorkspaces
+
+struct __declspec(uuid("fcfd00b7-7c8c-4859-bdb7-06f555c4aaf0"))
+CorelScriptTools;
+    // [ default ] interface ICorelScriptTools
+
+struct __declspec(uuid("fcfd00b8-7c8c-4859-bdb7-06f555c4aaf0"))
+GMSMacro;
+    // [ default ] interface IVGGMSMacro
+
+struct __declspec(uuid("fcfd00b9-7c8c-4859-bdb7-06f555c4aaf0"))
+GMSMacros;
+    // [ default ] interface IVGGMSMacros
+
+struct __declspec(uuid("fcfd00ba-7c8c-4859-bdb7-06f555c4aaf0"))
+GMSProject;
+    // [ default ] interface IVGGMSProject
+
+struct __declspec(uuid("fcfd00bb-7c8c-4859-bdb7-06f555c4aaf0"))
+GMSProjects;
+    // [ default ] interface IVGGMSProjects
+
+struct __declspec(uuid("fcfd00bc-7c8c-4859-bdb7-06f555c4aaf0"))
+OnScreenCurve;
+    // [ default ] interface IVGOnScreenCurve
+
+struct __declspec(uuid("fcfd00bd-7c8c-4859-bdb7-06f555c4aaf0"))
+OnScreenHandle;
+    // [ default ] interface IVGOnScreenHandle
+
+struct __declspec(uuid("fcfd00be-7c8c-4859-bdb7-06f555c4aaf0"))
+OnScreenText;
+    // [ default ] interface IVGOnScreenText
+
+struct __declspec(uuid("fcfd00bf-7c8c-4859-bdb7-06f555c4aaf0"))
+ToolStateAttributes;
+    // [ default ] interface IVGToolStateAttributes
+
+struct __declspec(uuid("fcfd00c0-7c8c-4859-bdb7-06f555c4aaf0"))
+ToolState;
+    // [ default ] interface IVGToolState
+
+struct __declspec(uuid("fcfd00c1-7c8c-4859-bdb7-06f555c4aaf0"))
+Point;
+    // [ default ] interface IVGPoint
+
+struct __declspec(uuid("fcfd00c2-7c8c-4859-bdb7-06f555c4aaf0"))
+PointRange;
+    // [ default ] interface IVGPointRange
+
+struct __declspec(uuid("fcfd00c3-7c8c-4859-bdb7-06f555c4aaf0"))
+Vector;
+    // [ default ] interface IVGVector
+
+struct __declspec(uuid("fcfd00c4-7c8c-4859-bdb7-06f555c4aaf0"))
+TransformMatrix;
+    // [ default ] interface IVGTransformMatrix
+
+struct __declspec(uuid("fcfd00c5-7c8c-4859-bdb7-06f555c4aaf0"))
+MathUtils;
+    // [ default ] interface IVGMathUtils
+
+struct __declspec(uuid("fcfd00c6-7c8c-4859-bdb7-06f555c4aaf0"))
+ToolShapeAttributes;
+    // [ default ] interface IVGToolShapeAttributes
+
+struct __declspec(uuid("fcfd00c7-7c8c-4859-bdb7-06f555c4aaf0"))
+ToolShape;
+    // [ default ] interface IVGToolShape
+
+struct __declspec(uuid("fcfd00c8-7c8c-4859-bdb7-06f555c4aaf0"))
+StyleTransparency;
+    // [ default ] interface IVGStyleTransparency
+
+struct __declspec(uuid("fcfd00c9-7c8c-4859-bdb7-06f555c4aaf0"))
+Image;
+    // [ default ] interface IVGImage
+
+struct __declspec(uuid("fcfd00ca-7c8c-4859-bdb7-06f555c4aaf0"))
+ImageTiles;
+    // [ default ] interface IVGImageTiles
+
+struct __declspec(uuid("fcfd00cb-7c8c-4859-bdb7-06f555c4aaf0"))
+ImageTile;
+    // [ default ] interface IVGImageTile
+
+struct __declspec(uuid("fcfd00cc-7c8c-4859-bdb7-06f555c4aaf0"))
+EffectInnerShadow;
+    // [ default ] interface IVGEffectInnerShadow
+
+struct __declspec(uuid("fcfd00cd-7c8c-4859-bdb7-06f555c4aaf0"))
+TextIndentLevelStyles;
+    // [ default ] interface IVGTextIndentLevelStyles
+
+struct __declspec(uuid("fcfd00ce-7c8c-4859-bdb7-06f555c4aaf0"))
+TextIndentLevelStyle;
+    // [ default ] interface IVGTextIndentLevelStyle
+
+struct __declspec(uuid("fcfd00cf-7c8c-4859-bdb7-06f555c4aaf0"))
+TextVariableAxes;
+    // [ default ] interface IVGTextVariableAxes
+
+struct __declspec(uuid("fcfd00d0-7c8c-4859-bdb7-06f555c4aaf0"))
+TextVariableAxis;
+    // [ default ] interface IVGTextVariableAxis
+
+struct __declspec(uuid("fcfd1001-7c8c-4859-bdb7-06f555c4aaf0"))
+FrameWork;
+    // [ default ] interface ICUIFrameWork
+
+struct __declspec(uuid("fcfd1002-7c8c-4859-bdb7-06f555c4aaf0"))
+CommandBars;
+    // [ default ] interface ICUICommandBars
+
+struct __declspec(uuid("fcfd1003-7c8c-4859-bdb7-06f555c4aaf0"))
+CommandBarModes;
+    // [ default ] interface ICUICommandBarModes
+
+struct __declspec(uuid("fcfd1004-7c8c-4859-bdb7-06f555c4aaf0"))
+CommandBarMode;
+    // [ default ] interface ICUICommandBarMode
+
+struct __declspec(uuid("fcfd1005-7c8c-4859-bdb7-06f555c4aaf0"))
+Controls;
+    // [ default ] interface ICUIControls
+
+struct __declspec(uuid("fcfd1006-7c8c-4859-bdb7-06f555c4aaf0"))
+Control;
+    // [ default ] interface ICUIControl
+
+struct __declspec(uuid("fcfd1007-7c8c-4859-bdb7-06f555c4aaf0"))
+CommandBar;
+    // [ default ] interface ICUICommandBar
+
+struct __declspec(uuid("fcfd1008-7c8c-4859-bdb7-06f555c4aaf0"))
+DataContext;
+    // [ default ] interface ICUIDataContext
+
+struct __declspec(uuid("fcfd1009-7c8c-4859-bdb7-06f555c4aaf0"))
+DataSourceProxy;
+    // [ default ] interface ICUIDataSourceProxy
+
+struct __declspec(uuid("fcfd100a-7c8c-4859-bdb7-06f555c4aaf0"))
+ImageList;
+    // [ default ] interface ICUIImageList
+
+struct __declspec(uuid("fcfd100b-7c8c-4859-bdb7-06f555c4aaf0"))
+FrameWindows;
+    // [ default ] interface ICUIFrameWindows
+
+struct __declspec(uuid("fcfd100c-7c8c-4859-bdb7-06f555c4aaf0"))
+FrameWindow;
+    // [ default ] interface ICUIFrameWindow
+
+struct __declspec(uuid("fcfd100d-7c8c-4859-bdb7-06f555c4aaf0"))
+ViewHosts;
+    // [ default ] interface ICUIViewHosts
+
+struct __declspec(uuid("fcfd100e-7c8c-4859-bdb7-06f555c4aaf0"))
+ViewHost;
+    // [ default ] interface ICUIViewHost
+
+struct __declspec(uuid("fcfd100f-7c8c-4859-bdb7-06f555c4aaf0"))
+DockHosts;
+    // [ default ] interface ICUIDockHosts
+
+struct __declspec(uuid("fcfd1010-7c8c-4859-bdb7-06f555c4aaf0"))
+DockHost;
+    // [ default ] interface ICUIDockHost
+
+struct __declspec(uuid("fcfd1011-7c8c-4859-bdb7-06f555c4aaf0"))
+ViewWindows;
+    // [ default ] interface ICUIViewWindows
+
+struct __declspec(uuid("fcfd1012-7c8c-4859-bdb7-06f555c4aaf0"))
+ViewWindow;
+    // [ default ] interface ICUIViewWindow
+
+struct __declspec(uuid("fcfd1013-7c8c-4859-bdb7-06f555c4aaf0"))
+DockItems;
+    // [ default ] interface ICUIDockItems
+
+struct __declspec(uuid("fcfd1014-7c8c-4859-bdb7-06f555c4aaf0"))
+DockItem;
+    // [ default ] interface ICUIDockItem
+
+struct __declspec(uuid("fcfd1015-7c8c-4859-bdb7-06f555c4aaf0"))
+ScreenRect;
+    // [ default ] interface ICUIScreenRect
+
+struct __declspec(uuid("fcfd1016-7c8c-4859-bdb7-06f555c4aaf0"))
+BitmapImage;
+    // [ default ] interface ICUIBitmapImage
+
+struct __declspec(uuid("fcfd1017-7c8c-4859-bdb7-06f555c4aaf0"))
+StatusText;
+    // [ default ] interface ICUIStatusText
+
+struct __declspec(uuid("1af50001-1359-11d7-93da-0090275861fc"))
+PDFVBASettings;
+    // [ default ] interface IPDFVBASettings
+
+struct __declspec(uuid("0a9f0001-6a30-4fb2-b515-6e646d903999"))
+SystemPrinters;
+    // [ default ] interface IPrnVBAPrinters
+
+struct __declspec(uuid("0a9f0002-6a30-4fb2-b515-6e646d903999"))
+Printer;
+    // [ default ] interface IPrnVBAPrinter
+
+struct __declspec(uuid("0a9f0003-6a30-4fb2-b515-6e646d903999"))
+PrintJob;
+    // [ default ] interface IPrnVBAPrintJob
+
+struct __declspec(uuid("0a9f0004-6a30-4fb2-b515-6e646d903999"))
+PrintDocuments;
+    // [ default ] interface IPrnVBAPrintDocuments
+
+struct __declspec(uuid("0a9f0005-6a30-4fb2-b515-6e646d903999"))
+PrintPages;
+    // [ default ] interface IPrnVBAPrintPages
+
+struct __declspec(uuid("0a9f0006-6a30-4fb2-b515-6e646d903999"))
+PrintSettings;
+    // [ default ] interface IPrnVBAPrintSettings
+
+struct __declspec(uuid("0a9f0007-6a30-4fb2-b515-6e646d903999"))
+PrintSeparations;
+    // [ default ] interface IPrnVBAPrintSeparations
+
+struct __declspec(uuid("0a9f0008-6a30-4fb2-b515-6e646d903999"))
+SeparationPlates;
+    // [ default ] interface IPrnVBASeparationPlates
+
+struct __declspec(uuid("0a9f0009-6a30-4fb2-b515-6e646d903999"))
+SeparationPlate;
+    // [ default ] interface IPrnVBASeparationPlate
+
+struct __declspec(uuid("0a9f000a-6a30-4fb2-b515-6e646d903999"))
+PrintPrepress;
+    // [ default ] interface IPrnVBAPrintPrepress
+
+struct __declspec(uuid("0a9f000b-6a30-4fb2-b515-6e646d903999"))
+PrintPostScript;
+    // [ default ] interface IPrnVBAPrintPostScript
+
+struct __declspec(uuid("0a9f000c-6a30-4fb2-b515-6e646d903999"))
+PrintTrapping;
+    // [ default ] interface IPrnVBAPrintTrapping
+
+struct __declspec(uuid("0a9f000d-6a30-4fb2-b515-6e646d903999"))
+TrapLayers;
+    // [ default ] interface IPrnVBATrapLayers
+
+struct __declspec(uuid("0a9f000e-6a30-4fb2-b515-6e646d903999"))
+TrapLayer;
+    // [ default ] interface IPrnVBATrapLayer
+
+struct __declspec(uuid("0a9f000f-6a30-4fb2-b515-6e646d903999"))
+PrintOptions;
+    // [ default ] interface IPrnVBAPrintOptions
+
+struct __declspec(uuid("0a9f0010-6a30-4fb2-b515-6e646d903999"))
+PrintLayout;
+    // [ default ] interface IPrnVBAPrintLayout
+
+struct __declspec(uuid("9cee0003-42a0-5980-43a3-7aa71461482c"))
+ICUIFrameWork : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCommandBars))
+    ICUICommandBarsPtr CommandBars;
+    __declspec(property(get=GetMainMenu))
+    ICUICommandBarPtr MainMenu;
+    __declspec(property(get=GetStatusBar))
+    ICUICommandBarPtr StatusBar;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetAutomation))
+    ICUIAutomationPtr Automation;
+    __declspec(property(get=GetFrameWindows))
+    ICUIFrameWindowsPtr FrameWindows;
+    __declspec(property(get=GetMainFrameWindow))
+    ICUIFrameWindowPtr MainFrameWindow;
+    __declspec(property(get=GetApplication))
+    ICUIApplicationPtr Application;
+    __declspec(property(get=GetTaskManager))
+    ICUITaskManagerPtr TaskManager;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    ICUICommandBarsPtr GetCommandBars ( );
+    ICUICommandBarPtr GetMainMenu ( );
+    ICUICommandBarPtr GetStatusBar ( );
+    _bstr_t GetName ( );
+    HRESULT ImportWorkspace (
+        _bstr_t FileName );
+    ICUIAutomationPtr GetAutomation ( );
+    HRESULT ShowDocker (
+        _bstr_t Guid );
+    HRESULT HideDocker (
+        _bstr_t Guid );
+    VARIANT_BOOL IsDockerVisible (
+        _bstr_t Guid );
+    HRESULT AddDocker (
+        _bstr_t Guid,
+        _bstr_t ClassName,
+        _bstr_t AssemblyPath );
+    HRESULT RemoveDocker (
+        _bstr_t Guid );
+    ICUIFrameWindowsPtr GetFrameWindows ( );
+    ICUIFrameWindowPtr GetMainFrameWindow ( );
+    ICUIApplicationPtr GetApplication ( );
+    ICUIFrameWindowPtr CreateFrameWindowForViewHost (
+        struct ICUIViewHost * ViewHostToInsert );
+    ICUIFrameWindowPtr CreateFrameWindowForView (
+        struct ICUIViewWindow * ViewToInsert );
+    HRESULT ShowDialog (
+        _bstr_t Guid );
+    HRESULT HideDialog (
+        _bstr_t Guid );
+    long ShowMessageBox (
+        _bstr_t szMessage,
+        _bstr_t szMainInstruction,
+        long unFlags,
+        struct ICUIBitmapImage * pImage,
+        _bstr_t szHelpGuid,
+        _bstr_t szWarningName,
+        enum cuiMessageBoxFlags eFlags,
+        struct ICUIDataContext * pDataContext );
+    ICUIWarningPtr GetWarning (
+        _bstr_t szWarningID,
+        VARIANT_BOOL bHidden );
+    ICUITaskManagerPtr GetTaskManager ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_CommandBars (
+        /*[out,retval]*/ struct ICUICommandBars * * pVal ) = 0;
+      virtual HRESULT __stdcall get_MainMenu (
+        /*[out,retval]*/ struct ICUICommandBar * * pVal ) = 0;
+      virtual HRESULT __stdcall get_StatusBar (
+        /*[out,retval]*/ struct ICUICommandBar * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ImportWorkspace (
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall get_Automation (
+        /*[out,retval]*/ struct ICUIAutomation * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowDocker (
+        /*[in]*/ BSTR Guid ) = 0;
+      virtual HRESULT __stdcall raw_HideDocker (
+        /*[in]*/ BSTR Guid ) = 0;
+      virtual HRESULT __stdcall raw_IsDockerVisible (
+        /*[in]*/ BSTR Guid,
+        /*[out,retval]*/ VARIANT_BOOL * IsVisible ) = 0;
+      virtual HRESULT __stdcall raw_AddDocker (
+        /*[in]*/ BSTR Guid,
+        /*[in]*/ BSTR ClassName,
+        /*[in]*/ BSTR AssemblyPath ) = 0;
+      virtual HRESULT __stdcall raw_RemoveDocker (
+        /*[in]*/ BSTR Guid ) = 0;
+      virtual HRESULT __stdcall get_FrameWindows (
+        /*[out,retval]*/ struct ICUIFrameWindows * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_MainFrameWindow (
+        /*[out,retval]*/ struct ICUIFrameWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct ICUIApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateFrameWindowForViewHost (
+        /*[in]*/ struct ICUIViewHost * ViewHostToInsert,
+        /*[out,retval]*/ struct ICUIFrameWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateFrameWindowForView (
+        /*[in]*/ struct ICUIViewWindow * ViewToInsert,
+        /*[out,retval]*/ struct ICUIFrameWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog (
+        /*[in]*/ BSTR Guid ) = 0;
+      virtual HRESULT __stdcall raw_HideDialog (
+        /*[in]*/ BSTR Guid ) = 0;
+      virtual HRESULT __stdcall raw_ShowMessageBox (
+        /*[in]*/ BSTR szMessage,
+        /*[in]*/ BSTR szMainInstruction,
+        /*[in]*/ long unFlags,
+        /*[in]*/ struct ICUIBitmapImage * pImage,
+        /*[in]*/ BSTR szHelpGuid,
+        /*[in]*/ BSTR szWarningName,
+        /*[in]*/ enum cuiMessageBoxFlags eFlags,
+        /*[in]*/ struct ICUIDataContext * pDataContext,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetWarning (
+        /*[in]*/ BSTR szWarningID,
+        /*[in]*/ VARIANT_BOOL bHidden,
+        /*[out,retval]*/ struct ICUIWarning * * __MIDL__ICUIFrameWork0000 ) = 0;
+      virtual HRESULT __stdcall get_TaskManager (
+        /*[out,retval]*/ struct ICUITaskManager * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee000f-42a0-5980-43a3-7aa71461482c"))
+ICUIFrameWindows : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    ICUIFrameWindowPtr Item[];
+    __declspec(property(get=GetFirst))
+    ICUIFrameWindowPtr First;
+    __declspec(property(get=GetLast))
+    ICUIFrameWindowPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    ICUIFrameWindowPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    ICUIFrameWindowPtr Find (
+        _bstr_t ID );
+    ICUIFrameWindowPtr GetFirst ( );
+    ICUIFrameWindowPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct ICUIFrameWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR ID,
+        /*[out,retval]*/ struct ICUIFrameWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct ICUIFrameWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct ICUIFrameWindow * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0010-42a0-5980-43a3-7aa71461482c"))
+ICUIFrameWindow : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetCaption))
+    _bstr_t Caption;
+    __declspec(property(get=GetState))
+    enum cuiWindowState State;
+    __declspec(property(get=GetIsMainFrame))
+    VARIANT_BOOL IsMainFrame;
+    __declspec(property(get=GetIsActive))
+    VARIANT_BOOL IsActive;
+    __declspec(property(get=GetHandle))
+    long Handle;
+    __declspec(property(get=GetViewHosts))
+    ICUIViewHostsPtr ViewHosts;
+    __declspec(property(get=GetDockHosts))
+    ICUIDockHostsPtr DockHosts;
+    __declspec(property(get=GetRootDockHost))
+    ICUIDockHostPtr RootDockHost;
+    __declspec(property(get=GetPosition))
+    ICUIScreenRectPtr Position;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetID ( );
+    _bstr_t GetCaption ( );
+    HRESULT Minimize ( );
+    HRESULT Maximize ( );
+    HRESULT Restore ( );
+    enum cuiWindowState GetState ( );
+    VARIANT_BOOL GetIsMainFrame ( );
+    HRESULT Close ( );
+    HRESULT Activate ( );
+    VARIANT_BOOL GetIsActive ( );
+    long GetHandle ( );
+    HRESULT TileViews (
+        VARIANT_BOOL TileHorizontally );
+    HRESULT CombineViews ( );
+    ICUIViewHostsPtr GetViewHosts ( );
+    ICUIDockHostsPtr GetDockHosts ( );
+    ICUIDockHostPtr GetRootDockHost ( );
+    ICUIScreenRectPtr GetPosition ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Caption (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Minimize ( ) = 0;
+      virtual HRESULT __stdcall raw_Maximize ( ) = 0;
+      virtual HRESULT __stdcall raw_Restore ( ) = 0;
+      virtual HRESULT __stdcall get_State (
+        /*[out,retval]*/ enum cuiWindowState * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsMainFrame (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Close ( ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall get_IsActive (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Handle (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_TileViews (
+        /*[in]*/ VARIANT_BOOL TileHorizontally ) = 0;
+      virtual HRESULT __stdcall raw_CombineViews ( ) = 0;
+      virtual HRESULT __stdcall get_ViewHosts (
+        /*[out,retval]*/ struct ICUIViewHosts * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DockHosts (
+        /*[out,retval]*/ struct ICUIDockHosts * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_RootDockHost (
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0011-42a0-5980-43a3-7aa71461482c"))
+ICUIViewHosts : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    ICUIViewHostPtr Item[];
+    __declspec(property(get=GetFirst))
+    ICUIViewHostPtr First;
+    __declspec(property(get=GetLast))
+    ICUIViewHostPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    ICUIViewHostPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    ICUIViewHostPtr Find (
+        _bstr_t ID );
+    ICUIViewHostPtr GetFirst ( );
+    ICUIViewHostPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct ICUIViewHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR ID,
+        /*[out,retval]*/ struct ICUIViewHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct ICUIViewHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct ICUIViewHost * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0012-42a0-5980-43a3-7aa71461482c"))
+ICUIViewHost : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetDockHost))
+    ICUIDockHostPtr DockHost;
+    __declspec(property(get=GetViews))
+    ICUIViewWindowsPtr Views;
+    __declspec(property(get=GetDockItem))
+    ICUIDockItemPtr DockItem;
+    __declspec(property(get=GetPosition))
+    ICUIScreenRectPtr Position;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetID ( );
+    ICUIDockHostPtr GetDockHost ( );
+    ICUIViewWindowsPtr GetViews ( );
+    ICUIDockItemPtr GetDockItem ( );
+    ICUIScreenRectPtr GetPosition ( );
+    HRESULT InsertView (
+        struct ICUIViewWindow * ViewToInsert,
+        long Index );
+    HRESULT InsertViewHost (
+        struct ICUIViewHost * ViewHostToInsert,
+        long Index );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_DockHost (
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Views (
+        /*[out,retval]*/ struct ICUIViewWindows * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DockItem (
+        /*[out,retval]*/ struct ICUIDockItem * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertView (
+        /*[in]*/ struct ICUIViewWindow * ViewToInsert,
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_InsertViewHost (
+        /*[in]*/ struct ICUIViewHost * ViewHostToInsert,
+        /*[in]*/ long Index ) = 0;
+};
+
+struct __declspec(uuid("9cee0016-42a0-5980-43a3-7aa71461482c"))
+ICUIViewWindow : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetViewHost))
+    ICUIViewHostPtr ViewHost;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetKind))
+    _bstr_t Kind;
+    __declspec(property(get=GetTitle))
+    _bstr_t Title;
+    __declspec(property(get=GetDescription))
+    _bstr_t Description;
+    __declspec(property(get=GetPosition))
+    ICUIScreenRectPtr Position;
+    __declspec(property(get=GetAppView))
+    IDispatchPtr AppView;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetID ( );
+    ICUIViewHostPtr GetViewHost ( );
+    long GetIndex ( );
+    _bstr_t GetKind ( );
+    _bstr_t GetTitle ( );
+    _bstr_t GetDescription ( );
+    ICUIScreenRectPtr GetPosition ( );
+    HRESULT Activate ( );
+    HRESULT Close ( );
+    IDispatchPtr GetAppView ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ViewHost (
+        /*[out,retval]*/ struct ICUIViewHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Kind (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Title (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Description (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall raw_Close ( ) = 0;
+      virtual HRESULT __stdcall get_AppView (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0015-42a0-5980-43a3-7aa71461482c"))
+ICUIViewWindows : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    ICUIViewWindowPtr Item[];
+    __declspec(property(get=GetFirst))
+    ICUIViewWindowPtr First;
+    __declspec(property(get=GetLast))
+    ICUIViewWindowPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    ICUIViewWindowPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    ICUIViewWindowPtr Find (
+        _bstr_t ID );
+    ICUIViewWindowPtr GetFirst ( );
+    ICUIViewWindowPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct ICUIViewWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR ID,
+        /*[out,retval]*/ struct ICUIViewWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct ICUIViewWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct ICUIViewWindow * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0014-42a0-5980-43a3-7aa71461482c"))
+ICUIDockHost : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetOrientation))
+    enum cuiDockHostOrientation Orientation;
+    __declspec(property(get=GetParentDockHost))
+    ICUIDockHostPtr ParentDockHost;
+    __declspec(property(get=GetDockItem))
+    ICUIDockItemPtr DockItem;
+    __declspec(property(get=GetChildren))
+    ICUIDockItemsPtr Children;
+    __declspec(property(get=GetPosition))
+    ICUIScreenRectPtr Position;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetID ( );
+    enum cuiDockHostOrientation GetOrientation ( );
+    ICUIDockHostPtr GetParentDockHost ( );
+    ICUIDockItemPtr GetDockItem ( );
+    ICUIDockItemsPtr GetChildren ( );
+    HRESULT InsertViewHost (
+        struct ICUIViewHost * ViewHostToInsert,
+        long Index,
+        enum cuiDockOperation Operation );
+    ICUIViewHostPtr InsertView (
+        struct ICUIViewWindow * ViewToInsert,
+        long Index,
+        enum cuiDockOperation Operation );
+    ICUIScreenRectPtr GetPosition ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Orientation (
+        /*[out,retval]*/ enum cuiDockHostOrientation * pVal ) = 0;
+      virtual HRESULT __stdcall get_ParentDockHost (
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DockItem (
+        /*[out,retval]*/ struct ICUIDockItem * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Children (
+        /*[out,retval]*/ struct ICUIDockItems * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertViewHost (
+        /*[in]*/ struct ICUIViewHost * ViewHostToInsert,
+        /*[in]*/ long Index,
+        /*[in]*/ enum cuiDockOperation Operation ) = 0;
+      virtual HRESULT __stdcall raw_InsertView (
+        /*[in]*/ struct ICUIViewWindow * ViewToInsert,
+        /*[in]*/ long Index,
+        /*[in]*/ enum cuiDockOperation Operation,
+        /*[out,retval]*/ struct ICUIViewHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0018-42a0-5980-43a3-7aa71461482c"))
+ICUIDockItem : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetType))
+    enum cuiDockItemType Type;
+    __declspec(property(get=GetViewHost))
+    ICUIViewHostPtr ViewHost;
+    __declspec(property(get=GetDockHost))
+    ICUIDockHostPtr DockHost;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetRelativeSize,put=PutRelativeSize))
+    long RelativeSize;
+    __declspec(property(get=GetPosition))
+    ICUIScreenRectPtr Position;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetID ( );
+    enum cuiDockItemType GetType ( );
+    ICUIViewHostPtr GetViewHost ( );
+    ICUIDockHostPtr GetDockHost ( );
+    long GetIndex ( );
+    long GetRelativeSize ( );
+    void PutRelativeSize (
+        long pVal );
+    ICUIScreenRectPtr GetPosition ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cuiDockItemType * pVal ) = 0;
+      virtual HRESULT __stdcall get_ViewHost (
+        /*[out,retval]*/ struct ICUIViewHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DockHost (
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_RelativeSize (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_RelativeSize (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0017-42a0-5980-43a3-7aa71461482c"))
+ICUIDockItems : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    ICUIDockItemPtr Item[];
+    __declspec(property(get=GetFirst))
+    ICUIDockItemPtr First;
+    __declspec(property(get=GetLast))
+    ICUIDockItemPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    ICUIDockItemPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    ICUIDockItemPtr Find (
+        _bstr_t ID );
+    ICUIDockItemPtr GetFirst ( );
+    ICUIDockItemPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct ICUIDockItem * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR ID,
+        /*[out,retval]*/ struct ICUIDockItem * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct ICUIDockItem * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct ICUIDockItem * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee0013-42a0-5980-43a3-7aa71461482c"))
+ICUIDockHosts : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    ICUIDockHostPtr Item[];
+    __declspec(property(get=GetFirst))
+    ICUIDockHostPtr First;
+    __declspec(property(get=GetLast))
+    ICUIDockHostPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    ICUIDockHostPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    ICUIDockHostPtr Find (
+        _bstr_t ID );
+    ICUIDockHostPtr GetFirst ( );
+    ICUIDockHostPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR ID,
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct ICUIDockHost * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee000a-42a0-5980-43a3-7aa71461482c"))
+ICUIApplication : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetDataContext))
+    ICUIDataContextPtr DataContext;
+    __declspec(property(get=GetFrameWork))
+    ICUIFrameWorkPtr FrameWork;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    ICUIDataContextPtr GetDataContext ( );
+    VARIANT_BOOL RegisterDataSource (
+        _bstr_t DataSourceName,
+        struct ICUIDataSourceFactory * Factory,
+        _bstr_t CategoryList,
+        VARIANT_BOOL AutoCreateInstance );
+    VARIANT_BOOL UnregisterDataSource (
+        _bstr_t DataSourceName );
+    ICUIImageListPtr CreateImageList ( );
+    ICUIFrameWorkPtr GetFrameWork ( );
+    ICUIScreenRectPtr CreateScreenRect (
+        long Left,
+        long Top,
+        long Width,
+        long Height );
+    ICUIBitmapImagePtr CreateBitmapImage (
+        const _variant_t & ImageData,
+        long MaxSize );
+    ICUIStatusTextPtr CreateStatusText ( );
+    _bstr_t LoadLocalizedString (
+        _bstr_t Guid );
+    ICUIDataSourceFactoryPtr CreateDataSourceFactory (
+        IDispatch * DataSourceFactoryObject );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_DataContext (
+        /*[out,retval]*/ struct ICUIDataContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_RegisterDataSource (
+        /*[in]*/ BSTR DataSourceName,
+        /*[in]*/ struct ICUIDataSourceFactory * Factory,
+        /*[in]*/ BSTR CategoryList,
+        /*[in]*/ VARIANT_BOOL AutoCreateInstance,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_UnregisterDataSource (
+        /*[in]*/ BSTR DataSourceName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateImageList (
+        /*[out,retval]*/ struct ICUIImageList * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FrameWork (
+        /*[out,retval]*/ struct ICUIFrameWork * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateScreenRect (
+        /*[in]*/ long Left,
+        /*[in]*/ long Top,
+        /*[in]*/ long Width,
+        /*[in]*/ long Height,
+        /*[out,retval]*/ struct ICUIScreenRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBitmapImage (
+        /*[in]*/ VARIANT ImageData,
+        /*[in]*/ long MaxSize,
+        /*[out,retval]*/ struct ICUIBitmapImage * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStatusText (
+        /*[out,retval]*/ struct ICUIStatusText * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_LoadLocalizedString (
+        /*[in]*/ BSTR Guid,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateDataSourceFactory (
+        /*[in]*/ IDispatch * DataSourceFactoryObject,
+        /*[out,retval]*/ struct ICUIDataSourceFactory * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee000c-42a0-5980-43a3-7aa71461482c"))
+ICUIDataSourceProxy : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    ICUIApplicationPtr Application;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT UpdateListeners (
+        _bstr_t ListenerNames );
+    ICUIApplicationPtr GetApplication ( );
+    _bstr_t GetName ( );
+    HRESULT InvokeMethod (
+        _bstr_t MethodName );
+    _variant_t GetProperty (
+        _bstr_t PropertyName );
+    HRESULT SetProperty (
+        _bstr_t PropertyName,
+        const _variant_t & Value );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_UpdateListeners (
+        /*[in]*/ BSTR ListenerNames ) = 0;
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct ICUIApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_InvokeMethod (
+        /*[in]*/ BSTR MethodName ) = 0;
+      virtual HRESULT __stdcall raw_GetProperty (
+        /*[in]*/ BSTR PropertyName,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetProperty (
+        /*[in]*/ BSTR PropertyName,
+        /*[in]*/ VARIANT Value ) = 0;
+};
+
+struct __declspec(uuid("9cee000b-42a0-5980-43a3-7aa71461482c"))
+ICUIDataContext : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCategories))
+    _bstr_t Categories;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    ICUIDataContextPtr CreateChildDataContext (
+        _bstr_t CategoryList );
+    _bstr_t GetCategories ( );
+    VARIANT_BOOL HasCategory (
+        _bstr_t Category );
+    ICUIDataSourceProxyPtr AddDataSource (
+        _bstr_t DataSourceName,
+        IDispatch * DataSourceObject );
+    VARIANT_BOOL ShowDialog (
+        _bstr_t dialogID );
+    ICUIDataSourceProxyPtr GetDataSource (
+        _bstr_t DataSourceName );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_CreateChildDataContext (
+        /*[in]*/ BSTR CategoryList,
+        /*[out,retval]*/ struct ICUIDataContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Categories (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_HasCategory (
+        /*[in]*/ BSTR Category,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddDataSource (
+        /*[in]*/ BSTR DataSourceName,
+        /*[in]*/ IDispatch * DataSourceObject,
+        /*[out,retval]*/ struct ICUIDataSourceProxy * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog (
+        /*[in]*/ BSTR dialogID,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetDataSource (
+        /*[in]*/ BSTR DataSourceName,
+        /*[out,retval]*/ struct ICUIDataSourceProxy * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("9cee000d-42a0-5980-43a3-7aa71461482c"))
+ICUIDataSourceFactory : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr CreateDataSource (
+        _bstr_t DataSourceName,
+        struct ICUIDataSourceProxy * Proxy );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_CreateDataSource (
+        /*[in]*/ BSTR DataSourceName,
+        /*[in]*/ struct ICUIDataSourceProxy * Proxy,
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580024-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDocument : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDocumentsPtr Parent;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=Get_CodeName,put=Put_CodeName))
+    _bstr_t _CodeName;
+    __declspec(property(get=GetHatchLibraries))
+    IVGHatchLibrariesPtr HatchLibraries;
+    __declspec(property(get=GetPages))
+    IVGPagesPtr Pages;
+    __declspec(property(get=GetReferencePoint,put=PutReferencePoint))
+    enum cdrReferencePoint ReferencePoint;
+    __declspec(property(get=GetSourcePlatformVersion,put=PutSourcePlatformVersion))
+    double SourcePlatformVersion;
+    __declspec(property(get=GetApplyToDuplicate,put=PutApplyToDuplicate))
+    VARIANT_BOOL ApplyToDuplicate;
+    __declspec(property(get=GetSourceFormat))
+    enum cdrFilter SourceFormat;
+    __declspec(property(get=GetActivePage))
+    IVGPagePtr ActivePage;
+    __declspec(property(get=GetActiveLayer))
+    IVGLayerPtr ActiveLayer;
+    __declspec(property(get=GetWindows))
+    IVGWindowsPtr Windows;
+    __declspec(property(get=GetActiveWindow))
+    IVGWindowPtr ActiveWindow;
+    __declspec(property(get=GetIsCurrentVersion))
+    VARIANT_BOOL IsCurrentVersion;
+    __declspec(property(get=GetSourceFileVersion,put=PutSourceFileVersion))
+    enum cdrFileVersion SourceFileVersion;
+    __declspec(property(get=GetMetadata))
+    IVGMetadataPtr Metadata;
+    __declspec(property(get=GetLayout,put=PutLayout))
+    enum cdrDocLayout Layout;
+    __declspec(property(get=GetFacingPages,put=PutFacingPages))
+    VARIANT_BOOL FacingPages;
+    __declspec(property(get=GetUnit,put=PutUnit))
+    enum cdrUnit Unit;
+    __declspec(property(get=GetFirstPageOnRightSide,put=PutFirstPageOnRightSide))
+    VARIANT_BOOL FirstPageOnRightSide;
+    __declspec(property(get=GetDrawingOriginX,put=PutDrawingOriginX))
+    double DrawingOriginX;
+    __declspec(property(get=GetSpreads))
+    IVGSpreadsPtr Spreads;
+    __declspec(property(get=GetDrawingOriginY,put=PutDrawingOriginY))
+    double DrawingOriginY;
+    __declspec(property(get=GetActiveSpread))
+    IVGSpreadPtr ActiveSpread;
+    __declspec(property(get=GetDirty,put=PutDirty))
+    VARIANT_BOOL Dirty;
+    __declspec(property(get=GetIsTemporary))
+    VARIANT_BOOL IsTemporary;
+    __declspec(property(get=GetColorContext))
+    IVGColorContextPtr ColorContext;
+    __declspec(property(get=GetFilePath))
+    _bstr_t FilePath;
+    __declspec(property(get=GetFileName))
+    _bstr_t FileName;
+    __declspec(property(get=GetFullFileName,put=PutFullFileName))
+    _bstr_t FullFileName;
+    __declspec(property(get=GetResolution,put=PutResolution))
+    long Resolution;
+    __declspec(property(get=GetPalette))
+    IVGPalettePtr Palette;
+    __declspec(property(get=GetShapeEnumDirection,put=PutShapeEnumDirection))
+    enum cdrShapeEnumDirection ShapeEnumDirection;
+    __declspec(property(get=GetTextFormatter,put=PutTextFormatter))
+    long TextFormatter;
+    __declspec(property(get=GetSelectionRange))
+    IVGShapeRangePtr SelectionRange;
+    __declspec(property(get=GetRulers))
+    IVGRulersPtr Rulers;
+    __declspec(property(get=GetGrid))
+    IVGGridPtr Grid;
+    __declspec(property(get=GetViews))
+    IVGViewsPtr Views;
+    __declspec(property(get=GetStyleSheet))
+    IVGStyleSheetPtr StyleSheet;
+    __declspec(property(get=GetActivePowerClip))
+    IVGPowerClipPtr ActivePowerClip;
+    __declspec(property(get=GetWorldScale,put=PutWorldScale))
+    double WorldScale;
+    __declspec(property(get=GetContentIdentifiers))
+    SAFEARRAY * ContentIdentifiers;
+    __declspec(property(get=GetActiveShape))
+    IVGShapePtr ActiveShape;
+    __declspec(property(get=GetCurvePrecision,put=PutCurvePrecision))
+    long CurvePrecision;
+    __declspec(property(get=GetMath))
+    IVGMathUtilsPtr Math;
+    __declspec(property(get=GetMarkup))
+    IVGDocumentMarkupPtr Markup;
+    __declspec(property(get=GetTitle))
+    _bstr_t Title;
+    __declspec(property(get=GetActive))
+    VARIANT_BOOL Active;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetEditAcrossLayers,put=PutEditAcrossLayers))
+    VARIANT_BOOL EditAcrossLayers;
+    __declspec(property(get=GetProperties))
+    IVGPropertiesPtr Properties;
+    __declspec(property(get=GetPrintSettings))
+    IPrnVBAPrintSettingsPtr PrintSettings;
+    __declspec(property(get=GetKeywords,put=PutKeywords))
+    _bstr_t Keywords;
+    __declspec(property(get=GetNotes,put=PutNotes))
+    _bstr_t Notes;
+    __declspec(property(get=GetPreserveSelection,put=PutPreserveSelection))
+    VARIANT_BOOL PreserveSelection;
+    __declspec(property(get=GetDataFields))
+    IVGDataFieldsPtr DataFields;
+    __declspec(property(get=GetPDFSettings))
+    IPDFVBASettingsPtr PDFSettings;
+    __declspec(property(get=GetSelectionInfo))
+    IVGSelectionInformationPtr SelectionInfo;
+    __declspec(property(get=GetPageSizes))
+    IVGPageSizesPtr PageSizes;
+    __declspec(property(get=GetComponents))
+    IVGComponentsPtr Components;
+    __declspec(property(get=GetSymbolLibrary))
+    IVGSymbolLibraryPtr SymbolLibrary;
+    __declspec(property(get=GetSelectableShapes))
+    IVGShapesPtr SelectableShapes;
+    __declspec(property(get=GetResolutionX,put=PutResolutionX))
+    long ResolutionX;
+    __declspec(property(get=GetResolutionY,put=PutResolutionY))
+    long ResolutionY;
+    __declspec(property(get=GetMasterPage))
+    IVGPagePtr MasterPage;
+    __declspec(property(get=GetCodeName))
+    _bstr_t CodeName;
+    __declspec(property(get=GetTreeRoot))
+    IVGTreeNodePtr TreeRoot;
+    __declspec(property(get=GetTreeManager))
+    IVGTreeManagerPtr TreeManager;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDocumentsPtr GetParent ( );
+    _bstr_t GetName ( );
+    HRESULT SaveAs (
+        _bstr_t FileName,
+        struct IVGStructSaveAsOptions * Options );
+    HRESULT Save ( );
+    IVGPagesPtr GetPages ( );
+    enum cdrReferencePoint GetReferencePoint ( );
+    void PutReferencePoint (
+        enum cdrReferencePoint pRefPoint );
+    VARIANT_BOOL GetApplyToDuplicate ( );
+    void PutApplyToDuplicate (
+        VARIANT_BOOL ApplyToDuplicate );
+    IVGPagePtr GetActivePage ( );
+    IVGLayerPtr GetActiveLayer ( );
+    IVGWindowsPtr GetWindows ( );
+    IVGWindowPtr GetActiveWindow ( );
+    HRESULT Close ( );
+    HRESULT Undo (
+        long Levels );
+    HRESULT Redo (
+        long Levels );
+    HRESULT Repeat ( );
+    HRESULT Activate ( );
+    enum cdrUnit GetUnit ( );
+    void PutUnit (
+        enum cdrUnit pnUnit );
+    double GetDrawingOriginX ( );
+    void PutDrawingOriginX (
+        double plX );
+    double GetDrawingOriginY ( );
+    void PutDrawingOriginY (
+        double plY );
+    IVGPagePtr AddPages (
+        long NumberOfPages );
+    IVGPagePtr InsertPages (
+        long NumberOfPages,
+        VARIANT_BOOL BeforePage,
+        long Page );
+    IVGShapePtr Selection ( );
+    HRESULT ClearSelection ( );
+    HRESULT Export (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        enum cdrExportRange Range,
+        struct IVGStructExportOptions * Options,
+        struct IVGStructPaletteOptions * PaletteOptions );
+    HRESULT ResolveAllBitmapsLinks ( );
+    VARIANT_BOOL GetDirty ( );
+    void PutDirty (
+        VARIANT_BOOL Dirty );
+    long GetUserClick (
+        double * x,
+        double * y,
+        long * ShiftState,
+        long TimeOut,
+        VARIANT_BOOL Snap,
+        enum cdrCursorShape CursorShape );
+    long GetUserArea (
+        double * x1,
+        double * y1,
+        double * x2,
+        double * y2,
+        long * ShiftState,
+        long TimeOut,
+        VARIANT_BOOL Snap,
+        enum cdrCursorShape CursorShape );
+    HRESULT BeginCommandGroup (
+        _bstr_t CommandName );
+    HRESULT EndCommandGroup ( );
+    _bstr_t GetFilePath ( );
+    _bstr_t GetFileName ( );
+    _bstr_t GetFullFileName ( );
+    long GetResolution ( );
+    void PutResolution (
+        long pResolution );
+    enum cdrShapeEnumDirection GetShapeEnumDirection ( );
+    void PutShapeEnumDirection (
+        enum cdrShapeEnumDirection peDirection );
+    IVGShapeRangePtr GetSelectionRange ( );
+    IVGRulersPtr GetRulers ( );
+    IVGGridPtr GetGrid ( );
+    IVGViewsPtr GetViews ( );
+    IVGViewPtr CreateView (
+        _bstr_t Name,
+        double OriginX,
+        double OriginY,
+        long Zoom,
+        struct IVGPage * Page );
+    IVGPowerClipPtr GetActivePowerClip ( );
+    long AdviseEvents (
+        IDispatch * EventSink );
+    HRESULT UnadviseEvents (
+        long Cookie );
+    double GetWorldScale ( );
+    void PutWorldScale (
+        double Scale );
+    HRESULT PrintOut ( );
+    IVGShapePtr GetActiveShape ( );
+    long GetCurvePrecision ( );
+    IVGPagePtr AddPagesEx (
+        long NumberOfPages,
+        double Width,
+        double Height );
+    IVGPagePtr InsertPagesEx (
+        long NumberOfPages,
+        VARIANT_BOOL BeforePage,
+        long Page,
+        double Width,
+        double Height );
+    _bstr_t GetTitle ( );
+    HRESULT SaveSettings (
+        _bstr_t Tag );
+    HRESULT RestoreSettings (
+        _bstr_t Tag );
+    VARIANT_BOOL GetActive ( );
+    long GetIndex ( );
+    ICorelExportFilterPtr ExportEx (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        enum cdrExportRange Range,
+        struct IVGStructExportOptions * Options,
+        struct IVGStructPaletteOptions * PaletteOptions );
+    ICorelExportFilterPtr ExportBitmap (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        enum cdrExportRange Range,
+        enum cdrImageType ImageType,
+        long Width,
+        long Height,
+        long ResolutionX,
+        long ResolutionY,
+        enum cdrAntiAliasingType AntiAliasingType,
+        VARIANT_BOOL Dithered,
+        VARIANT_BOOL Transparent,
+        VARIANT_BOOL UseColorProfile,
+        VARIANT_BOOL MaintainLayers,
+        enum cdrCompressionType Compression,
+        struct IVGStructPaletteOptions * PaletteOptions,
+        struct IVGRect * ExportArea );
+    VARIANT_BOOL GetEditAcrossLayers ( );
+    void PutEditAcrossLayers (
+        VARIANT_BOOL pVal );
+    IVGPropertiesPtr GetProperties ( );
+    void PutCurvePrecision (
+        long lpPrec );
+    IPrnVBAPrintSettingsPtr GetPrintSettings ( );
+    _bstr_t GetKeywords ( );
+    void PutKeywords (
+        _bstr_t pVal );
+    _bstr_t GetNotes ( );
+    void PutNotes (
+        _bstr_t pVal );
+    VARIANT_BOOL GetPreserveSelection ( );
+    void PutPreserveSelection (
+        VARIANT_BOOL pVal );
+    HRESULT ResetSettings ( );
+    IVGDataFieldsPtr GetDataFields ( );
+    IPDFVBASettingsPtr GetPDFSettings ( );
+    HRESULT PublishToPDF (
+        _bstr_t FileName );
+    IVGSelectionInformationPtr GetSelectionInfo ( );
+    IVGPageSizesPtr GetPageSizes ( );
+    IVGComponentsPtr GetComponents ( );
+    IVGSymbolLibraryPtr GetSymbolLibrary ( );
+    IVGCurvePtr CreateCurve ( );
+    IVGCurvePtr CreateCurveFromArray (
+        SAFEARRAY * * Source,
+        long NumElements );
+    HRESULT LoadStyleSheet (
+        _bstr_t FileName );
+    HRESULT SaveStyleSheet (
+        _bstr_t FileName );
+    HRESULT SaveStyleSheetAsDefault ( );
+    HRESULT CreateSelection (
+        SAFEARRAY * * ShapeArray );
+    HRESULT AddToSelection (
+        SAFEARRAY * * ShapeArray );
+    HRESULT RemoveFromSelection (
+        SAFEARRAY * * ShapeArray );
+    IVGShapesPtr GetSelectableShapes ( );
+    double ToUnits (
+        double Value,
+        enum cdrUnit FromUnit );
+    double FromUnits (
+        double Value,
+        enum cdrUnit ToUnit );
+    long GetResolutionX ( );
+    void PutResolutionX (
+        long pResolution );
+    long GetResolutionY ( );
+    void PutResolutionY (
+        long pResolution );
+    IVGPagePtr GetMasterPage ( );
+    VARIANT_BOOL Revert ( );
+    _bstr_t GetCodeName ( );
+    _bstr_t Get_CodeName ( );
+    void Put_CodeName (
+        _bstr_t pVal );
+    void PutName (
+        _bstr_t pbstrName );
+    void PutFullFileName (
+        _bstr_t pFullFileName );
+    IVGTreeNodePtr GetTreeRoot ( );
+    IVGTreeManagerPtr GetTreeManager ( );
+    IVGShapePtr LogCreateShape (
+        struct IVGShape * VirtualShape );
+    IVGShapeRangePtr LogCreateShapeRange (
+        struct IVGShapeRange * VirtualShapeRange );
+    IVGFillPtr CreateFill (
+        _bstr_t FillString );
+    IVGOutlinePtr CreateOutline (
+        _bstr_t OutlineString );
+    IVGHatchLibrariesPtr GetHatchLibraries ( );
+    IVGShapeRangePtr CreateShapeRangeFromArray (
+        SAFEARRAY * * ShapeArray );
+    HRESULT ClearUndoList ( );
+    double GetSourcePlatformVersion ( );
+    void PutSourcePlatformVersion (
+        double pVal );
+    enum cdrFilter GetSourceFormat ( );
+    VARIANT_BOOL GetIsCurrentVersion ( );
+    enum cdrFileVersion GetSourceFileVersion ( );
+    void PutSourceFileVersion (
+        enum cdrFileVersion pVal );
+    IVGFillPtr CreateUniformFill (
+        struct IVGColor * Color );
+    IVGMetadataPtr GetMetadata ( );
+    enum cdrDocLayout GetLayout ( );
+    void PutLayout (
+        enum cdrDocLayout pVal );
+    VARIANT_BOOL GetFacingPages ( );
+    void PutFacingPages (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetFirstPageOnRightSide ( );
+    void PutFirstPageOnRightSide (
+        VARIANT_BOOL pVal );
+    HRESULT SetLayout (
+        enum cdrDocLayout Layout,
+        VARIANT_BOOL FacingPages,
+        VARIANT_BOOL StartOnRightSide );
+    IVGSpreadsPtr GetSpreads ( );
+    IVGSpreadPtr GetActiveSpread ( );
+    IVGArrowHeadPtr CreateArrowHead (
+        struct IVGCurve * Curve );
+    IVGArrowHeadPtr CreateArrowHeadEx (
+        struct IVGCurve * Curve,
+        double CenterX,
+        double CenterY,
+        double OutlineWidthScale,
+        double LineOffset );
+    VARIANT_BOOL DeletePages (
+        long StartPage,
+        long NumPages );
+    IVGArrowHeadPtr CreateArrowHead2 (
+        struct IVGCurve * Curve,
+        _bstr_t Name );
+    IVGArrowHeadPtr CreateArrowHeadEx2 (
+        struct IVGCurve * Curve,
+        _bstr_t Name,
+        double CenterX,
+        double CenterY,
+        double OutlineWidthScale,
+        double LineOffset );
+    IVGArrowHeadOptionsPtr CreateArrowHeadOptions (
+        double Length,
+        double Width,
+        double OffsetX,
+        double OffsetY,
+        double RotationAngle,
+        VARIANT_BOOL FlipHorizontal,
+        VARIANT_BOOL FlipVertical );
+    HRESULT SaveAsCopy (
+        _bstr_t FileName,
+        struct IVGStructSaveAsOptions * Options );
+    IVGSnapPointPtr CreateFreeSnapPoint (
+        double PositionX,
+        double PositionY );
+    IVGBSplinePtr CreateBSpline (
+        long NumControlPoints,
+        VARIANT_BOOL Closed );
+    IVGDocumentPtr Duplicate ( );
+    IVGDocumentPtr Clone ( );
+    VARIANT_BOOL GetIsTemporary ( );
+    IVGColorContextPtr GetColorContext ( );
+    HRESULT AssignColorContext (
+        struct IVGColorContext * ColorContext );
+    HRESULT ConvertToColorContext (
+        struct IVGColorContext * ColorContext );
+    HRESULT PrintColorProof (
+        struct IVGProofColorSettings * ProofSettings );
+    IVGPalettePtr GetPalette ( );
+    long GetTextFormatter ( );
+    void PutTextFormatter (
+        long pVal );
+    IVGStyleSheetPtr GetStyleSheet ( );
+    HRESULT InteractiveImport (
+        SAFEARRAY * * FileNames );
+    VARIANT_BOOL AddColorsToDocPalette (
+        VARIANT_BOOL SelectedOnly,
+        long MaxColorsPerBitmap );
+    long CreateColorStyles (
+        VARIANT_BOOL UseFills,
+        VARIANT_BOOL UseOutlines,
+        VARIANT_BOOL SelectedOnly,
+        long NumberOfColorHarmonies,
+        enum cdrColorType ConvertColorsTo );
+    IVGCurvePtr CreateCurveFitToPoints (
+        struct IVGPointRange * Points,
+        VARIANT_BOOL UseCurrentViewForTolerance,
+        double tolerance );
+    IVGCurvePtr CreateCurveFitToPointsAndCusps (
+        struct IVGPointRange * Points,
+        SAFEARRAY * * CuspIndexArray,
+        VARIANT_BOOL UseCurrentViewForTolerance,
+        double tolerance );
+    IVGColorPtr SampleColorAtPoint (
+        double x,
+        double y,
+        enum cdrColorType ColorType );
+    IVGColorPtr SampleColorInArea (
+        double x1,
+        double y1,
+        double x2,
+        double y2,
+        long XSamples,
+        long YSamples,
+        enum cdrColorType ColorType );
+    HRESULT ShowAllHiddenObjects ( );
+    HRESULT InteractiveImportWithContentIdentifier (
+        SAFEARRAY * * FileNames,
+        SAFEARRAY * * ContentIdentifiers );
+    HRESULT ReplaceContentByIdentifier (
+        SAFEARRAY * * ContentIdentifiers,
+        SAFEARRAY * * FileNames );
+    SAFEARRAY * GetContentIdentifiers ( );
+    _variant_t CustomCommand (
+        _bstr_t ComponentID,
+        _bstr_t CommandID,
+        SAFEARRAY * * Parameters );
+    IVGMathUtilsPtr GetMath ( );
+    IVGImagePtr CreateImage (
+        enum cdrImageType ImageType,
+        long Width,
+        long Height,
+        struct IVGColor * FillColor );
+    IVGDocumentMarkupPtr GetMarkup ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppApplication ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDocuments * * ppParent ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pbstrName ) = 0;
+      virtual HRESULT __stdcall raw_SaveAs (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ struct IVGStructSaveAsOptions * Options ) = 0;
+      virtual HRESULT __stdcall raw_Save ( ) = 0;
+      virtual HRESULT __stdcall get_Pages (
+        /*[out,retval]*/ struct IVGPages * * ppPages ) = 0;
+      virtual HRESULT __stdcall get_ReferencePoint (
+        /*[out,retval]*/ enum cdrReferencePoint * pRefPoint ) = 0;
+      virtual HRESULT __stdcall put_ReferencePoint (
+        /*[in]*/ enum cdrReferencePoint pRefPoint ) = 0;
+      virtual HRESULT __stdcall get_ApplyToDuplicate (
+        /*[out,retval]*/ VARIANT_BOOL * ApplyToDuplicate ) = 0;
+      virtual HRESULT __stdcall put_ApplyToDuplicate (
+        /*[in]*/ VARIANT_BOOL ApplyToDuplicate ) = 0;
+      virtual HRESULT __stdcall get_ActivePage (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Windows (
+        /*[out,retval]*/ struct IVGWindows * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveWindow (
+        /*[out,retval]*/ struct IVGWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Close ( ) = 0;
+      virtual HRESULT __stdcall raw_Undo (
+        /*[in]*/ long Levels ) = 0;
+      virtual HRESULT __stdcall raw_Redo (
+        /*[in]*/ long Levels ) = 0;
+      virtual HRESULT __stdcall raw_Repeat ( ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall get_Unit (
+        /*[out,retval]*/ enum cdrUnit * pnUnit ) = 0;
+      virtual HRESULT __stdcall put_Unit (
+        /*[in]*/ enum cdrUnit pnUnit ) = 0;
+      virtual HRESULT __stdcall get_DrawingOriginX (
+        /*[out,retval]*/ double * plX ) = 0;
+      virtual HRESULT __stdcall put_DrawingOriginX (
+        /*[in]*/ double plX ) = 0;
+      virtual HRESULT __stdcall get_DrawingOriginY (
+        /*[out,retval]*/ double * plY ) = 0;
+      virtual HRESULT __stdcall put_DrawingOriginY (
+        /*[in]*/ double plY ) = 0;
+      virtual HRESULT __stdcall raw_AddPages (
+        /*[in]*/ long NumberOfPages,
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertPages (
+        /*[in]*/ long NumberOfPages,
+        /*[in]*/ VARIANT_BOOL BeforePage,
+        /*[in]*/ long Page,
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Selection (
+        /*[out,retval]*/ struct IVGShape * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ClearSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_Export (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ enum cdrExportRange Range,
+        /*[in]*/ struct IVGStructExportOptions * Options,
+        /*[in]*/ struct IVGStructPaletteOptions * PaletteOptions ) = 0;
+      virtual HRESULT __stdcall raw_ResolveAllBitmapsLinks ( ) = 0;
+      virtual HRESULT __stdcall get_Dirty (
+        /*[out,retval]*/ VARIANT_BOOL * Dirty ) = 0;
+      virtual HRESULT __stdcall put_Dirty (
+        /*[in]*/ VARIANT_BOOL Dirty ) = 0;
+      virtual HRESULT __stdcall raw_GetUserClick (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ long * ShiftState,
+        /*[in]*/ long TimeOut,
+        /*[in]*/ VARIANT_BOOL Snap,
+        /*[in]*/ enum cdrCursorShape CursorShape,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetUserArea (
+        /*[out]*/ double * x1,
+        /*[out]*/ double * y1,
+        /*[out]*/ double * x2,
+        /*[out]*/ double * y2,
+        /*[out]*/ long * ShiftState,
+        /*[in]*/ long TimeOut,
+        /*[in]*/ VARIANT_BOOL Snap,
+        /*[in]*/ enum cdrCursorShape CursorShape,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_BeginCommandGroup (
+        /*[in]*/ BSTR CommandName ) = 0;
+      virtual HRESULT __stdcall raw_EndCommandGroup ( ) = 0;
+      virtual HRESULT __stdcall get_FilePath (
+        /*[out,retval]*/ BSTR * pFilePath ) = 0;
+      virtual HRESULT __stdcall get_FileName (
+        /*[out,retval]*/ BSTR * pFileName ) = 0;
+      virtual HRESULT __stdcall get_FullFileName (
+        /*[out,retval]*/ BSTR * pFullFileName ) = 0;
+      virtual HRESULT __stdcall get_Resolution (
+        /*[out,retval]*/ long * pResolution ) = 0;
+      virtual HRESULT __stdcall put_Resolution (
+        /*[in]*/ long pResolution ) = 0;
+      virtual HRESULT __stdcall get_ShapeEnumDirection (
+        /*[out,retval]*/ enum cdrShapeEnumDirection * peDirection ) = 0;
+      virtual HRESULT __stdcall put_ShapeEnumDirection (
+        /*[in]*/ enum cdrShapeEnumDirection peDirection ) = 0;
+      virtual HRESULT __stdcall get_SelectionRange (
+        /*[out,retval]*/ struct IVGShapeRange * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Rulers (
+        /*[out,retval]*/ struct IVGRulers * * ppRules ) = 0;
+      virtual HRESULT __stdcall get_Grid (
+        /*[out,retval]*/ struct IVGGrid * * ppGrid ) = 0;
+      virtual HRESULT __stdcall get_Views (
+        /*[out,retval]*/ struct IVGViews * * ppViews ) = 0;
+      virtual HRESULT __stdcall raw_CreateView (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[in]*/ long Zoom,
+        /*[in]*/ struct IVGPage * Page,
+        /*[out,retval]*/ struct IVGView * * ppView ) = 0;
+      virtual HRESULT __stdcall get_ActivePowerClip (
+        /*[out,retval]*/ struct IVGPowerClip * * ppPowerClip ) = 0;
+      virtual HRESULT __stdcall raw_AdviseEvents (
+        /*[in]*/ IDispatch * EventSink,
+        /*[out,retval]*/ long * pCookie ) = 0;
+      virtual HRESULT __stdcall raw_UnadviseEvents (
+        /*[in]*/ long Cookie ) = 0;
+      virtual HRESULT __stdcall get_WorldScale (
+        /*[out,retval]*/ double * Scale ) = 0;
+      virtual HRESULT __stdcall put_WorldScale (
+        /*[in]*/ double Scale ) = 0;
+      virtual HRESULT __stdcall raw_PrintOut ( ) = 0;
+      virtual HRESULT __stdcall get_ActiveShape (
+        /*[out,retval]*/ struct IVGShape * * pVal ) = 0;
+      virtual HRESULT __stdcall get_CurvePrecision (
+        /*[out,retval]*/ long * lpPrec ) = 0;
+      virtual HRESULT __stdcall raw_AddPagesEx (
+        /*[in]*/ long NumberOfPages,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertPagesEx (
+        /*[in]*/ long NumberOfPages,
+        /*[in]*/ VARIANT_BOOL BeforePage,
+        /*[in]*/ long Page,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Title (
+        /*[out,retval]*/ BSTR * pbstrTitle ) = 0;
+      virtual HRESULT __stdcall raw_SaveSettings (
+        /*[in]*/ BSTR Tag ) = 0;
+      virtual HRESULT __stdcall raw_RestoreSettings (
+        /*[in]*/ BSTR Tag ) = 0;
+      virtual HRESULT __stdcall get_Active (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ExportEx (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ enum cdrExportRange Range,
+        /*[in]*/ struct IVGStructExportOptions * Options,
+        /*[in]*/ struct IVGStructPaletteOptions * PaletteOptions,
+        /*[out,retval]*/ struct ICorelExportFilter * * pRet ) = 0;
+      virtual HRESULT __stdcall raw_ExportBitmap (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ enum cdrExportRange Range,
+        /*[in]*/ enum cdrImageType ImageType,
+        /*[in]*/ long Width,
+        /*[in]*/ long Height,
+        /*[in]*/ long ResolutionX,
+        /*[in]*/ long ResolutionY,
+        /*[in]*/ enum cdrAntiAliasingType AntiAliasingType,
+        /*[in]*/ VARIANT_BOOL Dithered,
+        /*[in]*/ VARIANT_BOOL Transparent,
+        /*[in]*/ VARIANT_BOOL UseColorProfile,
+        /*[in]*/ VARIANT_BOOL MaintainLayers,
+        /*[in]*/ enum cdrCompressionType Compression,
+        /*[in]*/ struct IVGStructPaletteOptions * PaletteOptions,
+        /*[in]*/ struct IVGRect * ExportArea,
+        /*[out,retval]*/ struct ICorelExportFilter * * pRet ) = 0;
+      virtual HRESULT __stdcall get_EditAcrossLayers (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_EditAcrossLayers (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Properties (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_CurvePrecision (
+        /*[in]*/ long lpPrec ) = 0;
+      virtual HRESULT __stdcall get_PrintSettings (
+        /*[out,retval]*/ struct IPrnVBAPrintSettings * * ppReturn ) = 0;
+      virtual HRESULT __stdcall get_Keywords (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Keywords (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Notes (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Notes (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_PreserveSelection (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PreserveSelection (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_ResetSettings ( ) = 0;
+      virtual HRESULT __stdcall get_DataFields (
+        /*[out,retval]*/ struct IVGDataFields * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PDFSettings (
+        /*[out,retval]*/ struct IPDFVBASettings * * ppReturn ) = 0;
+      virtual HRESULT __stdcall raw_PublishToPDF (
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall get_SelectionInfo (
+        /*[out,retval]*/ struct IVGSelectionInformation * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PageSizes (
+        /*[out,retval]*/ struct IVGPageSizes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Components (
+        /*[out,retval]*/ struct IVGComponents * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SymbolLibrary (
+        /*[out,retval]*/ struct IVGSymbolLibrary * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurve (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurveFromArray (
+        /*[in]*/ SAFEARRAY * * Source,
+        /*[in]*/ long NumElements,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_LoadStyleSheet (
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_SaveStyleSheet (
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_SaveStyleSheetAsDefault ( ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection (
+        /*[in]*/ SAFEARRAY * * ShapeArray ) = 0;
+      virtual HRESULT __stdcall raw_AddToSelection (
+        /*[in]*/ SAFEARRAY * * ShapeArray ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromSelection (
+        /*[in]*/ SAFEARRAY * * ShapeArray ) = 0;
+      virtual HRESULT __stdcall get_SelectableShapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ToUnits (
+        /*[in]*/ double Value,
+        /*[in]*/ enum cdrUnit FromUnit,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FromUnits (
+        /*[in]*/ double Value,
+        /*[in]*/ enum cdrUnit ToUnit,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_ResolutionX (
+        /*[out,retval]*/ long * pResolution ) = 0;
+      virtual HRESULT __stdcall put_ResolutionX (
+        /*[in]*/ long pResolution ) = 0;
+      virtual HRESULT __stdcall get_ResolutionY (
+        /*[out,retval]*/ long * pResolution ) = 0;
+      virtual HRESULT __stdcall put_ResolutionY (
+        /*[in]*/ long pResolution ) = 0;
+      virtual HRESULT __stdcall get_MasterPage (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Revert (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CodeName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get__CodeName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put__CodeName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pbstrName ) = 0;
+      virtual HRESULT __stdcall put_FullFileName (
+        /*[in]*/ BSTR pFullFileName ) = 0;
+      virtual HRESULT __stdcall get_TreeRoot (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TreeManager (
+        /*[out,retval]*/ struct IVGTreeManager * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_LogCreateShape (
+        /*[in]*/ struct IVGShape * VirtualShape,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_LogCreateShapeRange (
+        /*[in]*/ struct IVGShapeRange * VirtualShapeRange,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateFill (
+        /*[in]*/ BSTR FillString,
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateOutline (
+        /*[in]*/ BSTR OutlineString,
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_HatchLibraries (
+        /*[out,retval]*/ struct IVGHatchLibraries * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateShapeRangeFromArray (
+        /*[in]*/ SAFEARRAY * * ShapeArray,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ClearUndoList ( ) = 0;
+      virtual HRESULT __stdcall get_SourcePlatformVersion (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SourcePlatformVersion (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SourceFormat (
+        /*[out,retval]*/ enum cdrFilter * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsCurrentVersion (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_SourceFileVersion (
+        /*[out,retval]*/ enum cdrFileVersion * pVal ) = 0;
+      virtual HRESULT __stdcall put_SourceFileVersion (
+        /*[in]*/ enum cdrFileVersion pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateUniformFill (
+        /*[in]*/ struct IVGColor * Color,
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Metadata (
+        /*[out,retval]*/ struct IVGMetadata * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Layout (
+        /*[out,retval]*/ enum cdrDocLayout * pVal ) = 0;
+      virtual HRESULT __stdcall put_Layout (
+        /*[in]*/ enum cdrDocLayout pVal ) = 0;
+      virtual HRESULT __stdcall get_FacingPages (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FacingPages (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FirstPageOnRightSide (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FirstPageOnRightSide (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetLayout (
+        /*[in]*/ enum cdrDocLayout Layout,
+        /*[in]*/ VARIANT_BOOL FacingPages,
+        /*[in]*/ VARIANT_BOOL StartOnRightSide ) = 0;
+      virtual HRESULT __stdcall get_Spreads (
+        /*[out,retval]*/ struct IVGSpreads * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveSpread (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateArrowHead (
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateArrowHeadEx (
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double OutlineWidthScale,
+        /*[in]*/ double LineOffset,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_DeletePages (
+        /*[in]*/ long StartPage,
+        /*[in]*/ long NumPages,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateArrowHead2 (
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateArrowHeadEx2 (
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double OutlineWidthScale,
+        /*[in]*/ double LineOffset,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateArrowHeadOptions (
+        /*[in]*/ double Length,
+        /*[in]*/ double Width,
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[in]*/ double RotationAngle,
+        /*[in]*/ VARIANT_BOOL FlipHorizontal,
+        /*[in]*/ VARIANT_BOOL FlipVertical,
+        /*[out,retval]*/ struct IVGArrowHeadOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SaveAsCopy (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ struct IVGStructSaveAsOptions * Options ) = 0;
+      virtual HRESULT __stdcall raw_CreateFreeSnapPoint (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBSpline (
+        /*[in]*/ long NumControlPoints,
+        /*[in]*/ VARIANT_BOOL Closed,
+        /*[out,retval]*/ struct IVGBSpline * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Duplicate (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Clone (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsTemporary (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorContext (
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AssignColorContext (
+        /*[in]*/ struct IVGColorContext * ColorContext ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToColorContext (
+        /*[in]*/ struct IVGColorContext * ColorContext ) = 0;
+      virtual HRESULT __stdcall raw_PrintColorProof (
+        /*[in]*/ struct IVGProofColorSettings * ProofSettings ) = 0;
+      virtual HRESULT __stdcall get_Palette (
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TextFormatter (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextFormatter (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_StyleSheet (
+        /*[out,retval]*/ struct IVGStyleSheet * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InteractiveImport (
+        /*[in]*/ SAFEARRAY * * FileNames ) = 0;
+      virtual HRESULT __stdcall raw_AddColorsToDocPalette (
+        /*[in]*/ VARIANT_BOOL SelectedOnly,
+        /*[in]*/ long MaxColorsPerBitmap,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateColorStyles (
+        /*[in]*/ VARIANT_BOOL UseFills,
+        /*[in]*/ VARIANT_BOOL UseOutlines,
+        /*[in]*/ VARIANT_BOOL SelectedOnly,
+        /*[in]*/ long NumberOfColorHarmonies,
+        /*[in]*/ enum cdrColorType ConvertColorsTo,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurveFitToPoints (
+        /*[in]*/ struct IVGPointRange * Points,
+        /*[in]*/ VARIANT_BOOL UseCurrentViewForTolerance,
+        /*[in]*/ double tolerance,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurveFitToPointsAndCusps (
+        /*[in]*/ struct IVGPointRange * Points,
+        /*[in]*/ SAFEARRAY * * CuspIndexArray,
+        /*[in]*/ VARIANT_BOOL UseCurrentViewForTolerance,
+        /*[in]*/ double tolerance,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SampleColorAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ enum cdrColorType ColorType,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SampleColorInArea (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[in]*/ long XSamples,
+        /*[in]*/ long YSamples,
+        /*[in]*/ enum cdrColorType ColorType,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowAllHiddenObjects ( ) = 0;
+      virtual HRESULT __stdcall raw_InteractiveImportWithContentIdentifier (
+        /*[in]*/ SAFEARRAY * * FileNames,
+        /*[in]*/ SAFEARRAY * * ContentIdentifiers ) = 0;
+      virtual HRESULT __stdcall raw_ReplaceContentByIdentifier (
+        /*[in]*/ SAFEARRAY * * ContentIdentifiers,
+        /*[in]*/ SAFEARRAY * * FileNames ) = 0;
+      virtual HRESULT __stdcall get_ContentIdentifiers (
+        /*[out,retval]*/ SAFEARRAY * * ContentIdentifiers ) = 0;
+      virtual HRESULT __stdcall raw_CustomCommand (
+        /*[in]*/ BSTR ComponentID,
+        /*[in]*/ BSTR CommandID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall get_Math (
+        /*[out,retval]*/ struct IVGMathUtils * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateImage (
+        /*[in]*/ enum cdrImageType ImageType,
+        /*[in]*/ long Width,
+        /*[in]*/ long Height,
+        /*[in]*/ struct IVGColor * FillColor,
+        /*[out,retval]*/ struct IVGImage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Markup (
+        /*[out,retval]*/ struct IVGDocumentMarkup * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a3-9aa4-44fd-9547-4f91eb757ac4"))
+IVGRect : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=Getx,put=Putx))
+    double x;
+    __declspec(property(get=Gety,put=Puty))
+    double y;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    double Width;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    double Height;
+    __declspec(property(get=GetIsEmpty))
+    VARIANT_BOOL IsEmpty;
+    __declspec(property(get=GetLeft))
+    double Left;
+    __declspec(property(get=GetRight))
+    double Right;
+    __declspec(property(get=GetTop))
+    double Top;
+    __declspec(property(get=GetBottom))
+    double Bottom;
+    __declspec(property(get=GetCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY))
+    double CenterY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double Getx ( );
+    void Putx (
+        double pVal );
+    double Gety ( );
+    void Puty (
+        double pVal );
+    double GetWidth ( );
+    void PutWidth (
+        double pVal );
+    double GetHeight ( );
+    void PutHeight (
+        double pVal );
+    HRESULT SetRect (
+        double x,
+        double y,
+        double Width,
+        double Height );
+    HRESULT GetRect (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    HRESULT CopyAssign (
+        struct IVGRect * Source );
+    IVGRectPtr GetCopy ( );
+    IVGRectPtr Intersect (
+        struct IVGRect * Rect );
+    VARIANT_BOOL GetIsEmpty ( );
+    IVGRectPtr Union (
+        struct IVGRect * Rect );
+    HRESULT Offset (
+        double OffsetX,
+        double OffsetY );
+    VARIANT_BOOL Inflate (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom );
+    VARIANT_BOOL IsPointInside (
+        double x,
+        double y );
+    HRESULT Clear ( );
+    IVGRectPtr ChangeContext (
+        struct IVGDocument * SrcDoc,
+        struct IVGDocument * DestDoc );
+    double GetLeft ( );
+    double GetRight ( );
+    double GetTop ( );
+    double GetBottom ( );
+    double GetCenterX ( );
+    double GetCenterY ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_x (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_x (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_y (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_y (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetRect (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall raw_GetRect (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGRect * Source ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Intersect (
+        /*[in]*/ struct IVGRect * Rect,
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsEmpty (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Union (
+        /*[in]*/ struct IVGRect * Rect,
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Offset (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY ) = 0;
+      virtual HRESULT __stdcall raw_Inflate (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsPointInside (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall raw_ChangeContext (
+        /*[in]*/ struct IVGDocument * SrcDoc,
+        /*[in]*/ struct IVGDocument * DestDoc,
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Left (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Right (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Bottom (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058000b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGApplication : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGApplicationPtr Parent;
+    __declspec(property(get=GetVisible,put=PutVisible))
+    VARIANT_BOOL Visible;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetDocuments))
+    IVGDocumentsPtr Documents;
+    __declspec(property(get=GetActiveDocument))
+    IVGDocumentPtr ActiveDocument;
+    __declspec(property(get=GetActivePage))
+    IVGPagePtr ActivePage;
+    __declspec(property(get=GetActiveWindow))
+    IVGWindowPtr ActiveWindow;
+    __declspec(property(get=GetWindows))
+    IVGWindowsPtr Windows;
+    __declspec(property(get=GetActiveVirtualLayer))
+    IVGLayerPtr ActiveVirtualLayer;
+    __declspec(property(get=GetActiveWorkspace))
+    IVGWorkspacePtr ActiveWorkspace;
+    __declspec(property(get=GetWorkspaces))
+    IVGWorkspacesPtr Workspaces;
+    __declspec(property(get=GetActivePalette))
+    IVGPalettePtr ActivePalette;
+    __declspec(property(get=GetPalettes))
+    IVGPalettesPtr Palettes;
+    __declspec(property(get=GetColorManager))
+    IVGColorManagerPtr ColorManager;
+    __declspec(property(get=GetEnhancedOutlines))
+    IVGOutlineStylesPtr EnhancedOutlines;
+    __declspec(property(get=GetFontList))
+    IVGFontListPtr FontList;
+    __declspec(property(get=GetAppWindow))
+    IVGAppWindowPtr AppWindow;
+    __declspec(property(get=GetRecentFiles))
+    IVGRecentFilesPtr RecentFiles;
+    __declspec(property(get=GetVBE))
+    IDispatchPtr VBE;
+    __declspec(property(get=GetStartupMode,put=PutStartupMode))
+    enum cdrAppStartupMode StartupMode;
+    __declspec(property(get=GetGlobalUserData))
+    IVGPropertiesPtr GlobalUserData;
+    __declspec(property(get=GetSessionUserData))
+    IVGPropertiesPtr SessionUserData;
+    __declspec(property(get=GetEventsEnabled,put=PutEventsEnabled))
+    VARIANT_BOOL EventsEnabled;
+    __declspec(property(get=GetActiveSpread))
+    IVGSpreadPtr ActiveSpread;
+    __declspec(property(get=GetDefaultColorContext))
+    IVGColorContextPtr DefaultColorContext;
+    __declspec(property(get=GetPaletteManager))
+    IVGPaletteManagerPtr PaletteManager;
+    __declspec(property(get=GetArrowHeads))
+    IVGArrowHeadsPtr ArrowHeads;
+    __declspec(property(get=GetOutlineStyles))
+    IVGOutlineStylesPtr OutlineStyles;
+    __declspec(property(get=GetVersion))
+    _bstr_t Version;
+    __declspec(property(get=GetVersionMajor))
+    long VersionMajor;
+    __declspec(property(get=GetVersionMinor))
+    long VersionMinor;
+    __declspec(property(get=GetVersionBuild))
+    long VersionBuild;
+    __declspec(property(get=GetPath))
+    _bstr_t Path;
+    __declspec(property(get=GetConfigPath))
+    _bstr_t ConfigPath;
+    __declspec(property(get=GetSetupPath))
+    _bstr_t SetupPath;
+    __declspec(property(get=GetActiveLayer))
+    IVGLayerPtr ActiveLayer;
+    __declspec(property(get=GetActiveSelection))
+    IVGShapePtr ActiveSelection;
+    __declspec(property(get=GetPatternCanvases))
+    IVGPatternCanvasesPtr PatternCanvases;
+    __declspec(property(get=GetClipboard))
+    IVGClipboardPtr Clipboard;
+    __declspec(property(get=GetActiveSelectionRange))
+    IVGShapeRangePtr ActiveSelectionRange;
+    __declspec(property(get=GetActiveTool,put=PutActiveTool))
+    enum cdrTools ActiveTool;
+    __declspec(property(get=GetAddonPath))
+    _bstr_t AddonPath;
+    __declspec(property(get=GetActiveShape))
+    IVGShapePtr ActiveShape;
+    __declspec(property(get=GetOptimization,put=PutOptimization))
+    VARIANT_BOOL Optimization;
+    __declspec(property(get=GetProgramPath))
+    _bstr_t ProgramPath;
+    __declspec(property(get=GetPanoseMatching,put=PutPanoseMatching))
+    enum cdrPanoseMatchingType PanoseMatching;
+    __declspec(property(get=GetActiveToolStateGuid,put=PutActiveToolStateGuid))
+    _bstr_t ActiveToolStateGuid;
+    __declspec(property(get=GetAddIns))
+    IDispatchPtr AddIns;
+    __declspec(property(get=GetMath))
+    IVGMathUtilsPtr Math;
+    __declspec(property(get=GetUILanguageCode))
+    _bstr_t UILanguageCode;
+    __declspec(property(get=GetPrinters))
+    IPrnVBAPrintersPtr Printers;
+    __declspec(property(get=GetPrintJob))
+    IPrnVBAPrintJobPtr PrintJob;
+    __declspec(property(get=GetCommandBars))
+    ICUICommandBarsPtr CommandBars;
+    __declspec(property(get=GetStatusBar))
+    ICUICommandBarPtr StatusBar;
+    __declspec(property(get=GetMainMenu))
+    ICUICommandBarPtr MainMenu;
+    __declspec(property(get=GetGMSManager))
+    IVGGMSManagerPtr GMSManager;
+    __declspec(property(get=GetUserDataPath))
+    _bstr_t UserDataPath;
+    __declspec(property(get=GetHelpFile))
+    _bstr_t HelpFile;
+    __declspec(property(get=GetFrameWork))
+    ICUIFrameWorkPtr FrameWork;
+    __declspec(property(get=GetComponents))
+    IVGComponentsPtr Components;
+    __declspec(property(get=GetSymbolLibraries))
+    IVGSymbolLibrariesPtr SymbolLibraries;
+    __declspec(property(get=GetID))
+    enum cdrApplicationID ID;
+    __declspec(property(get=GetClass))
+    enum cdrApplicationClass Class;
+    __declspec(property(get=GetPlatformVersionMajor))
+    long PlatformVersionMajor;
+    __declspec(property(get=GetPlatformVersionMinor))
+    long PlatformVersionMinor;
+    __declspec(property(get=GetStatus))
+    IVGAppStatusPtr Status;
+    __declspec(property(get=GetUILanguage))
+    enum cdrTextLanguage UILanguage;
+    __declspec(property(get=GetPageSizes))
+    IVGPageSizesPtr PageSizes;
+    __declspec(property(get=GetUnit,put=PutUnit))
+    enum cdrUnit Unit;
+    __declspec(property(get=GetUserWorkspacePath))
+    _bstr_t UserWorkspacePath;
+    __declspec(property(get=GetLanguagePath))
+    _bstr_t LanguagePath;
+    __declspec(property(get=GetActiveTreeManager))
+    IVGTreeManagerPtr ActiveTreeManager;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGApplicationPtr GetParent ( );
+    VARIANT_BOOL GetVisible ( );
+    void PutVisible (
+        VARIANT_BOOL pVal );
+    IVGDocumentsPtr GetDocuments ( );
+    IVGDocumentPtr GetActiveDocument ( );
+    IVGPagePtr GetActivePage ( );
+    IVGWindowPtr GetActiveWindow ( );
+    IVGWindowsPtr GetWindows ( );
+    ICorelScriptToolsPtr CorelScriptTools ( );
+    IVGWorkspacePtr GetActiveWorkspace ( );
+    IVGWorkspacesPtr GetWorkspaces ( );
+    IVGPalettePtr GetActivePalette ( );
+    IVGPalettesPtr GetPalettes ( );
+    HRESULT Quit ( );
+    IVGColorPtr CreateColor (
+        _bstr_t ColorString );
+    IVGFontListPtr GetFontList ( );
+    IVGAppWindowPtr GetAppWindow ( );
+    IVGRecentFilesPtr GetRecentFiles ( );
+    IDispatchPtr GetVBE ( );
+    double cdrMixedDouble ( );
+    float cdrMixedSingle ( );
+    long cdrMixedLong ( );
+    VARIANT_BOOL GetEventsEnabled ( );
+    void PutEventsEnabled (
+        VARIANT_BOOL pVal );
+    IVGDocumentPtr OpenDocument (
+        _bstr_t FileName,
+        long CodePage );
+    IVGDocumentPtr CreateDocument ( );
+    IVGColorPtr CreateColorEx (
+        long ColorModel,
+        long V1,
+        long V2,
+        long V3,
+        long V4,
+        long V5,
+        long V6,
+        long V7 );
+    IVGArrowHeadsPtr GetArrowHeads ( );
+    IVGOutlineStylesPtr GetOutlineStyles ( );
+    _bstr_t GetVersion ( );
+    long GetVersionMajor ( );
+    long GetVersionMinor ( );
+    long GetVersionBuild ( );
+    _bstr_t GetPath ( );
+    _bstr_t GetConfigPath ( );
+    _bstr_t GetSetupPath ( );
+    IVGLayerPtr GetActiveLayer ( );
+    IVGShapePtr GetActiveSelection ( );
+    IVGPatternCanvasesPtr GetPatternCanvases ( );
+    IVGClipboardPtr GetClipboard ( );
+    IVGShapeRangePtr GetActiveSelectionRange ( );
+    enum cdrTools GetActiveTool ( );
+    void PutActiveTool (
+        enum cdrTools pTool );
+    IVGShapePtr GetActiveShape ( );
+    VARIANT_BOOL GetOptimization ( );
+    void PutOptimization (
+        VARIANT_BOOL pVal );
+    enum cdrPanoseMatchingType GetPanoseMatching ( );
+    void PutPanoseMatching (
+        enum cdrPanoseMatchingType pVal );
+    IDispatchPtr GetAddIns ( );
+    IVGColorPtr CreateRGBColor (
+        long Red,
+        long Green,
+        long Blue );
+    IVGColorPtr CreateCMYColor (
+        long Cyan,
+        long Magenta,
+        long Yellow );
+    IVGColorPtr CreateCMYKColor (
+        long Cyan,
+        long Magenta,
+        long Yellow,
+        long Black );
+    IVGColorPtr CreateGrayColor (
+        long GrayValue );
+    IVGColorPtr CreateHLSColor (
+        long Hue,
+        long Lightness,
+        long Saturation );
+    IVGColorPtr CreateHSBColor (
+        long Hue,
+        long Saturation,
+        long Brightness );
+    IVGColorPtr CreateBWColor (
+        VARIANT_BOOL White );
+    IVGColorPtr CreateYIQColor (
+        long y,
+        long I,
+        long Q );
+    IVGColorPtr CreateLabColor (
+        long L,
+        long A,
+        long B );
+    IVGColorPtr CreateFixedColor (
+        enum cdrPaletteID PaletteID,
+        long PaletteIndex,
+        long Tint );
+    IVGColorPtr CreateRegistrationColor ( );
+    IVGSnapPointPtr CreateSnapPoint (
+        double PositionX,
+        double PositionY );
+    IVGDocumentPtr CreateDocumentFromTemplate (
+        _bstr_t Template,
+        VARIANT_BOOL IncludeGraphics );
+    IPrnVBAPrintersPtr GetPrinters ( );
+    IPrnVBAPrintJobPtr GetPrintJob ( );
+    ICUICommandBarsPtr GetCommandBars ( );
+    ICUICommandBarPtr GetStatusBar ( );
+    ICUICommandBarPtr GetMainMenu ( );
+    IVGGMSManagerPtr GetGMSManager ( );
+    HRESULT ImportWorkspace (
+        _bstr_t FileName );
+    HRESULT Refresh ( );
+    IVGStructSaveAsOptionsPtr CreateStructSaveAsOptions ( );
+    IVGStructExportOptionsPtr CreateStructExportOptions ( );
+    IVGStructImportOptionsPtr CreateStructImportOptions ( );
+    IVGStructPaletteOptionsPtr CreateStructPaletteOptions ( );
+    IVGNodeRangePtr CreateNodeRange ( );
+    IVGSegmentRangePtr CreateSegmentRange ( );
+    IVGShapeRangePtr CreateShapeRange ( );
+    IVGPatternCanvasPtr CreatePatternCanvas ( );
+    IVGCurvePtr CreateCurve (
+        struct IVGDocument * Document );
+    _bstr_t GetUserDataPath ( );
+    VARIANT_BOOL InitializeVBA ( );
+    _bstr_t GetHelpFile ( );
+    ICUIFrameWorkPtr GetFrameWork ( );
+    IVGStructFontPropertiesPtr CreateStructFontProperties ( );
+    IVGStructAlignPropertiesPtr CreateStructAlignProperties ( );
+    IVGStructSpacePropertiesPtr CreateStructSpaceProperties ( );
+    IVGStructHyphenationSettingsPtr CreateStructHyphenationSettings ( );
+    IVGComponentsPtr GetComponents ( );
+    IVGSymbolLibrariesPtr GetSymbolLibraries ( );
+    long AdviseEvents (
+        IDispatch * EventSink );
+    HRESULT UnadviseEvents (
+        long Cookie );
+    enum cdrApplicationID GetID ( );
+    _bstr_t GetName ( );
+    enum cdrApplicationClass GetClass ( );
+    long GetPlatformVersionMajor ( );
+    long GetPlatformVersionMinor ( );
+    long CheckPlatformVersion (
+        long VersionMajor,
+        long VersionMinor );
+    IVGAppStatusPtr GetStatus ( );
+    double ConvertUnits (
+        double Value,
+        enum cdrUnit FromUnit,
+        enum cdrUnit ToUnit );
+    enum cdrTextLanguage GetUILanguage ( );
+    VARIANT_BOOL IsUILanguageAvailable (
+        enum cdrTextLanguage Language );
+    IVGPageSizesPtr GetPageSizes ( );
+    enum cdrUnit GetUnit ( );
+    void PutUnit (
+        enum cdrUnit pVal );
+    _bstr_t ConvertToUnicode (
+        _bstr_t String,
+        long CodePage );
+    _bstr_t ConvertFromUnicode (
+        _bstr_t String,
+        long CodePage );
+    _bstr_t GetUserWorkspacePath ( );
+    _bstr_t GetLanguagePath ( );
+    IVGTreeManagerPtr GetActiveTreeManager ( );
+    IVGLayerPtr GetActiveVirtualLayer ( );
+    IVGDuotonePtr CreateDuotone ( );
+    IVGColorManagerPtr GetColorManager ( );
+    IVGOutlineStylesPtr GetEnhancedOutlines ( );
+    VARIANT_BOOL AddPluginCommand (
+        _bstr_t CommandID,
+        _bstr_t Caption,
+        _bstr_t Tooltip );
+    VARIANT_BOOL RemovePluginCommand (
+        _bstr_t CommandID );
+    IVGOutlineStylePtr CreateOutlineStyle (
+        long DashDotCount,
+        SAFEARRAY * * DashDotLengths );
+    enum cdrAppStartupMode GetStartupMode ( );
+    void PutStartupMode (
+        enum cdrAppStartupMode pVal );
+    IVGPropertiesPtr GetGlobalUserData ( );
+    IVGPropertiesPtr GetSessionUserData ( );
+    _variant_t Evaluate (
+        _bstr_t Expression );
+    IVGRectPtr CreateRect (
+        double x,
+        double y,
+        double Width,
+        double Height );
+    HRESULT ForceUpdateFontTable ( );
+    IVGSpreadPtr GetActiveSpread ( );
+    IVGDocumentPtr OpenDocumentAsCopy (
+        _bstr_t FileName,
+        struct IVGStructOpenOptions * Options );
+    IVGColorContextPtr GetDefaultColorContext ( );
+    IVGColorContextPtr CreateColorContext (
+        struct IVGColorProfile * RGBProfile,
+        struct IVGColorProfile * CMYKProfile,
+        struct IVGColorProfile * GrayscaleProfile,
+        enum clrRenderingIntent RenderingIntent,
+        enum clrColorModel BlendingColorModel );
+    IVGColorContextPtr CreateColorContext2 (
+        _bstr_t ColorProfileList,
+        enum clrRenderingIntent RenderingIntent,
+        enum clrColorModel BlendingColorModel );
+    IVGDocumentPtr CreateDocumentEx (
+        struct IVGStructCreateOptions * Options );
+    IVGDocumentPtr OpenDocumentEx (
+        _bstr_t FileName,
+        struct IVGStructOpenOptions * Options );
+    IVGStructOpenOptionsPtr CreateStructOpenOptions ( );
+    IVGStructCreateOptionsPtr CreateStructCreateOptions ( );
+    IVGStructPasteOptionsPtr CreateStructPasteOptions ( );
+    IVGProofColorSettingsPtr CreateProofColorSettings (
+        _bstr_t ProfileName,
+        enum clrRenderingIntent RenderingIntent,
+        VARIANT_BOOL PreserveColorValues );
+    IVGPaletteManagerPtr GetPaletteManager ( );
+    IVGColorPtr CreateSpotColor (
+        _bstr_t PaletteIdentifier,
+        long SpotColorID,
+        long Tint );
+    IVGColorPtr CreateSpotColorByName (
+        _bstr_t PaletteIdentifier,
+        _bstr_t SpotColorName,
+        long Tint );
+    IVGColorPtr CreatePaletteColor (
+        _bstr_t PaletteIdentifier,
+        long ColorIndex );
+    SAFEARRAY * GetSupportedOpenTypeFeatures ( );
+    IVGFillMetadataPtr CreateFillMetadata ( );
+    _bstr_t GetAddonPath ( );
+    _bstr_t GetProgramPath ( );
+    _bstr_t GetActiveToolStateGuid ( );
+    void PutActiveToolStateGuid (
+        _bstr_t pTool );
+    HRESULT RegisterToolState (
+        _bstr_t ToolStateGuid,
+        _bstr_t ToolStateName,
+        struct IVGToolState * ToolState );
+    VARIANT_BOOL UnregisterToolState (
+        _bstr_t ToolStateGuid );
+    IVGOnScreenCurvePtr CreateOnScreenCurve ( );
+    IVGOnScreenHandlePtr CreateOnScreenHandle ( );
+    IVGOnScreenTextPtr CreateOnScreenText ( );
+    IVGMathUtilsPtr GetMath ( );
+    HRESULT RegisterUserApplicationPreference (
+        _bstr_t GroupName,
+        _bstr_t KeyName,
+        const _variant_t & DefaultVal );
+    _variant_t GetApplicationPreferenceValue (
+        _bstr_t GroupName,
+        _bstr_t KeyName );
+    HRESULT SetApplicationPreferenceValue (
+        _bstr_t GroupName,
+        _bstr_t KeyName,
+        const _variant_t & newVal );
+    IVGPropertiesPtr CreateProperties ( );
+    HRESULT RegisterToolShape (
+        _bstr_t ToolShapeGuid,
+        struct IVGToolShapeAttributes * ToolShapeAttributes,
+        struct IVGToolShape * ToolShape );
+    IVGToolShapeAttributesPtr CreateToolShapeAttributes ( );
+    _bstr_t GetUILanguageCode ( );
+    HRESULT StartTemporaryToolState (
+        _bstr_t StateGuid );
+    HRESULT MarkupLogout ( );
+    HRESULT MarkupLogin (
+        struct IVGCommentAuthor * Author );
+    IVGCommentAuthorPtr CreateMarkupAuthor (
+        _bstr_t Name,
+        _bstr_t Avatar,
+        _bstr_t Email,
+        enum cdrAuthorAuthentication Authentication );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Visible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Visible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Documents (
+        /*[out,retval]*/ struct IVGDocuments * * Documents ) = 0;
+      virtual HRESULT __stdcall get_ActiveDocument (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActivePage (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveWindow (
+        /*[out,retval]*/ struct IVGWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Windows (
+        /*[out,retval]*/ struct IVGWindows * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CorelScriptTools (
+        /*[out,retval]*/ struct ICorelScriptTools * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveWorkspace (
+        /*[out,retval]*/ struct IVGWorkspace * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Workspaces (
+        /*[out,retval]*/ struct IVGWorkspaces * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActivePalette (
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Palettes (
+        /*[out,retval]*/ struct IVGPalettes * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Quit ( ) = 0;
+      virtual HRESULT __stdcall raw_CreateColor (
+        /*[in]*/ BSTR ColorString,
+        /*[out,retval]*/ struct IVGColor * * ColorVariable ) = 0;
+      virtual HRESULT __stdcall get_FontList (
+        /*[out,retval]*/ struct IVGFontList * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AppWindow (
+        /*[out,retval]*/ struct IVGAppWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_RecentFiles (
+        /*[out,retval]*/ struct IVGRecentFiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_VBE (
+        /*[out,retval]*/ IDispatch * * ppReturn ) = 0;
+      virtual HRESULT __stdcall raw_cdrMixedDouble (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_cdrMixedSingle (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall raw_cdrMixedLong (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_EventsEnabled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_EventsEnabled (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_OpenDocument (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ long CodePage,
+        /*[out,retval]*/ struct IVGDocument * * ppDocument ) = 0;
+      virtual HRESULT __stdcall raw_CreateDocument (
+        /*[out,retval]*/ struct IVGDocument * * ppDocument ) = 0;
+      virtual HRESULT __stdcall raw_CreateColorEx (
+        /*[in]*/ long ColorModel,
+        /*[in]*/ long V1,
+        /*[in]*/ long V2,
+        /*[in]*/ long V3,
+        /*[in]*/ long V4,
+        /*[in]*/ long V5,
+        /*[in]*/ long V6,
+        /*[in]*/ long V7,
+        /*[out,retval]*/ struct IVGColor * * ColorVariable ) = 0;
+      virtual HRESULT __stdcall get_ArrowHeads (
+        /*[out,retval]*/ struct IVGArrowHeads * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OutlineStyles (
+        /*[out,retval]*/ struct IVGOutlineStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Version (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_VersionMajor (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_VersionMinor (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_VersionBuild (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Path (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ConfigPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_SetupPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveSelection (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PatternCanvases (
+        /*[out,retval]*/ struct IVGPatternCanvases * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Clipboard (
+        /*[out,retval]*/ struct IVGClipboard * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveSelectionRange (
+        /*[out,retval]*/ struct IVGShapeRange * * pVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveTool (
+        /*[out,retval]*/ enum cdrTools * pTool ) = 0;
+      virtual HRESULT __stdcall put_ActiveTool (
+        /*[in]*/ enum cdrTools pTool ) = 0;
+      virtual HRESULT __stdcall get_ActiveShape (
+        /*[out,retval]*/ struct IVGShape * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Optimization (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Optimization (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PanoseMatching (
+        /*[out,retval]*/ enum cdrPanoseMatchingType * pVal ) = 0;
+      virtual HRESULT __stdcall put_PanoseMatching (
+        /*[in]*/ enum cdrPanoseMatchingType pVal ) = 0;
+      virtual HRESULT __stdcall get_AddIns (
+        /*[out,retval]*/ IDispatch * * ppReturn ) = 0;
+      virtual HRESULT __stdcall raw_CreateRGBColor (
+        /*[in]*/ long Red,
+        /*[in]*/ long Green,
+        /*[in]*/ long Blue,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCMYColor (
+        /*[in]*/ long Cyan,
+        /*[in]*/ long Magenta,
+        /*[in]*/ long Yellow,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCMYKColor (
+        /*[in]*/ long Cyan,
+        /*[in]*/ long Magenta,
+        /*[in]*/ long Yellow,
+        /*[in]*/ long Black,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateGrayColor (
+        /*[in]*/ long GrayValue,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateHLSColor (
+        /*[in]*/ long Hue,
+        /*[in]*/ long Lightness,
+        /*[in]*/ long Saturation,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateHSBColor (
+        /*[in]*/ long Hue,
+        /*[in]*/ long Saturation,
+        /*[in]*/ long Brightness,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBWColor (
+        /*[in]*/ VARIANT_BOOL White,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateYIQColor (
+        /*[in]*/ long y,
+        /*[in]*/ long I,
+        /*[in]*/ long Q,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateLabColor (
+        /*[in]*/ long L,
+        /*[in]*/ long A,
+        /*[in]*/ long B,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateFixedColor (
+        /*[in]*/ enum cdrPaletteID PaletteID,
+        /*[in]*/ long PaletteIndex,
+        /*[in]*/ long Tint,
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateRegistrationColor (
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSnapPoint (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY,
+        /*[out,retval]*/ struct IVGSnapPoint * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateDocumentFromTemplate (
+        /*[in]*/ BSTR Template,
+        /*[in]*/ VARIANT_BOOL IncludeGraphics,
+        /*[out,retval]*/ struct IVGDocument * * ppDocument ) = 0;
+      virtual HRESULT __stdcall get_Printers (
+        /*[out,retval]*/ struct IPrnVBAPrinters * * ppReturn ) = 0;
+      virtual HRESULT __stdcall get_PrintJob (
+        /*[out,retval]*/ struct IPrnVBAPrintJob * * ppReturn ) = 0;
+      virtual HRESULT __stdcall get_CommandBars (
+        /*[out,retval]*/ struct ICUICommandBars * * ppReturn ) = 0;
+      virtual HRESULT __stdcall get_StatusBar (
+        /*[out,retval]*/ struct ICUICommandBar * * ppReturn ) = 0;
+      virtual HRESULT __stdcall get_MainMenu (
+        /*[out,retval]*/ struct ICUICommandBar * * ppReturn ) = 0;
+      virtual HRESULT __stdcall get_GMSManager (
+        /*[out,retval]*/ struct IVGGMSManager * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ImportWorkspace (
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_Refresh ( ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructSaveAsOptions (
+        /*[out,retval]*/ struct IVGStructSaveAsOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructExportOptions (
+        /*[out,retval]*/ struct IVGStructExportOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructImportOptions (
+        /*[out,retval]*/ struct IVGStructImportOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructPaletteOptions (
+        /*[out,retval]*/ struct IVGStructPaletteOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateNodeRange (
+        /*[out,retval]*/ struct IVGNodeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSegmentRange (
+        /*[out,retval]*/ struct IVGSegmentRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateShapeRange (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreatePatternCanvas (
+        /*[out,retval]*/ struct IVGPatternCanvas * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurve (
+        /*[in]*/ struct IVGDocument * Document,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_UserDataPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_InitializeVBA (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HelpFile (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_FrameWork (
+        /*[out,retval]*/ struct ICUIFrameWork * * ppReturn ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructFontProperties (
+        /*[out,retval]*/ struct IVGStructFontProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructAlignProperties (
+        /*[out,retval]*/ struct IVGStructAlignProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructSpaceProperties (
+        /*[out,retval]*/ struct IVGStructSpaceProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructHyphenationSettings (
+        /*[out,retval]*/ struct IVGStructHyphenationSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Components (
+        /*[out,retval]*/ struct IVGComponents * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SymbolLibraries (
+        /*[out,retval]*/ struct IVGSymbolLibraries * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AdviseEvents (
+        /*[in]*/ IDispatch * EventSink,
+        /*[out,retval]*/ long * pCookie ) = 0;
+      virtual HRESULT __stdcall raw_UnadviseEvents (
+        /*[in]*/ long Cookie ) = 0;
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ enum cdrApplicationID * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Class (
+        /*[out,retval]*/ enum cdrApplicationClass * pVal ) = 0;
+      virtual HRESULT __stdcall get_PlatformVersionMajor (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_PlatformVersionMinor (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CheckPlatformVersion (
+        /*[in]*/ long VersionMajor,
+        /*[in]*/ long VersionMinor,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Status (
+        /*[out,retval]*/ struct IVGAppStatus * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertUnits (
+        /*[in]*/ double Value,
+        /*[in]*/ enum cdrUnit FromUnit,
+        /*[in]*/ enum cdrUnit ToUnit,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_UILanguage (
+        /*[out,retval]*/ enum cdrTextLanguage * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsUILanguageAvailable (
+        /*[in]*/ enum cdrTextLanguage Language,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_PageSizes (
+        /*[out,retval]*/ struct IVGPageSizes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Unit (
+        /*[out,retval]*/ enum cdrUnit * pVal ) = 0;
+      virtual HRESULT __stdcall put_Unit (
+        /*[in]*/ enum cdrUnit pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToUnicode (
+        /*[in]*/ BSTR String,
+        /*[in]*/ long CodePage,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertFromUnicode (
+        /*[in]*/ BSTR String,
+        /*[in]*/ long CodePage,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_UserWorkspacePath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_LanguagePath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveTreeManager (
+        /*[out,retval]*/ struct IVGTreeManager * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveVirtualLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateDuotone (
+        /*[out,retval]*/ struct IVGDuotone * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ColorManager (
+        /*[out,retval]*/ struct IVGColorManager * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EnhancedOutlines (
+        /*[out,retval]*/ struct IVGOutlineStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddPluginCommand (
+        /*[in]*/ BSTR CommandID,
+        /*[in]*/ BSTR Caption,
+        /*[in]*/ BSTR Tooltip,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RemovePluginCommand (
+        /*[in]*/ BSTR CommandID,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateOutlineStyle (
+        /*[in]*/ long DashDotCount,
+        /*[in]*/ SAFEARRAY * * DashDotLengths,
+        /*[out,retval]*/ struct IVGOutlineStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StartupMode (
+        /*[out,retval]*/ enum cdrAppStartupMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartupMode (
+        /*[in]*/ enum cdrAppStartupMode pVal ) = 0;
+      virtual HRESULT __stdcall get_GlobalUserData (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SessionUserData (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Evaluate (
+        /*[in]*/ BSTR Expression,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateRect (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ForceUpdateFontTable ( ) = 0;
+      virtual HRESULT __stdcall get_ActiveSpread (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_OpenDocumentAsCopy (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ struct IVGStructOpenOptions * Options,
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultColorContext (
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateColorContext (
+        /*[in]*/ struct IVGColorProfile * RGBProfile,
+        /*[in]*/ struct IVGColorProfile * CMYKProfile,
+        /*[in]*/ struct IVGColorProfile * GrayscaleProfile,
+        /*[in]*/ enum clrRenderingIntent RenderingIntent,
+        /*[in]*/ enum clrColorModel BlendingColorModel,
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateColorContext2 (
+        /*[in]*/ BSTR ColorProfileList,
+        /*[in]*/ enum clrRenderingIntent RenderingIntent,
+        /*[in]*/ enum clrColorModel BlendingColorModel,
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateDocumentEx (
+        /*[in]*/ struct IVGStructCreateOptions * Options,
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_OpenDocumentEx (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ struct IVGStructOpenOptions * Options,
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructOpenOptions (
+        /*[out,retval]*/ struct IVGStructOpenOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructCreateOptions (
+        /*[out,retval]*/ struct IVGStructCreateOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStructPasteOptions (
+        /*[out,retval]*/ struct IVGStructPasteOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateProofColorSettings (
+        /*[in]*/ BSTR ProfileName,
+        /*[in]*/ enum clrRenderingIntent RenderingIntent,
+        /*[in]*/ VARIANT_BOOL PreserveColorValues,
+        /*[out,retval]*/ struct IVGProofColorSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PaletteManager (
+        /*[out,retval]*/ struct IVGPaletteManager * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSpotColor (
+        /*[in]*/ BSTR PaletteIdentifier,
+        /*[in]*/ long SpotColorID,
+        /*[in]*/ long Tint,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSpotColorByName (
+        /*[in]*/ BSTR PaletteIdentifier,
+        /*[in]*/ BSTR SpotColorName,
+        /*[in]*/ long Tint,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreatePaletteColor (
+        /*[in]*/ BSTR PaletteIdentifier,
+        /*[in]*/ long ColorIndex,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetSupportedOpenTypeFeatures (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateFillMetadata (
+        /*[out,retval]*/ struct IVGFillMetadata * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AddonPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ProgramPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveToolStateGuid (
+        /*[out,retval]*/ BSTR * pTool ) = 0;
+      virtual HRESULT __stdcall put_ActiveToolStateGuid (
+        /*[in]*/ BSTR pTool ) = 0;
+      virtual HRESULT __stdcall raw_RegisterToolState (
+        /*[in]*/ BSTR ToolStateGuid,
+        /*[in]*/ BSTR ToolStateName,
+        /*[in]*/ struct IVGToolState * ToolState ) = 0;
+      virtual HRESULT __stdcall raw_UnregisterToolState (
+        /*[in]*/ BSTR ToolStateGuid,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateOnScreenCurve (
+        /*[out,retval]*/ struct IVGOnScreenCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateOnScreenHandle (
+        /*[out,retval]*/ struct IVGOnScreenHandle * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateOnScreenText (
+        /*[out,retval]*/ struct IVGOnScreenText * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Math (
+        /*[out,retval]*/ struct IVGMathUtils * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_RegisterUserApplicationPreference (
+        /*[in]*/ BSTR GroupName,
+        /*[in]*/ BSTR KeyName,
+        /*[in]*/ VARIANT DefaultVal ) = 0;
+      virtual HRESULT __stdcall raw_GetApplicationPreferenceValue (
+        /*[in]*/ BSTR GroupName,
+        /*[in]*/ BSTR KeyName,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetApplicationPreferenceValue (
+        /*[in]*/ BSTR GroupName,
+        /*[in]*/ BSTR KeyName,
+        /*[in]*/ VARIANT newVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateProperties (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_RegisterToolShape (
+        /*[in]*/ BSTR ToolShapeGuid,
+        /*[in]*/ struct IVGToolShapeAttributes * ToolShapeAttributes,
+        /*[in]*/ struct IVGToolShape * ToolShape ) = 0;
+      virtual HRESULT __stdcall raw_CreateToolShapeAttributes (
+        /*[out,retval]*/ struct IVGToolShapeAttributes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_UILanguageCode (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_StartTemporaryToolState (
+        /*[in]*/ BSTR StateGuid ) = 0;
+      virtual HRESULT __stdcall raw_MarkupLogout ( ) = 0;
+      virtual HRESULT __stdcall raw_MarkupLogin (
+        /*[in]*/ struct IVGCommentAuthor * Author ) = 0;
+      virtual HRESULT __stdcall raw_CreateMarkupAuthor (
+        BSTR Name,
+        BSTR Avatar,
+        /*[in]*/ BSTR Email,
+        /*[in]*/ enum cdrAuthorAuthentication Authentication,
+        /*[out,retval]*/ struct IVGCommentAuthor * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580025-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDocuments : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGApplicationPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGDocumentPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGApplicationPtr GetParent ( );
+    IVGDocumentPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580047-9aa4-44fd-9547-4f91eb757ac4"))
+IVGOutlineStyles : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGApplicationPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGOutlineStylePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGApplicationPtr GetParent ( );
+    IVGOutlineStylePtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGOutlineStylePtr Add ( );
+    HRESULT Remove (
+        long Index );
+    HRESULT Save ( );
+    IVGOutlineStylePtr AddStyle (
+        struct IVGOutlineStyle * Style );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGOutlineStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[out,retval]*/ struct IVGOutlineStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_Save ( ) = 0;
+      virtual HRESULT __stdcall raw_AddStyle (
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[out,retval]*/ struct IVGOutlineStyle * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580058-9aa4-44fd-9547-4f91eb757ac4"))
+IVGRulers : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDocumentPtr Parent;
+    __declspec(property(get=GetVUnits,put=PutVUnits))
+    enum cdrUnit VUnits;
+    __declspec(property(get=GetHUnits,put=PutHUnits))
+    enum cdrUnit HUnits;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDocumentPtr GetParent ( );
+    enum cdrUnit GetVUnits ( );
+    void PutVUnits (
+        enum cdrUnit pVal );
+    enum cdrUnit GetHUnits ( );
+    void PutHUnits (
+        enum cdrUnit pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_VUnits (
+        /*[out,retval]*/ enum cdrUnit * pVal ) = 0;
+      virtual HRESULT __stdcall put_VUnits (
+        /*[in]*/ enum cdrUnit pVal ) = 0;
+      virtual HRESULT __stdcall get_HUnits (
+        /*[out,retval]*/ enum cdrUnit * pVal ) = 0;
+      virtual HRESULT __stdcall put_HUnits (
+        /*[in]*/ enum cdrUnit pVal ) = 0;
+};
+
+struct __declspec(uuid("b058003e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGGrid : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDocumentPtr Parent;
+    __declspec(property(get=GetVisible,put=PutVisible))
+    VARIANT_BOOL Visible;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrGridType Type;
+    __declspec(property(get=GetSnap,put=PutSnap))
+    VARIANT_BOOL Snap;
+    __declspec(property(get=GetSpacingX,put=PutSpacingX))
+    double SpacingX;
+    __declspec(property(get=GetSpacingY,put=PutSpacingY))
+    double SpacingY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDocumentPtr GetParent ( );
+    VARIANT_BOOL GetVisible ( );
+    void PutVisible (
+        VARIANT_BOOL pVal );
+    enum cdrGridType GetType ( );
+    void PutType (
+        enum cdrGridType pVal );
+    VARIANT_BOOL GetSnap ( );
+    void PutSnap (
+        VARIANT_BOOL pVal );
+    HRESULT SetFrequency (
+        double GridX,
+        double GridY );
+    double GetSpacingX ( );
+    void PutSpacingX (
+        double pVal );
+    double GetSpacingY ( );
+    void PutSpacingY (
+        double pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Visible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Visible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrGridType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrGridType pVal ) = 0;
+      virtual HRESULT __stdcall get_Snap (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Snap (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetFrequency (
+        /*[in]*/ double GridX,
+        /*[in]*/ double GridY ) = 0;
+      virtual HRESULT __stdcall get_SpacingX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpacingX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SpacingY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpacingY (
+        /*[in]*/ double pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580005-9aa4-44fd-9547-4f91eb757ac4"))
+IVGAppPlugin : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT OnLoad (
+        struct IVGApplication * Application );
+    HRESULT StartSession ( );
+    HRESULT StopSession ( );
+    HRESULT OnUnload ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_OnLoad (
+        /*[in]*/ struct IVGApplication * Application ) = 0;
+      virtual HRESULT __stdcall raw_StartSession ( ) = 0;
+      virtual HRESULT __stdcall raw_StopSession ( ) = 0;
+      virtual HRESULT __stdcall raw_OnUnload ( ) = 0;
+};
+
+struct __declspec(uuid("b0580048-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPage : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGPagesPtr Parent;
+    __declspec(property(get=GetLayers))
+    IVGLayersPtr Layers;
+    __declspec(property(get=GetShapes))
+    IVGShapesPtr Shapes;
+    __declspec(property(get=GetActiveLayer))
+    IVGLayerPtr ActiveLayer;
+    __declspec(property(get=GetPaper))
+    _bstr_t Paper;
+    __declspec(property(get=GetSizeWidth,put=PutSizeWidth))
+    double SizeWidth;
+    __declspec(property(get=GetMarkup))
+    IVGPageMarkupPtr Markup;
+    __declspec(property(get=GetSizeHeight,put=PutSizeHeight))
+    double SizeHeight;
+    __declspec(property(get=GetResolution,put=PutResolution))
+    long Resolution;
+    __declspec(property(get=GetBleed,put=PutBleed))
+    double Bleed;
+    __declspec(property(get=GetOrientation,put=PutOrientation))
+    enum cdrPageOrientation Orientation;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetBackground,put=PutBackground))
+    enum cdrPageBackground Background;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetPrintExportBackground,put=PutPrintExportBackground))
+    VARIANT_BOOL PrintExportBackground;
+    __declspec(property(get=GetGuides))
+    IVGShapeRangePtr Guides[];
+    __declspec(property(get=GetProperties))
+    IVGPropertiesPtr Properties;
+    __declspec(property(get=GetCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY))
+    double CenterY;
+    __declspec(property(get=GetPrevious))
+    IVGPagePtr Previous;
+    __declspec(property(get=GetNext))
+    IVGPagePtr Next;
+    __declspec(property(get=GetSelectableShapes))
+    IVGShapesPtr SelectableShapes;
+    __declspec(property(get=GetTreeNode))
+    IVGTreeNodePtr TreeNode;
+    __declspec(property(get=GetGuidesLayer))
+    IVGLayerPtr GuidesLayer;
+    __declspec(property(get=GetDesktopLayer))
+    IVGLayerPtr DesktopLayer;
+    __declspec(property(get=GetGridLayer))
+    IVGLayerPtr GridLayer;
+    __declspec(property(get=GetLeftX))
+    double LeftX;
+    __declspec(property(get=GetRightX))
+    double RightX;
+    __declspec(property(get=GetBottomY))
+    double BottomY;
+    __declspec(property(get=GetTopY))
+    double TopY;
+    __declspec(property(get=GetAllLayers))
+    IVGLayersPtr AllLayers;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+    __declspec(property(get=GetSpread))
+    IVGSpreadPtr Spread;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    IVGApplicationPtr GetApplication ( );
+    IVGPagesPtr GetParent ( );
+    IVGLayersPtr GetLayers ( );
+    IVGShapesPtr GetShapes ( );
+    IVGLayerPtr GetActiveLayer ( );
+    _bstr_t GetPaper ( );
+    double GetSizeWidth ( );
+    void PutSizeWidth (
+        double pVal );
+    double GetSizeHeight ( );
+    void PutSizeHeight (
+        double pVal );
+    long GetResolution ( );
+    void PutResolution (
+        long pVal );
+    double GetBleed ( );
+    void PutBleed (
+        double pVal );
+    enum cdrPageOrientation GetOrientation ( );
+    void PutOrientation (
+        enum cdrPageOrientation pVal );
+    long GetIndex ( );
+    HRESULT Activate ( );
+    HRESULT Delete ( );
+    IVGLayerPtr CreateLayer (
+        _bstr_t LayerName );
+    IVGShapePtr TextFind (
+        _bstr_t Text,
+        VARIANT_BOOL CaseSensitive );
+    HRESULT TextReplace (
+        _bstr_t OldText,
+        _bstr_t NewText,
+        VARIANT_BOOL CaseSensitive,
+        VARIANT_BOOL ReplaceSelectedOnly );
+    IVGShapePtr SelectShapesAtPoint (
+        double x,
+        double y,
+        VARIANT_BOOL SelectUnfilled,
+        double HotArea );
+    IVGShapePtr SelectShapesFromRectangle (
+        double x1,
+        double y1,
+        double x2,
+        double y2,
+        VARIANT_BOOL Touch );
+    enum cdrPageBackground GetBackground ( );
+    void PutBackground (
+        enum cdrPageBackground pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * pVal );
+    VARIANT_BOOL GetPrintExportBackground ( );
+    void PutPrintExportBackground (
+        VARIANT_BOOL pVal );
+    IVGShapeRangePtr GetGuides (
+        enum cdrGuideType Type );
+    IVGShapePtr FindShape (
+        _bstr_t Name,
+        enum cdrShapeType Type,
+        long StaticID,
+        VARIANT_BOOL Recursive );
+    IVGShapeRangePtr FindShapes (
+        _bstr_t Name,
+        enum cdrShapeType Type,
+        VARIANT_BOOL Recursive );
+    HRESULT MoveTo (
+        long Index );
+    HRESULT UnlockAllShapes ( );
+    IVGPropertiesPtr GetProperties ( );
+    HRESULT GetSize (
+        double * Width,
+        double * Height );
+    HRESULT SetSize (
+        double Width,
+        double Height );
+    double GetCenterX ( );
+    double GetCenterY ( );
+    _variant_t CustomCommand (
+        _bstr_t ComponentID,
+        _bstr_t CommandID,
+        SAFEARRAY * * Parameters );
+    IVGPagePtr GetPrevious ( );
+    IVGPagePtr GetNext ( );
+    IVGShapesPtr GetSelectableShapes ( );
+    IVGTreeNodePtr GetTreeNode ( );
+    HRESULT GetCenterPosition (
+        double * CenterX,
+        double * CenterY );
+    HRESULT SelectSize (
+        _bstr_t PageSizeName,
+        VARIANT_BOOL Landscape );
+    IVGLayerPtr GetGuidesLayer ( );
+    IVGLayerPtr GetDesktopLayer ( );
+    IVGLayerPtr GetGridLayer ( );
+    HRESULT GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    double GetLeftX ( );
+    double GetRightX ( );
+    double GetBottomY ( );
+    double GetTopY ( );
+    IVGLayersPtr GetAllLayers ( );
+    IVGRectPtr GetBoundingBox ( );
+    IVGSpreadPtr GetSpread ( );
+    IVGSnapPointPtr FindClosestSnapPoint (
+        enum cdrPointType TypeSet,
+        double PositionX,
+        double PositionY,
+        double HotArea );
+    IVGRectPtr GetObjectsBoundingBox (
+        VARIANT_BOOL SelectedOnly,
+        VARIANT_BOOL IncludeNonPrintable );
+    IVGShapePtr FindShapeAtPoint (
+        double x,
+        double y,
+        VARIANT_BOOL TreatAsFilled );
+    IVGPageMarkupPtr GetMarkup ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGPages * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Layers (
+        /*[out,retval]*/ struct IVGLayers * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Shapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Paper (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Resolution (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Resolution (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Bleed (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Bleed (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Orientation (
+        /*[out,retval]*/ enum cdrPageOrientation * pVal ) = 0;
+      virtual HRESULT __stdcall put_Orientation (
+        /*[in]*/ enum cdrPageOrientation pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pIndex ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_CreateLayer (
+        /*[in]*/ BSTR LayerName,
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_TextFind (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ VARIANT_BOOL CaseSensitive,
+        /*[out,retval]*/ struct IVGShape * * ppFound ) = 0;
+      virtual HRESULT __stdcall raw_TextReplace (
+        /*[in]*/ BSTR OldText,
+        /*[in]*/ BSTR NewText,
+        /*[in]*/ VARIANT_BOOL CaseSensitive,
+        /*[in]*/ VARIANT_BOOL ReplaceSelectedOnly ) = 0;
+      virtual HRESULT __stdcall raw_SelectShapesAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL SelectUnfilled,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_SelectShapesFromRectangle (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[in]*/ VARIANT_BOOL Touch,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall get_Background (
+        /*[out,retval]*/ enum cdrPageBackground * pVal ) = 0;
+      virtual HRESULT __stdcall put_Background (
+        /*[in]*/ enum cdrPageBackground pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * pVal ) = 0;
+      virtual HRESULT __stdcall get_PrintExportBackground (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrintExportBackground (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Guides (
+        /*[in]*/ enum cdrGuideType Type,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindShape (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrShapeType Type,
+        /*[in]*/ long StaticID,
+        /*[in]*/ VARIANT_BOOL Recursive,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_FindShapes (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrShapeType Type,
+        /*[in]*/ VARIANT_BOOL Recursive,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_MoveTo (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_UnlockAllShapes ( ) = 0;
+      virtual HRESULT __stdcall get_Properties (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetSize (
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall raw_SetSize (
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CustomCommand (
+        /*[in]*/ BSTR ComponentID,
+        /*[in]*/ BSTR CommandID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall get_Previous (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Next (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SelectableShapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TreeNode (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCenterPosition (
+        /*[out]*/ double * CenterX,
+        /*[out]*/ double * CenterY ) = 0;
+      virtual HRESULT __stdcall raw_SelectSize (
+        /*[in]*/ BSTR PageSizeName,
+        /*[in]*/ VARIANT_BOOL Landscape ) = 0;
+      virtual HRESULT __stdcall get_GuidesLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DesktopLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_GridLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall get_LeftX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_RightX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_BottomY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_TopY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_AllLayers (
+        /*[out,retval]*/ struct IVGLayers * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Spread (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindClosestSnapPoint (
+        /*[in]*/ enum cdrPointType TypeSet,
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetObjectsBoundingBox (
+        /*[in]*/ VARIANT_BOOL SelectedOnly,
+        /*[in]*/ VARIANT_BOOL IncludeNonPrintable,
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindShapeAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL TreatAsFilled,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall get_Markup (
+        /*[out,retval]*/ struct IVGPageMarkup * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580049-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPages : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDocumentPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGPagePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGPagePtr First;
+    __declspec(property(get=GetLast))
+    IVGPagePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDocumentPtr GetParent ( );
+    IVGPagePtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGPagePtr GetFirst ( );
+    IVGPagePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580041-9aa4-44fd-9547-4f91eb757ac4"))
+IVGLayers : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGPagePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGLayerPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetTop))
+    IVGLayerPtr Top;
+    __declspec(property(get=GetBottom))
+    IVGLayerPtr Bottom;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGPagePtr GetParent ( );
+    IVGLayerPtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGLayerPtr Find (
+        _bstr_t LayerName );
+    IVGLayerPtr GetTop ( );
+    IVGLayerPtr GetBottom ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR LayerName,
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Bottom (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580040-9aa4-44fd-9547-4f91eb757ac4"))
+IVGLayer : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGLayersPtr Parent;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetShapes))
+    IVGShapesPtr Shapes;
+    __declspec(property(get=GetVisible,put=PutVisible))
+    VARIANT_BOOL Visible;
+    __declspec(property(get=GetPrintable,put=PutPrintable))
+    VARIANT_BOOL Printable;
+    __declspec(property(get=GetEditable,put=PutEditable))
+    VARIANT_BOOL Editable;
+    __declspec(property(get=GetMaster,put=PutMaster))
+    VARIANT_BOOL Master;
+    __declspec(property(get=GetSelectableShapes))
+    IVGShapesPtr SelectableShapes;
+    __declspec(property(get=GetOverrideColor,put=PutOverrideColor))
+    VARIANT_BOOL OverrideColor;
+    __declspec(property(get=GetTreeNode))
+    IVGTreeNodePtr TreeNode;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetIsGuidesLayer))
+    VARIANT_BOOL IsGuidesLayer;
+    __declspec(property(get=GetIsDesktopLayer))
+    VARIANT_BOOL IsDesktopLayer;
+    __declspec(property(get=GetIsGridLayer))
+    VARIANT_BOOL IsGridLayer;
+    __declspec(property(get=GetAbsoluteIndex))
+    long AbsoluteIndex;
+    __declspec(property(get=GetPage))
+    IVGPagePtr Page;
+    __declspec(property(get=GetIsSpecialLayer))
+    VARIANT_BOOL IsSpecialLayer;
+    __declspec(property(get=GetMasterLayer))
+    IVGLayerPtr MasterLayer;
+    __declspec(property(get=GetAbove))
+    IVGLayerPtr Above[];
+    __declspec(property(get=GetBelow))
+    IVGLayerPtr Below[];
+    __declspec(property(get=GetProperties))
+    IVGPropertiesPtr Properties;
+    __declspec(property(get=GetMasterProperties))
+    IVGPropertiesPtr MasterProperties;
+    __declspec(property(get=GetIndex))
+    long Index;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGLayersPtr GetParent ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    IVGShapesPtr GetShapes ( );
+    HRESULT Activate ( );
+    VARIANT_BOOL GetVisible ( );
+    void PutVisible (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPrintable ( );
+    void PutPrintable (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetEditable ( );
+    void PutEditable (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMaster ( );
+    void PutMaster (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOverrideColor ( );
+    void PutOverrideColor (
+        VARIANT_BOOL pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * pVal );
+    HRESULT Delete ( );
+    HRESULT MoveAbove (
+        struct IVGLayer * Layer );
+    HRESULT MoveBelow (
+        struct IVGLayer * Layer );
+    HRESULT Import (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        struct IVGStructImportOptions * Options );
+    IVGShapePtr CreateRectangle (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        long CornerUL,
+        long CornerUR,
+        long CornerLR,
+        long CornerLL );
+    IVGShapePtr CreateEllipse (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        double StartAngle,
+        double EndAngle,
+        VARIANT_BOOL Pie );
+    IVGShapePtr CreatePolygon (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        long Sides,
+        long SubPaths,
+        long Complexity,
+        VARIANT_BOOL Star,
+        long StarComplexity,
+        long MaxComplexity );
+    IVGShapePtr CreateGridBoxes (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        long Wide,
+        long High );
+    IVGShapePtr CreateSpiral (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        long NumRevolutions,
+        enum cdrSpiralType SpiralType,
+        long GrowthRate );
+    IVGShapePtr CreateArtisticText (
+        double Left,
+        double Bottom,
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font,
+        float Size,
+        enum cdrTriState Bold,
+        enum cdrTriState Italic,
+        enum cdrFontLine Underline,
+        enum cdrAlignment Alignment );
+    IVGShapePtr CreateParagraphText (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font,
+        float Size,
+        enum cdrTriState Bold,
+        enum cdrTriState Italic,
+        enum cdrFontLine Underline,
+        enum cdrAlignment Alignment );
+    IVGShapePtr CreateCurveSegment (
+        double StartX,
+        double StartY,
+        double EndX,
+        double EndY,
+        double StartingControlPointLength,
+        double StartingControlPointAngle,
+        double EndingControlPointLength,
+        double EndingControlPointAngle );
+    IVGShapePtr CreateLineSegment (
+        double StartX,
+        double StartY,
+        double EndX,
+        double EndY );
+    IVGShapePtr CreateConnector (
+        struct IVGSnapPoint * Start,
+        struct IVGSnapPoint * End );
+    IVGShapePtr CreateCurve (
+        struct IVGCurve * Source );
+    IVGShapePtr Paste ( );
+    IVGShapePtr CreateGuideAngle (
+        double x,
+        double y,
+        double Angle );
+    IVGShapePtr CreateGuide (
+        double x1,
+        double y1,
+        double x2,
+        double y2 );
+    IVGShapePtr CreateEllipse2 (
+        double CenterX,
+        double CenterY,
+        double Radius1,
+        double Radius2,
+        double StartAngle,
+        double EndAngle,
+        VARIANT_BOOL Pie );
+    IVGShapePtr FindShape (
+        _bstr_t Name,
+        enum cdrShapeType Type,
+        long StaticID,
+        VARIANT_BOOL Recursive );
+    IVGShapeRangePtr FindShapes (
+        _bstr_t Name,
+        enum cdrShapeType Type,
+        VARIANT_BOOL Recursive );
+    IVGShapePtr CreateRectangle2 (
+        double x,
+        double y,
+        double Width,
+        double Height,
+        double RadiusUL,
+        double RadiusUR,
+        double RadiusLR,
+        double RadiusLL );
+    IVGShapePtr CreateFreeConnector (
+        double x1,
+        double y1,
+        double x2,
+        double y2 );
+    IVGPropertiesPtr GetProperties ( );
+    IVGPropertiesPtr GetMasterProperties ( );
+    long GetIndex ( );
+    IVGShapePtr CreateCurveSegment2 (
+        double x1,
+        double y1,
+        double StartingControlPointX,
+        double StartingControlPointY,
+        double EndingControlPointX,
+        double EndingControlPointY,
+        double x2,
+        double y2 );
+    ICorelImportFilterPtr ImportEx (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        struct IVGStructImportOptions * Options );
+    IVGShapePtr CreateArtisticTextWide (
+        double Left,
+        double Bottom,
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font,
+        float Size,
+        enum cdrTriState Bold,
+        enum cdrTriState Italic,
+        enum cdrFontLine Underline,
+        enum cdrAlignment Alignment );
+    IVGShapePtr CreateParagraphTextWide (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font,
+        float Size,
+        enum cdrTriState Bold,
+        enum cdrTriState Italic,
+        enum cdrFontLine Underline,
+        enum cdrAlignment Alignment );
+    _variant_t CustomCommand (
+        _bstr_t ComponentID,
+        _bstr_t CommandID,
+        SAFEARRAY * * Parameters );
+    IVGShapePtr CreateCustomShape (
+        _bstr_t TypeID,
+        SAFEARRAY * * Parameters );
+    IVGShapePtr CreateLinearDimension (
+        enum cdrLinearDimensionType Type,
+        struct IVGSnapPoint * Point1,
+        struct IVGSnapPoint * Point2,
+        VARIANT_BOOL TextCentered,
+        double TextX,
+        double TextY,
+        enum cdrDimensionStyle Style,
+        long Precision,
+        VARIANT_BOOL ShowUnits,
+        enum cdrDimensionLinearUnits Units,
+        enum cdrDimensionPlacement Placement,
+        VARIANT_BOOL HorizontalText,
+        VARIANT_BOOL BoxedText,
+        VARIANT_BOOL LeadingZero,
+        _bstr_t Prefix,
+        _bstr_t Suffix,
+        double OutlineWidth,
+        struct IVGArrowHead * Arrows,
+        struct IVGColor * OutlineColor,
+        _bstr_t TextFont,
+        double TextSize,
+        struct IVGColor * TextColor );
+    IVGShapePtr CreateAngularDimension (
+        struct IVGSnapPoint * Center,
+        struct IVGSnapPoint * Point1,
+        struct IVGSnapPoint * Point2,
+        double TextX,
+        double TextY,
+        long Precision,
+        VARIANT_BOOL ShowUnits,
+        enum cdrDimensionAngularUnits Units,
+        VARIANT_BOOL BoxedText,
+        VARIANT_BOOL LeadingZero,
+        _bstr_t Prefix,
+        _bstr_t Suffix,
+        double OutlineWidth,
+        struct IVGArrowHead * Arrows,
+        struct IVGColor * OutlineColor,
+        _bstr_t TextFont,
+        double TextSize,
+        struct IVGColor * TextColor );
+    IVGShapePtr CreateSymbol (
+        double x,
+        double y,
+        _bstr_t SymbolName,
+        struct IVGSymbolLibrary * Library );
+    IVGShapePtr CreatePolygon2 (
+        double CenterX,
+        double CenterY,
+        double Radius,
+        long Sides,
+        double Angle,
+        double InnerRadius,
+        VARIANT_BOOL Star,
+        long Sharpness );
+    VARIANT_BOOL PasteSpecial (
+        _bstr_t FormatName,
+        VARIANT_BOOL PasteLink,
+        VARIANT_BOOL DisplayAsIcon,
+        _bstr_t Caption,
+        const _variant_t & Icon = vtMissing );
+    IVGShapePtr CreateOLEObject (
+        _bstr_t ObjectID,
+        VARIANT_BOOL DisplayAsIcon,
+        _bstr_t Caption,
+        const _variant_t & Icon = vtMissing );
+    IVGShapePtr CreateOLEObjectFromFile (
+        _bstr_t FileName,
+        VARIANT_BOOL Link,
+        VARIANT_BOOL DisplayAsIcon,
+        _bstr_t Caption,
+        const _variant_t & Icon = vtMissing );
+    IVGShapesPtr GetSelectableShapes ( );
+    IVGTreeNodePtr GetTreeNode ( );
+    VARIANT_BOOL GetIsGuidesLayer ( );
+    VARIANT_BOOL GetIsDesktopLayer ( );
+    VARIANT_BOOL GetIsGridLayer ( );
+    VARIANT_BOOL GetIsSpecialLayer ( );
+    IVGLayerPtr GetMasterLayer ( );
+    long GetAbsoluteIndex ( );
+    IVGPagePtr GetPage ( );
+    IVGLayerPtr GetAbove (
+        VARIANT_BOOL IgnoreMasters );
+    IVGLayerPtr GetBelow (
+        VARIANT_BOOL IgnoreMasters );
+    IVGShapePtr CreateRectangleRect (
+        struct IVGRect * Rect,
+        double RadiusUL,
+        double RadiusUR,
+        double RadiusLR,
+        double RadiusLL );
+    IVGShapePtr CreateEllipseRect (
+        struct IVGRect * Rect,
+        double StartAngle,
+        double EndAngle,
+        VARIANT_BOOL Pie );
+    IVGShapePtr CreateConnectorEx (
+        enum cdrConnectorType Type,
+        struct IVGSnapPoint * Start,
+        struct IVGSnapPoint * End );
+    IVGShapePtr CreateRightAngleConnector (
+        struct IVGSnapPoint * Start,
+        struct IVGSnapPoint * End,
+        double CornerRadius );
+    IVGShapePtr CreateBSpline (
+        struct IVGBSpline * Source );
+    IVGShapeRangePtr PasteEx (
+        struct IVGStructPasteOptions * Options );
+    IVGShapePtr CreateToolShape (
+        _bstr_t ToolShapeGuid,
+        struct IVGProperties * ShapeProperties );
+    IVGShapePtr CreateBitmap (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom,
+        struct IVGImage * Image,
+        struct IVGImage * ImageAlpha );
+    IVGShapePtr CreateBitmap2 (
+        double x,
+        double y,
+        double Width,
+        double Height,
+        struct IVGImage * Image,
+        struct IVGImage * ImageAlpha );
+    IVGShapePtr CreateBitmapRect (
+        struct IVGRect * Rect,
+        struct IVGImage * Image,
+        struct IVGImage * ImageAlpha );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGLayers * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Shapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall get_Visible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Visible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Printable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Printable (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Editable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Editable (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Master (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Master (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OverrideColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OverrideColor (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * pVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_MoveAbove (
+        /*[in]*/ struct IVGLayer * Layer ) = 0;
+      virtual HRESULT __stdcall raw_MoveBelow (
+        /*[in]*/ struct IVGLayer * Layer ) = 0;
+      virtual HRESULT __stdcall raw_Import (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ struct IVGStructImportOptions * Options ) = 0;
+      virtual HRESULT __stdcall raw_CreateRectangle (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ long CornerUL,
+        /*[in]*/ long CornerUR,
+        /*[in]*/ long CornerLR,
+        /*[in]*/ long CornerLL,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateEllipse (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ double StartAngle,
+        /*[in]*/ double EndAngle,
+        /*[in]*/ VARIANT_BOOL Pie,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreatePolygon (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ long Sides,
+        /*[in]*/ long SubPaths,
+        /*[in]*/ long Complexity,
+        /*[in]*/ VARIANT_BOOL Star,
+        /*[in]*/ long StarComplexity,
+        /*[in]*/ long MaxComplexity,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateGridBoxes (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ long Wide,
+        /*[in]*/ long High,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateSpiral (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ long NumRevolutions,
+        /*[in]*/ enum cdrSpiralType SpiralType,
+        /*[in]*/ long GrowthRate,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateArtisticText (
+        /*[in]*/ double Left,
+        /*[in]*/ double Bottom,
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[in]*/ float Size,
+        /*[in]*/ enum cdrTriState Bold,
+        /*[in]*/ enum cdrTriState Italic,
+        /*[in]*/ enum cdrFontLine Underline,
+        /*[in]*/ enum cdrAlignment Alignment,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateParagraphText (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[in]*/ float Size,
+        /*[in]*/ enum cdrTriState Bold,
+        /*[in]*/ enum cdrTriState Italic,
+        /*[in]*/ enum cdrFontLine Underline,
+        /*[in]*/ enum cdrAlignment Alignment,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurveSegment (
+        /*[in]*/ double StartX,
+        /*[in]*/ double StartY,
+        /*[in]*/ double EndX,
+        /*[in]*/ double EndY,
+        /*[in]*/ double StartingControlPointLength,
+        /*[in]*/ double StartingControlPointAngle,
+        /*[in]*/ double EndingControlPointLength,
+        /*[in]*/ double EndingControlPointAngle,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateLineSegment (
+        /*[in]*/ double StartX,
+        /*[in]*/ double StartY,
+        /*[in]*/ double EndX,
+        /*[in]*/ double EndY,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateConnector (
+        /*[in]*/ struct IVGSnapPoint * Start,
+        /*[in]*/ struct IVGSnapPoint * End,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurve (
+        /*[in]*/ struct IVGCurve * Source,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Paste (
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateGuideAngle (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Angle,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateGuide (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateEllipse2 (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double Radius1,
+        /*[in]*/ double Radius2,
+        /*[in]*/ double StartAngle,
+        /*[in]*/ double EndAngle,
+        /*[in]*/ VARIANT_BOOL Pie,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_FindShape (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrShapeType Type,
+        /*[in]*/ long StaticID,
+        /*[in]*/ VARIANT_BOOL Recursive,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_FindShapes (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrShapeType Type,
+        /*[in]*/ VARIANT_BOOL Recursive,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateRectangle2 (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[in]*/ double RadiusUL,
+        /*[in]*/ double RadiusUR,
+        /*[in]*/ double RadiusLR,
+        /*[in]*/ double RadiusLL,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateFreeConnector (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall get_Properties (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_MasterProperties (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurveSegment2 (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double StartingControlPointX,
+        /*[in]*/ double StartingControlPointY,
+        /*[in]*/ double EndingControlPointX,
+        /*[in]*/ double EndingControlPointY,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_ImportEx (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ struct IVGStructImportOptions * Options,
+        /*[out,retval]*/ struct ICorelImportFilter * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateArtisticTextWide (
+        /*[in]*/ double Left,
+        /*[in]*/ double Bottom,
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[in]*/ float Size,
+        /*[in]*/ enum cdrTriState Bold,
+        /*[in]*/ enum cdrTriState Italic,
+        /*[in]*/ enum cdrFontLine Underline,
+        /*[in]*/ enum cdrAlignment Alignment,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateParagraphTextWide (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[in]*/ float Size,
+        /*[in]*/ enum cdrTriState Bold,
+        /*[in]*/ enum cdrTriState Italic,
+        /*[in]*/ enum cdrFontLine Underline,
+        /*[in]*/ enum cdrAlignment Alignment,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CustomCommand (
+        /*[in]*/ BSTR ComponentID,
+        /*[in]*/ BSTR CommandID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCustomShape (
+        /*[in]*/ BSTR TypeID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateLinearDimension (
+        /*[in]*/ enum cdrLinearDimensionType Type,
+        /*[in]*/ struct IVGSnapPoint * Point1,
+        /*[in]*/ struct IVGSnapPoint * Point2,
+        /*[in]*/ VARIANT_BOOL TextCentered,
+        /*[in]*/ double TextX,
+        /*[in]*/ double TextY,
+        /*[in]*/ enum cdrDimensionStyle Style,
+        /*[in]*/ long Precision,
+        /*[in]*/ VARIANT_BOOL ShowUnits,
+        /*[in]*/ enum cdrDimensionLinearUnits Units,
+        /*[in]*/ enum cdrDimensionPlacement Placement,
+        /*[in]*/ VARIANT_BOOL HorizontalText,
+        /*[in]*/ VARIANT_BOOL BoxedText,
+        /*[in]*/ VARIANT_BOOL LeadingZero,
+        /*[in]*/ BSTR Prefix,
+        /*[in]*/ BSTR Suffix,
+        /*[in]*/ double OutlineWidth,
+        /*[in]*/ struct IVGArrowHead * Arrows,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ BSTR TextFont,
+        /*[in]*/ double TextSize,
+        /*[in]*/ struct IVGColor * TextColor,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateAngularDimension (
+        /*[in]*/ struct IVGSnapPoint * Center,
+        /*[in]*/ struct IVGSnapPoint * Point1,
+        /*[in]*/ struct IVGSnapPoint * Point2,
+        /*[in]*/ double TextX,
+        /*[in]*/ double TextY,
+        /*[in]*/ long Precision,
+        /*[in]*/ VARIANT_BOOL ShowUnits,
+        /*[in]*/ enum cdrDimensionAngularUnits Units,
+        /*[in]*/ VARIANT_BOOL BoxedText,
+        /*[in]*/ VARIANT_BOOL LeadingZero,
+        /*[in]*/ BSTR Prefix,
+        /*[in]*/ BSTR Suffix,
+        /*[in]*/ double OutlineWidth,
+        /*[in]*/ struct IVGArrowHead * Arrows,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ BSTR TextFont,
+        /*[in]*/ double TextSize,
+        /*[in]*/ struct IVGColor * TextColor,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateSymbol (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ BSTR SymbolName,
+        /*[in]*/ struct IVGSymbolLibrary * Library,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreatePolygon2 (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double Radius,
+        /*[in]*/ long Sides,
+        /*[in]*/ double Angle,
+        /*[in]*/ double InnerRadius,
+        /*[in]*/ VARIANT_BOOL Star,
+        /*[in]*/ long Sharpness,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_PasteSpecial (
+        /*[in]*/ BSTR FormatName,
+        /*[in]*/ VARIANT_BOOL PasteLink,
+        /*[in]*/ VARIANT_BOOL DisplayAsIcon,
+        /*[in]*/ BSTR Caption,
+        /*[in]*/ VARIANT Icon,
+        /*[out,retval]*/ VARIANT_BOOL * pRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateOLEObject (
+        /*[in]*/ BSTR ObjectID,
+        /*[in]*/ VARIANT_BOOL DisplayAsIcon,
+        /*[in]*/ BSTR Caption,
+        /*[in]*/ VARIANT Icon,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateOLEObjectFromFile (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL Link,
+        /*[in]*/ VARIANT_BOOL DisplayAsIcon,
+        /*[in]*/ BSTR Caption,
+        /*[in]*/ VARIANT Icon,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall get_SelectableShapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TreeNode (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsGuidesLayer (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsDesktopLayer (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsGridLayer (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSpecialLayer (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_MasterLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AbsoluteIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Page (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Above (
+        /*[in]*/ VARIANT_BOOL IgnoreMasters,
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Below (
+        /*[in]*/ VARIANT_BOOL IgnoreMasters,
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateRectangleRect (
+        /*[in]*/ struct IVGRect * Rect,
+        /*[in]*/ double RadiusUL,
+        /*[in]*/ double RadiusUR,
+        /*[in]*/ double RadiusLR,
+        /*[in]*/ double RadiusLL,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateEllipseRect (
+        /*[in]*/ struct IVGRect * Rect,
+        /*[in]*/ double StartAngle,
+        /*[in]*/ double EndAngle,
+        /*[in]*/ VARIANT_BOOL Pie,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateConnectorEx (
+        /*[in]*/ enum cdrConnectorType Type,
+        /*[in]*/ struct IVGSnapPoint * Start,
+        /*[in]*/ struct IVGSnapPoint * End,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateRightAngleConnector (
+        /*[in]*/ struct IVGSnapPoint * Start,
+        /*[in]*/ struct IVGSnapPoint * End,
+        /*[in]*/ double CornerRadius,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBSpline (
+        /*[in]*/ struct IVGBSpline * Source,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_PasteEx (
+        /*[in]*/ struct IVGStructPasteOptions * Options,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateToolShape (
+        /*[in]*/ BSTR ToolShapeGuid,
+        /*[in]*/ struct IVGProperties * ShapeProperties,
+        /*[out,retval]*/ struct IVGShape * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBitmap (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom,
+        /*[in]*/ struct IVGImage * Image,
+        /*[in]*/ struct IVGImage * ImageAlpha,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBitmap2 (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[in]*/ struct IVGImage * Image,
+        /*[in]*/ struct IVGImage * ImageAlpha,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBitmapRect (
+        /*[in]*/ struct IVGRect * Rect,
+        /*[in]*/ struct IVGImage * Image,
+        /*[in]*/ struct IVGImage * ImageAlpha,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058005f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGShapes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGShapePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGShapePtr First;
+    __declspec(property(get=GetLast))
+    IVGShapePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    IVGShapePtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGShapeRangePtr Range (
+        SAFEARRAY * * IndexArray );
+    IVGShapeRangePtr All ( );
+    IVGShapeRangePtr AllExcluding (
+        SAFEARRAY * * IndexArray );
+    IVGShapePtr FindShape (
+        _bstr_t Name,
+        enum cdrShapeType Type,
+        long StaticID,
+        VARIANT_BOOL Recursive,
+        _bstr_t Query );
+    IVGShapeRangePtr FindShapes (
+        _bstr_t Name,
+        enum cdrShapeType Type,
+        VARIANT_BOOL Recursive,
+        _bstr_t Query );
+    IVGShapePtr GetFirst ( );
+    IVGShapePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Range (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_All (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AllExcluding (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindShape (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrShapeType Type,
+        /*[in]*/ long StaticID,
+        /*[in]*/ VARIANT_BOOL Recursive,
+        /*[in]*/ BSTR Query,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_FindShapes (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrShapeType Type,
+        /*[in]*/ VARIANT_BOOL Recursive,
+        /*[in]*/ BSTR Query,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRet ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058005d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGShape : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetStaticID))
+    long StaticID;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetShapes))
+    IVGShapesPtr Shapes;
+    __declspec(property(get=GetRectangle))
+    IVGRectanglePtr Rectangle;
+    __declspec(property(get=GetPositionX,put=PutPositionX))
+    double PositionX;
+    __declspec(property(get=GetSelectable))
+    VARIANT_BOOL Selectable;
+    __declspec(property(get=GetPositionY,put=PutPositionY))
+    double PositionY;
+    __declspec(property(get=GetSizeWidth,put=PutSizeWidth))
+    double SizeWidth;
+    __declspec(property(get=GetSizeHeight,put=PutSizeHeight))
+    double SizeHeight;
+    __declspec(property(get=GetEllipse))
+    IVGEllipsePtr Ellipse;
+    __declspec(property(get=GetPolygon))
+    IVGPolygonPtr Polygon;
+    __declspec(property(get=GetCurve))
+    IVGCurvePtr Curve;
+    __declspec(property(get=GetBitmap))
+    IVGBitmapPtr Bitmap;
+    __declspec(property(get=GetType))
+    enum cdrShapeType Type;
+    __declspec(property(get=GetOutline))
+    IVGOutlinePtr Outline;
+    __declspec(property(get=GetFill,put=PutFill))
+    IVGFillPtr Fill;
+    __declspec(property(get=GetText))
+    IVGTextPtr Text;
+    __declspec(property(get=GetTreeNode))
+    IVGTreeNodePtr TreeNode;
+    __declspec(property(get=GetVirtual))
+    VARIANT_BOOL Virtual;
+    __declspec(property(get=GetCanHaveFill))
+    VARIANT_BOOL CanHaveFill;
+    __declspec(property(get=GetCanHaveOutline))
+    VARIANT_BOOL CanHaveOutline;
+    __declspec(property(get=GetRotationAngle,put=PutRotationAngle))
+    double RotationAngle;
+    __declspec(property(get=GetIsSimpleShape))
+    VARIANT_BOOL IsSimpleShape;
+    __declspec(property(get=GetRotationCenterX,put=PutRotationCenterX))
+    double RotationCenterX;
+    __declspec(property(get=GetFillMode,put=PutFillMode))
+    enum cdrFillMode FillMode;
+    __declspec(property(get=GetRotationCenterY,put=PutRotationCenterY))
+    double RotationCenterY;
+    __declspec(property(get=GetLeftX,put=PutLeftX))
+    double LeftX;
+    __declspec(property(get=GetRightX,put=PutRightX))
+    double RightX;
+    __declspec(property(get=GetTopY,put=PutTopY))
+    double TopY;
+    __declspec(property(get=GetBottomY,put=PutBottomY))
+    double BottomY;
+    __declspec(property(get=GetOverprintBitmap,put=PutOverprintBitmap))
+    VARIANT_BOOL OverprintBitmap;
+    __declspec(property(get=GetEPS))
+    IVGEPSPtr EPS;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+    __declspec(property(get=GetCenterX,put=PutCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY,put=PutCenterY))
+    double CenterY;
+    __declspec(property(get=GetLayer,put=PutLayer))
+    IVGLayerPtr Layer;
+    __declspec(property(get=GetSnapPoints))
+    IVGSnapPointsPtr SnapPoints;
+    __declspec(property(get=GetConnector))
+    IVGConnectorPtr Connector;
+    __declspec(property(get=GetZOrder))
+    long ZOrder;
+    __declspec(property(get=GetPage))
+    IVGPagePtr Page;
+    __declspec(property(get=GetSpread))
+    IVGSpreadPtr Spread;
+    __declspec(property(get=GetPixelAlignedRendering,put=PutPixelAlignedRendering))
+    VARIANT_BOOL PixelAlignedRendering;
+    __declspec(property(get=GetProperties))
+    IVGPropertiesPtr Properties;
+    __declspec(property(get=GetBSpline))
+    IVGBSplinePtr BSpline;
+    __declspec(property(get=GetStyle))
+    IVGStylePtr Style;
+    __declspec(property(get=GetEffects))
+    IVGEffectsPtr Effects;
+    __declspec(property(get=GetEffect))
+    IVGEffectPtr Effect;
+    __declspec(property(get=GetTransformationMatrix,put=PutTransformationMatrix))
+    IVGTransformMatrixPtr TransformationMatrix;
+    __declspec(property(get=GetVisible,put=PutVisible))
+    VARIANT_BOOL Visible;
+    __declspec(property(get=GetLocked,put=PutLocked))
+    VARIANT_BOOL Locked;
+    __declspec(property(get=GetOriginalWidth))
+    double OriginalWidth;
+    __declspec(property(get=GetOriginalHeight))
+    double OriginalHeight;
+    __declspec(property(get=GetSelected,put=PutSelected))
+    VARIANT_BOOL Selected;
+    __declspec(property(get=GetGuide))
+    IVGGuidePtr Guide;
+    __declspec(property(get=GetPowerClip))
+    IVGPowerClipPtr PowerClip;
+    __declspec(property(get=GetPowerClipParent))
+    IVGShapePtr PowerClipParent;
+    __declspec(property(get=GetDrapeFill,put=PutDrapeFill))
+    VARIANT_BOOL DrapeFill;
+    __declspec(property(get=GetOverprintFill,put=PutOverprintFill))
+    VARIANT_BOOL OverprintFill;
+    __declspec(property(get=GetOverprintOutline,put=PutOverprintOutline))
+    VARIANT_BOOL OverprintOutline;
+    __declspec(property(get=GetURL))
+    IVGURLPtr URL;
+    __declspec(property(get=GetObjectData))
+    IVGDataItemsPtr ObjectData;
+    __declspec(property(get=GetCloneLink))
+    IVGCloneLinkPtr CloneLink;
+    __declspec(property(get=GetClones))
+    IVGShapeRangePtr Clones;
+    __declspec(property(get=GetAbsoluteHScale))
+    double AbsoluteHScale;
+    __declspec(property(get=GetAbsoluteVScale))
+    double AbsoluteVScale;
+    __declspec(property(get=GetAbsoluteSkew))
+    double AbsoluteSkew;
+    __declspec(property(get=GetTransparency))
+    IVGTransparencyPtr Transparency;
+    __declspec(property(get=GetParentGroup))
+    IVGShapePtr ParentGroup;
+    __declspec(property(get=GetNext))
+    IVGShapePtr Next[][][];
+    __declspec(property(get=GetPrevious))
+    IVGShapePtr Previous[][][];
+    __declspec(property(get=GetWrapText,put=PutWrapText))
+    enum cdrWrapStyle WrapText;
+    __declspec(property(get=GetTextWrapOffset,put=PutTextWrapOffset))
+    double TextWrapOffset;
+    __declspec(property(get=GetDisplayCurve))
+    IVGCurvePtr DisplayCurve;
+    __declspec(property(get=GetCustom))
+    IVGCustomShapePtr Custom;
+    __declspec(property(get=GetDimension))
+    IVGDimensionPtr Dimension;
+    __declspec(property(get=GetSymbol))
+    IVGSymbolPtr Symbol;
+    __declspec(property(get=GetOLE))
+    IVGOLEPtr OLE;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    long GetStaticID ( );
+    HRESULT ConvertToCurves ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    IVGShapesPtr GetShapes ( );
+    IVGRectanglePtr GetRectangle ( );
+    double GetPositionX ( );
+    void PutPositionX (
+        double pVal );
+    double GetPositionY ( );
+    void PutPositionY (
+        double pVal );
+    double GetSizeWidth ( );
+    void PutSizeWidth (
+        double pVal );
+    double GetSizeHeight ( );
+    void PutSizeHeight (
+        double pVal );
+    IVGEllipsePtr GetEllipse ( );
+    IVGPolygonPtr GetPolygon ( );
+    IVGCurvePtr GetCurve ( );
+    IVGBitmapPtr GetBitmap ( );
+    enum cdrShapeType GetType ( );
+    IVGOutlinePtr GetOutline ( );
+    IVGFillPtr GetFill ( );
+    IVGTextPtr GetText ( );
+    HRESULT Delete ( );
+    IVGShapePtr Duplicate (
+        double OffsetX,
+        double OffsetY );
+    HRESULT Skew (
+        double AngleX,
+        double AngleY );
+    HRESULT Move (
+        double DeltaX,
+        double DeltaY );
+    double GetRotationAngle ( );
+    void PutRotationAngle (
+        double pVal );
+    double GetRotationCenterX ( );
+    void PutRotationCenterX (
+        double pVal );
+    double GetRotationCenterY ( );
+    void PutRotationCenterY (
+        double pVal );
+    HRESULT Rotate (
+        double Angle );
+    IVGShapePtr ConvertToBitmap (
+        long BitDepth,
+        VARIANT_BOOL Grayscale,
+        VARIANT_BOOL Dithered,
+        VARIANT_BOOL TransparentBG,
+        long Resolution,
+        enum cdrAntiAliasingType AntiAliasing,
+        VARIANT_BOOL UseColorProfile,
+        VARIANT_BOOL MultiChannel,
+        VARIANT_BOOL AlwaysOverprintBlack,
+        long OverprintBlackLimit );
+    IVGShapePtr Group ( );
+    HRESULT Ungroup ( );
+    HRESULT UngroupAll ( );
+    HRESULT OrderToFront ( );
+    HRESULT OrderToBack ( );
+    HRESULT OrderForwardOne ( );
+    HRESULT OrderBackOne ( );
+    HRESULT OrderFrontOf (
+        struct IVGShape * Shape );
+    HRESULT OrderBackOf (
+        struct IVGShape * Shape );
+    VARIANT_BOOL OrderIsInFrontOf (
+        struct IVGShape * Shape );
+    HRESULT AddToSelection ( );
+    HRESULT RemoveFromSelection ( );
+    HRESULT Separate ( );
+    IVGLayerPtr GetLayer ( );
+    void PutLayer (
+        struct IVGLayer * ppVal );
+    IVGSnapPointsPtr GetSnapPoints ( );
+    IVGConnectorPtr GetConnector ( );
+    enum cdrPositionOfPointOverShape IsOnShape (
+        double x,
+        double y,
+        double HotArea );
+    IVGArrowHeadPtr CreateArrowHead ( );
+    HRESULT Copy ( );
+    HRESULT Cut ( );
+    IVGShapePtr Clone (
+        double OffsetX,
+        double OffsetY );
+    HRESULT Stretch (
+        double StretchX,
+        double StretchY,
+        VARIANT_BOOL StretchCharactersSize );
+    HRESULT SetPosition (
+        double PositionX,
+        double PositionY );
+    HRESULT SetSize (
+        double Width,
+        double Height );
+    HRESULT GetPosition (
+        double * PositionX,
+        double * PositionY );
+    HRESULT GetSize (
+        double * Width,
+        double * Height );
+    IVGPropertiesPtr GetProperties ( );
+    HRESULT OrderReverse ( );
+    IVGShapePtr Combine ( );
+    HRESULT BreakApart ( );
+    void PutFill (
+        struct IVGFill * ppVal );
+    IVGShapePtr Weld (
+        struct IVGShape * TargetShape,
+        VARIANT_BOOL LeaveSource,
+        VARIANT_BOOL LeaveTarget );
+    IVGShapePtr Trim (
+        struct IVGShape * TargetShape,
+        VARIANT_BOOL LeaveSource,
+        VARIANT_BOOL LeaveTarget );
+    IVGShapePtr Intersect (
+        struct IVGShape * TargetShape,
+        VARIANT_BOOL LeaveSource,
+        VARIANT_BOOL LeaveTarget );
+    IVGEffectsPtr GetEffects ( );
+    IVGEffectPtr GetEffect ( );
+    IVGEffectPtr CreateDropShadow (
+        enum cdrDropShadowType Type,
+        long Opacity,
+        long Feather,
+        double OffsetX,
+        double OffsetY,
+        struct IVGColor * Color,
+        enum cdrFeatherType FeatherType,
+        enum cdrEdgeType FeatherEdge,
+        double PerspectiveAngle,
+        double PerspectiveStretch,
+        long Fade,
+        enum cdrMergeMode MergeMode );
+    IVGEffectPtr CreateBlend (
+        struct IVGShape * Shape,
+        int Steps,
+        enum cdrFountainFillBlendType ColorBlendType,
+        enum cdrBlendMode Mode,
+        double Spacing,
+        double Angle,
+        VARIANT_BOOL Loop,
+        struct IVGShape * Path,
+        VARIANT_BOOL RotateShapes,
+        long SpacingAccel,
+        long ColorAccel,
+        VARIANT_BOOL AccelSize );
+    IVGEffectPtr CreateExtrude (
+        enum cdrExtrudeType Type,
+        enum cdrExtrudeVPType VPType,
+        double VPX,
+        double VPY,
+        double Depth,
+        enum cdrExtrudeShading Shading,
+        struct IVGColor * BaseColor,
+        struct IVGColor * ShadingColor,
+        double BevelDepth,
+        double BevelAngle,
+        struct IVGColor * BevelColor,
+        VARIANT_BOOL BevelOnly );
+    IVGEffectPtr CreateEnvelope (
+        long PresetIndex,
+        enum cdrEnvelopeMode Mode,
+        VARIANT_BOOL KeepLines );
+    HRESULT Flip (
+        enum cdrFlipAxes Axes );
+    VARIANT_BOOL GetLocked ( );
+    void PutLocked (
+        VARIANT_BOOL pVal );
+    double GetOriginalWidth ( );
+    double GetOriginalHeight ( );
+    VARIANT_BOOL GetSelected ( );
+    void PutSelected (
+        VARIANT_BOOL pVal );
+    IVGEffectPtr CreateLens (
+        enum cdrLensType Type,
+        double RateOrMagnification,
+        struct IVGColor * Color1,
+        struct IVGColor * Color2,
+        enum cdrFountainFillBlendType ColorMapPalette );
+    IVGEffectPtr CreatePerspective (
+        const _variant_t & HorizVanishPointX = vtMissing,
+        const _variant_t & HorizVanishPointY = vtMissing,
+        const _variant_t & VertVanishPointX = vtMissing,
+        const _variant_t & VertVanishPointY = vtMissing );
+    IVGEffectPtr CreateContour (
+        enum cdrContourDirection Direction,
+        double Offset,
+        long Steps,
+        enum cdrFountainFillBlendType BlendType,
+        struct IVGColor * OutlineColor,
+        struct IVGColor * FillColor,
+        struct IVGColor * FillColor2,
+        long SpacingAccel,
+        long ColorAccel,
+        enum cdrContourEndCapType EndCapType,
+        enum cdrContourCornerType CornerType,
+        double MiterLimit );
+    IVGEffectPtr CreatePushPullDistortion (
+        double OriginX,
+        double OriginY,
+        long Amplitude );
+    IVGEffectPtr CreateZipperDistortion (
+        double OriginX,
+        double OriginY,
+        long Amplitude,
+        long Frequency,
+        VARIANT_BOOL Random,
+        VARIANT_BOOL Smooth,
+        VARIANT_BOOL Local );
+    IVGEffectPtr CreateTwisterDistortion (
+        double OriginX,
+        double OriginY,
+        double Angle );
+    IVGGuidePtr GetGuide ( );
+    HRESULT AddToPowerClip (
+        struct IVGShape * Shape,
+        enum cdrTriState CenterInContainer );
+    HRESULT RemoveFromContainer (
+        long Level );
+    IVGPowerClipPtr GetPowerClip ( );
+    IVGShapePtr GetPowerClipParent ( );
+    VARIANT_BOOL GetDrapeFill ( );
+    void PutDrapeFill (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOverprintFill ( );
+    void PutOverprintFill (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOverprintOutline ( );
+    void PutOverprintOutline (
+        VARIANT_BOOL pVal );
+    IVGURLPtr GetURL ( );
+    IVGDataItemsPtr GetObjectData ( );
+    IVGCloneLinkPtr GetCloneLink ( );
+    IVGShapeRangePtr GetClones ( );
+    double GetAbsoluteHScale ( );
+    double GetAbsoluteVScale ( );
+    double GetAbsoluteSkew ( );
+    IVGTransparencyPtr GetTransparency ( );
+    HRESULT GetMatrix (
+        double * d11,
+        double * d12,
+        double * d21,
+        double * d22,
+        double * tx,
+        double * ty );
+    HRESULT SetMatrix (
+        double d11,
+        double d12,
+        double d21,
+        double d22,
+        double tx,
+        double ty );
+    IVGShapePtr ConvertToBitmapEx (
+        enum cdrImageType Mode,
+        VARIANT_BOOL Dithered,
+        VARIANT_BOOL Transparent,
+        long Resolution,
+        enum cdrAntiAliasingType AntiAliasing,
+        VARIANT_BOOL UseColorProfile,
+        VARIANT_BOOL AlwaysOverprintBlack,
+        long OverprintBlackLimit );
+    HRESULT SkewEx (
+        double AngleX,
+        double AngleY,
+        double CenterX,
+        double CenterY );
+    HRESULT RotateEx (
+        double Angle,
+        double CenterX,
+        double CenterY );
+    IVGShapePtr GetParentGroup ( );
+    HRESULT SetBoundingBox (
+        double x,
+        double y,
+        double Width,
+        double Height,
+        VARIANT_BOOL KeepAspect,
+        enum cdrReferencePoint ReferencePoint );
+    HRESULT CreateSelection ( );
+    HRESULT SetRotationCenter (
+        double x,
+        double y );
+    HRESULT ClearEffect (
+        enum cdrEffectType Type );
+    IVGShapePtr GetNext (
+        enum cdrShapeLevel Level,
+        VARIANT_BOOL EnterGroups,
+        VARIANT_BOOL Loop );
+    IVGShapePtr GetPrevious (
+        enum cdrShapeLevel Level,
+        VARIANT_BOOL EnterGroups,
+        VARIANT_BOOL Loop );
+    HRESULT StretchEx (
+        double CenterX,
+        double CenterY,
+        double StretchX,
+        double StretchY,
+        VARIANT_BOOL StretchCharactersSize );
+    HRESULT SetSizeEx (
+        double CenterX,
+        double CenterY,
+        double Width,
+        double Height );
+    HRESULT GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height,
+        VARIANT_BOOL UseOutline );
+    IVGShapeRangePtr UngroupEx ( );
+    IVGShapeRangePtr UngroupAllEx ( );
+    IVGShapeRangePtr BreakApartEx ( );
+    HRESULT ApplyStyle (
+        _bstr_t StyleName );
+    enum cdrWrapStyle GetWrapText ( );
+    void PutWrapText (
+        enum cdrWrapStyle pVal );
+    double GetTextWrapOffset ( );
+    void PutTextWrapOffset (
+        double pVal );
+    IVGShapePtr PlaceTextInside (
+        struct IVGShape * TextShape );
+    IVGCurvePtr GetDisplayCurve ( );
+    _variant_t CustomCommand (
+        _bstr_t ComponentID,
+        _bstr_t CommandID,
+        SAFEARRAY * * Parameters );
+    IVGCustomShapePtr GetCustom ( );
+    IVGEffectPtr CreateCustomEffect (
+        _bstr_t EffectID,
+        SAFEARRAY * * Parameters );
+    IVGEffectPtr CreateCustomDistortion (
+        _bstr_t DistortionID,
+        SAFEARRAY * * Parameters );
+    HRESULT AlignToShape (
+        enum cdrAlignType Type,
+        struct IVGShape * Shape,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToShapeRange (
+        enum cdrAlignType Type,
+        struct IVGShapeRange * ShapeRange,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToPage (
+        enum cdrAlignType Type,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToPageCenter (
+        enum cdrAlignType Type,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToGrid (
+        enum cdrAlignType Type,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToPoint (
+        enum cdrAlignType Type,
+        double x,
+        double y,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    IVGDimensionPtr GetDimension ( );
+    IVGSymbolPtr GetSymbol ( );
+    IVGShapePtr ConvertToSymbol (
+        _bstr_t Name );
+    IVGOLEPtr GetOLE ( );
+    IVGShapeRangePtr DuplicateAsRange (
+        double OffsetX,
+        double OffsetY );
+    IVGShapeRangePtr CloneAsRange (
+        double OffsetX,
+        double OffsetY );
+    HRESULT MoveToLayer (
+        struct IVGLayer * Layer );
+    IVGShapePtr CopyToLayer (
+        struct IVGLayer * Layer );
+    IVGShapeRangePtr CopyToLayerAsRange (
+        struct IVGLayer * Layer );
+    HRESULT ClearTransformations ( );
+    HRESULT Distribute (
+        enum cdrDistributeType Type,
+        VARIANT_BOOL PageExtent );
+    VARIANT_BOOL CompareTo (
+        struct IVGShape * Shape,
+        enum cdrCompareType CompareType,
+        enum cdrCompareCondition Condition );
+    VARIANT_BOOL GetSelectable ( );
+    HRESULT ApplyEffectInvert ( );
+    HRESULT ApplyEffectPosterize (
+        long Level );
+    HRESULT ApplyEffectBCI (
+        long Brighness,
+        long Contrast,
+        long Intensity );
+    HRESULT ApplyEffectColorBalance (
+        long CyanRed,
+        long MagentaGreen,
+        long YellowBlue,
+        VARIANT_BOOL ApplyToShadows,
+        VARIANT_BOOL ApplyToMidtones,
+        VARIANT_BOOL ApplyToHighlights,
+        VARIANT_BOOL PreserveLuminance );
+    HRESULT ApplyEffectGamma (
+        double Gamma );
+    HRESULT ApplyEffectHSL (
+        const _variant_t & Hue,
+        const _variant_t & Saturation,
+        const _variant_t & Lightness );
+    HRESULT TransformMatrix (
+        double d11,
+        double d12,
+        double d21,
+        double d22,
+        double tx,
+        double ty );
+    HRESULT AffineTransform (
+        double d11,
+        double d12,
+        double d21,
+        double d22,
+        double CenterX,
+        double CenterY );
+    IVGTreeNodePtr GetTreeNode ( );
+    HRESULT ReplaceWith (
+        struct IVGShape * VirtualShape );
+    VARIANT_BOOL GetVirtual ( );
+    VARIANT_BOOL GetCanHaveFill ( );
+    VARIANT_BOOL GetCanHaveOutline ( );
+    VARIANT_BOOL GetIsSimpleShape ( );
+    HRESULT Fillet (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT Chamfer (
+        double DistanceA,
+        double DistanceB,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT Scallop (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    enum cdrFillMode GetFillMode ( );
+    void PutFillMode (
+        enum cdrFillMode pVal );
+    double GetLeftX ( );
+    double GetRightX ( );
+    double GetTopY ( );
+    double GetBottomY ( );
+    IVGShapeRangePtr StepAndRepeat (
+        long NumCopies,
+        double DistanceX,
+        double DistanceY,
+        enum cdrDistanceMode ModeX,
+        enum cdrDirection DirectionX,
+        enum cdrDistanceMode ModeY,
+        enum cdrDirection DirectionY );
+    VARIANT_BOOL GetOverprintBitmap ( );
+    void PutOverprintBitmap (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL IsTypeAnyOf (
+        SAFEARRAY * * TypeList );
+    IVGShapeRangePtr GetLinkedShapes (
+        enum cdrShapeLinkType LinkType );
+    IVGEffectPtr CreateEnvelopeFromShape (
+        struct IVGShape * Source,
+        enum cdrEnvelopeMode Mode,
+        VARIANT_BOOL KeepLines,
+        enum cdrEnvelopeCopyMode CopyMode,
+        const _variant_t & CornerIndices = vtMissing );
+    IVGEffectPtr CreateEnvelopeFromCurve (
+        struct IVGCurve * Source,
+        enum cdrEnvelopeMode Mode,
+        VARIANT_BOOL KeepLines,
+        enum cdrEnvelopeCopyMode CopyMode,
+        const _variant_t & CornerIndices = vtMissing );
+    IVGEPSPtr GetEPS ( );
+    _variant_t Evaluate (
+        _bstr_t Expression );
+    IVGRectPtr GetBoundingBox ( );
+    HRESULT GetPositionEx (
+        enum cdrReferencePoint ReferencePoint,
+        double * x,
+        double * y );
+    HRESULT SetPositionEx (
+        enum cdrReferencePoint ReferencePoint,
+        double x,
+        double y );
+    double GetCenterX ( );
+    void PutCenterX (
+        double pVal );
+    double GetCenterY ( );
+    void PutCenterY (
+        double pVal );
+    void PutLeftX (
+        double pVal );
+    void PutRightX (
+        double pVal );
+    void PutTopY (
+        double pVal );
+    void PutBottomY (
+        double pVal );
+    long GetZOrder ( );
+    VARIANT_BOOL CompareToEx (
+        struct IVGShape * Shape2,
+        _bstr_t Condition,
+        const _variant_t & Data = vtMissing );
+    VARIANT_BOOL CopyPropertiesFrom (
+        struct IVGShape * Source,
+        enum cdrCopyProperties Properties );
+    enum cdrOverprintState GetOverprintFillState ( );
+    enum cdrOverprintState GetOverprintOutlineState ( );
+    IVGPagePtr GetPage ( );
+    IVGSnapPointsPtr SnapPointsOfType (
+        enum cdrPointType TypeSet );
+    IVGSnapPointPtr FindSnapPoint (
+        _bstr_t ReferenceData );
+    IVGSpreadPtr GetSpread ( );
+    VARIANT_BOOL GetPixelAlignedRendering ( );
+    void PutPixelAlignedRendering (
+        VARIANT_BOOL pVal );
+    IVGBSplinePtr GetBSpline ( );
+    IVGDocumentPtr CreateDocumentFrom (
+        VARIANT_BOOL TemporaryDocument );
+    HRESULT AlignAndDistribute (
+        enum cdrAlignDistributeH MethodH,
+        enum cdrAlignDistributeV MethodV,
+        enum cdrAlignShapesTo AlignTo,
+        enum cdrDistributeArea DistributeArea,
+        VARIANT_BOOL UseOutline,
+        enum cdrTextAlignOrigin TextAlignOrigin,
+        double PointX,
+        double PointY,
+        struct IVGRect * DistributeRect );
+    IVGStylePtr GetStyle ( );
+    IVGShapePtr CreateBoundary (
+        double x,
+        double y,
+        VARIANT_BOOL PlaceOnTop,
+        VARIANT_BOOL DeleteSource );
+    IVGShapeRangePtr EqualDivide (
+        long Divisions,
+        double Gap,
+        VARIANT_BOOL Group,
+        VARIANT_BOOL Combine,
+        VARIANT_BOOL DeleteSource );
+    IVGShapePtr Project (
+        enum cdrProjectPlane Plane,
+        enum cdrReferencePoint ReferencePoint,
+        VARIANT_BOOL ApplyToDuplicate );
+    IVGShapePtr Unproject (
+        enum cdrProjectPlane Plane,
+        enum cdrReferencePoint ReferencePoint,
+        VARIANT_BOOL ApplyToDuplicate );
+    IVGTransformMatrixPtr GetTransformationMatrix ( );
+    void PutTransformationMatrix (
+        struct IVGTransformMatrix * TransformMatrix );
+    HRESULT ApplyTransformMatrix (
+        struct IVGTransformMatrix * TransformMatrix );
+    VARIANT_BOOL GetVisible ( );
+    void PutVisible (
+        VARIANT_BOOL pVal );
+    HRESULT ModifyToolShapeProperties (
+        struct IVGProperties * ShapePropertiesToModify );
+    _bstr_t GetToolShapeGuid ( );
+    IVGShapeRangePtr CreateParallelCurves (
+        long Count,
+        double distanceBetweenCurves );
+    IVGShapePtr FindShapeAtPoint (
+        double x,
+        double y,
+        VARIANT_BOOL TreatAsFilled );
+    SAFEARRAY * GetColorTypes ( );
+    SAFEARRAY * GetColors (
+        long MaxBitmapColors );
+    HRESULT FlattenEffects ( );
+    IVGEffectPtr CreateInnerShadow (
+        long Opacity,
+        long Feather,
+        double OffsetX,
+        double OffsetY,
+        struct IVGColor * Color,
+        enum cdrFeatherType FeatherType,
+        enum cdrEdgeType FeatherEdge,
+        enum cdrMergeMode MergeMode,
+        double Depth );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StaticID (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToCurves ( ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Shapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Rectangle (
+        /*[out,retval]*/ struct IVGRectangle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Ellipse (
+        /*[out,retval]*/ struct IVGEllipse * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Polygon (
+        /*[out,retval]*/ struct IVGPolygon * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Curve (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Bitmap (
+        /*[out,retval]*/ struct IVGBitmap * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrShapeType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Outline (
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Fill (
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Text (
+        /*[out,retval]*/ struct IVGText * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Duplicate (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Skew (
+        /*[in]*/ double AngleX,
+        /*[in]*/ double AngleY ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double DeltaX,
+        /*[in]*/ double DeltaY ) = 0;
+      virtual HRESULT __stdcall get_RotationAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationCenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationCenterX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationCenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationCenterY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_Rotate (
+        /*[in]*/ double Angle ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToBitmap (
+        /*[in]*/ long BitDepth,
+        /*[in]*/ VARIANT_BOOL Grayscale,
+        /*[in]*/ VARIANT_BOOL Dithered,
+        /*[in]*/ VARIANT_BOOL TransparentBG,
+        /*[in]*/ long Resolution,
+        /*[in]*/ enum cdrAntiAliasingType AntiAliasing,
+        /*[in]*/ VARIANT_BOOL UseColorProfile,
+        /*[in]*/ VARIANT_BOOL MultiChannel,
+        /*[in]*/ VARIANT_BOOL AlwaysOverprintBlack,
+        /*[in]*/ long OverprintBlackLimit,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Group (
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Ungroup ( ) = 0;
+      virtual HRESULT __stdcall raw_UngroupAll ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderToFront ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderToBack ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderForwardOne ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderBackOne ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderFrontOf (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_OrderBackOf (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_OrderIsInFrontOf (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[out,retval]*/ VARIANT_BOOL * pbResult ) = 0;
+      virtual HRESULT __stdcall raw_AddToSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_Separate ( ) = 0;
+      virtual HRESULT __stdcall get_Layer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Layer (
+        /*[in]*/ struct IVGLayer * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SnapPoints (
+        /*[out,retval]*/ struct IVGSnapPoints * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Connector (
+        /*[out,retval]*/ struct IVGConnector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IsOnShape (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ enum cdrPositionOfPointOverShape * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateArrowHead (
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Copy ( ) = 0;
+      virtual HRESULT __stdcall raw_Cut ( ) = 0;
+      virtual HRESULT __stdcall raw_Clone (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Stretch (
+        /*[in]*/ double StretchX,
+        /*[in]*/ double StretchY,
+        /*[in]*/ VARIANT_BOOL StretchCharactersSize ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall raw_SetSize (
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall raw_GetPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall raw_GetSize (
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall get_Properties (
+        /*[out,retval]*/ struct IVGProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_OrderReverse ( ) = 0;
+      virtual HRESULT __stdcall raw_Combine (
+        /*[out,retval]*/ struct IVGShape * * ppRetVal ) = 0;
+      virtual HRESULT __stdcall raw_BreakApart ( ) = 0;
+      virtual HRESULT __stdcall put_Fill (
+        /*[in]*/ struct IVGFill * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Weld (
+        /*[in]*/ struct IVGShape * TargetShape,
+        /*[in]*/ VARIANT_BOOL LeaveSource,
+        /*[in]*/ VARIANT_BOOL LeaveTarget,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Trim (
+        /*[in]*/ struct IVGShape * TargetShape,
+        /*[in]*/ VARIANT_BOOL LeaveSource,
+        /*[in]*/ VARIANT_BOOL LeaveTarget,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Intersect (
+        /*[in]*/ struct IVGShape * TargetShape,
+        /*[in]*/ VARIANT_BOOL LeaveSource,
+        /*[in]*/ VARIANT_BOOL LeaveTarget,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall get_Effects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Effect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateDropShadow (
+        /*[in]*/ enum cdrDropShadowType Type,
+        /*[in]*/ long Opacity,
+        /*[in]*/ long Feather,
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ enum cdrFeatherType FeatherType,
+        /*[in]*/ enum cdrEdgeType FeatherEdge,
+        /*[in]*/ double PerspectiveAngle,
+        /*[in]*/ double PerspectiveStretch,
+        /*[in]*/ long Fade,
+        /*[in]*/ enum cdrMergeMode MergeMode,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBlend (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ int Steps,
+        /*[in]*/ enum cdrFountainFillBlendType ColorBlendType,
+        /*[in]*/ enum cdrBlendMode Mode,
+        /*[in]*/ double Spacing,
+        /*[in]*/ double Angle,
+        /*[in]*/ VARIANT_BOOL Loop,
+        /*[in]*/ struct IVGShape * Path,
+        /*[in]*/ VARIANT_BOOL RotateShapes,
+        /*[in]*/ long SpacingAccel,
+        /*[in]*/ long ColorAccel,
+        /*[in]*/ VARIANT_BOOL AccelSize,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateExtrude (
+        /*[in]*/ enum cdrExtrudeType Type,
+        /*[in]*/ enum cdrExtrudeVPType VPType,
+        /*[in]*/ double VPX,
+        /*[in]*/ double VPY,
+        /*[in]*/ double Depth,
+        /*[in]*/ enum cdrExtrudeShading Shading,
+        /*[in]*/ struct IVGColor * BaseColor,
+        /*[in]*/ struct IVGColor * ShadingColor,
+        /*[in]*/ double BevelDepth,
+        /*[in]*/ double BevelAngle,
+        /*[in]*/ struct IVGColor * BevelColor,
+        /*[in]*/ VARIANT_BOOL BevelOnly,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateEnvelope (
+        /*[in]*/ long PresetIndex,
+        /*[in]*/ enum cdrEnvelopeMode Mode,
+        /*[in]*/ VARIANT_BOOL KeepLines,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Flip (
+        /*[in]*/ enum cdrFlipAxes Axes ) = 0;
+      virtual HRESULT __stdcall get_Locked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Locked (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginalWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginalHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Selected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Selected (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateLens (
+        /*[in]*/ enum cdrLensType Type,
+        /*[in]*/ double RateOrMagnification,
+        /*[in]*/ struct IVGColor * Color1,
+        /*[in]*/ struct IVGColor * Color2,
+        /*[in]*/ enum cdrFountainFillBlendType ColorMapPalette,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreatePerspective (
+        /*[in]*/ VARIANT HorizVanishPointX,
+        /*[in]*/ VARIANT HorizVanishPointY,
+        /*[in]*/ VARIANT VertVanishPointX,
+        /*[in]*/ VARIANT VertVanishPointY,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateContour (
+        /*[in]*/ enum cdrContourDirection Direction,
+        /*[in]*/ double Offset,
+        /*[in]*/ long Steps,
+        /*[in]*/ enum cdrFountainFillBlendType BlendType,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ struct IVGColor * FillColor,
+        /*[in]*/ struct IVGColor * FillColor2,
+        /*[in]*/ long SpacingAccel,
+        /*[in]*/ long ColorAccel,
+        /*[in]*/ enum cdrContourEndCapType EndCapType,
+        /*[in]*/ enum cdrContourCornerType CornerType,
+        /*[in]*/ double MiterLimit,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreatePushPullDistortion (
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[in]*/ long Amplitude,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateZipperDistortion (
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[in]*/ long Amplitude,
+        /*[in]*/ long Frequency,
+        /*[in]*/ VARIANT_BOOL Random,
+        /*[in]*/ VARIANT_BOOL Smooth,
+        /*[in]*/ VARIANT_BOOL Local,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateTwisterDistortion (
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[in]*/ double Angle,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Guide (
+        /*[out,retval]*/ struct IVGGuide * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddToPowerClip (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ enum cdrTriState CenterInContainer ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromContainer (
+        /*[in]*/ long Level ) = 0;
+      virtual HRESULT __stdcall get_PowerClip (
+        /*[out,retval]*/ struct IVGPowerClip * * ppPowerClip ) = 0;
+      virtual HRESULT __stdcall get_PowerClipParent (
+        /*[out,retval]*/ struct IVGShape * * ppShape ) = 0;
+      virtual HRESULT __stdcall get_DrapeFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DrapeFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OverprintFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OverprintFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OverprintOutline (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OverprintOutline (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_URL (
+        /*[out,retval]*/ struct IVGURL * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ObjectData (
+        /*[out,retval]*/ struct IVGDataItems * * ppDataItems ) = 0;
+      virtual HRESULT __stdcall get_CloneLink (
+        /*[out,retval]*/ struct IVGCloneLink * * ppCloneLink ) = 0;
+      virtual HRESULT __stdcall get_Clones (
+        /*[out,retval]*/ struct IVGShapeRange * * ppShapeRange ) = 0;
+      virtual HRESULT __stdcall get_AbsoluteHScale (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_AbsoluteVScale (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_AbsoluteSkew (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Transparency (
+        /*[out,retval]*/ struct IVGTransparency * * ppTransparency ) = 0;
+      virtual HRESULT __stdcall raw_GetMatrix (
+        /*[out]*/ double * d11,
+        /*[out]*/ double * d12,
+        /*[out]*/ double * d21,
+        /*[out]*/ double * d22,
+        /*[out]*/ double * tx,
+        /*[out]*/ double * ty ) = 0;
+      virtual HRESULT __stdcall raw_SetMatrix (
+        /*[in]*/ double d11,
+        /*[in]*/ double d12,
+        /*[in]*/ double d21,
+        /*[in]*/ double d22,
+        /*[in]*/ double tx,
+        /*[in]*/ double ty ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToBitmapEx (
+        /*[in]*/ enum cdrImageType Mode,
+        /*[in]*/ VARIANT_BOOL Dithered,
+        /*[in]*/ VARIANT_BOOL Transparent,
+        /*[in]*/ long Resolution,
+        /*[in]*/ enum cdrAntiAliasingType AntiAliasing,
+        /*[in]*/ VARIANT_BOOL UseColorProfile,
+        /*[in]*/ VARIANT_BOOL AlwaysOverprintBlack,
+        /*[in]*/ long OverprintBlackLimit,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_SkewEx (
+        /*[in]*/ double AngleX,
+        /*[in]*/ double AngleY,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY ) = 0;
+      virtual HRESULT __stdcall raw_RotateEx (
+        /*[in]*/ double Angle,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY ) = 0;
+      virtual HRESULT __stdcall get_ParentGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetBoundingBox (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[in]*/ VARIANT_BOOL KeepAspect,
+        /*[in]*/ enum cdrReferencePoint ReferencePoint ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_SetRotationCenter (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_ClearEffect (
+        /*[in]*/ enum cdrEffectType Type ) = 0;
+      virtual HRESULT __stdcall get_Next (
+        /*[in]*/ enum cdrShapeLevel Level,
+        /*[in]*/ VARIANT_BOOL EnterGroups,
+        /*[in]*/ VARIANT_BOOL Loop,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Previous (
+        /*[in]*/ enum cdrShapeLevel Level,
+        /*[in]*/ VARIANT_BOOL EnterGroups,
+        /*[in]*/ VARIANT_BOOL Loop,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_StretchEx (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double StretchX,
+        /*[in]*/ double StretchY,
+        /*[in]*/ VARIANT_BOOL StretchCharactersSize ) = 0;
+      virtual HRESULT __stdcall raw_SetSizeEx (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height,
+        /*[in]*/ VARIANT_BOOL UseOutline ) = 0;
+      virtual HRESULT __stdcall raw_UngroupEx (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_UngroupAllEx (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BreakApartEx (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyStyle (
+        /*[in]*/ BSTR StyleName ) = 0;
+      virtual HRESULT __stdcall get_WrapText (
+        /*[out,retval]*/ enum cdrWrapStyle * pVal ) = 0;
+      virtual HRESULT __stdcall put_WrapText (
+        /*[in]*/ enum cdrWrapStyle pVal ) = 0;
+      virtual HRESULT __stdcall get_TextWrapOffset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextWrapOffset (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_PlaceTextInside (
+        /*[in]*/ struct IVGShape * TextShape,
+        /*[out,retval]*/ struct IVGShape * * pVal ) = 0;
+      virtual HRESULT __stdcall get_DisplayCurve (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CustomCommand (
+        /*[in]*/ BSTR ComponentID,
+        /*[in]*/ BSTR CommandID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall get_Custom (
+        /*[out,retval]*/ struct IVGCustomShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCustomEffect (
+        /*[in]*/ BSTR EffectID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCustomDistortion (
+        /*[in]*/ BSTR DistortionID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AlignToShape (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToShapeRange (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ struct IVGShapeRange * ShapeRange,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToPage (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToPageCenter (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToGrid (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToPoint (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall get_Dimension (
+        /*[out,retval]*/ struct IVGDimension * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Symbol (
+        /*[out,retval]*/ struct IVGSymbol * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToSymbol (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OLE (
+        /*[out,retval]*/ struct IVGOLE * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_DuplicateAsRange (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_CloneAsRange (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_MoveToLayer (
+        /*[in]*/ struct IVGLayer * Layer ) = 0;
+      virtual HRESULT __stdcall raw_CopyToLayer (
+        /*[in]*/ struct IVGLayer * Layer,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyToLayerAsRange (
+        /*[in]*/ struct IVGLayer * Layer,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ClearTransformations ( ) = 0;
+      virtual HRESULT __stdcall raw_Distribute (
+        /*[in]*/ enum cdrDistributeType Type,
+        /*[in]*/ VARIANT_BOOL PageExtent ) = 0;
+      virtual HRESULT __stdcall raw_CompareTo (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ enum cdrCompareType CompareType,
+        /*[in]*/ enum cdrCompareCondition Condition,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Selectable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectInvert ( ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectPosterize (
+        /*[in]*/ long Level ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectBCI (
+        /*[in]*/ long Brighness,
+        /*[in]*/ long Contrast,
+        /*[in]*/ long Intensity ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectColorBalance (
+        /*[in]*/ long CyanRed,
+        /*[in]*/ long MagentaGreen,
+        /*[in]*/ long YellowBlue,
+        /*[in]*/ VARIANT_BOOL ApplyToShadows,
+        /*[in]*/ VARIANT_BOOL ApplyToMidtones,
+        /*[in]*/ VARIANT_BOOL ApplyToHighlights,
+        /*[in]*/ VARIANT_BOOL PreserveLuminance ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectGamma (
+        /*[in]*/ double Gamma ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectHSL (
+        /*[in]*/ VARIANT Hue,
+        /*[in]*/ VARIANT Saturation,
+        /*[in]*/ VARIANT Lightness ) = 0;
+      virtual HRESULT __stdcall raw_TransformMatrix (
+        /*[in]*/ double d11,
+        /*[in]*/ double d12,
+        /*[in]*/ double d21,
+        /*[in]*/ double d22,
+        /*[in]*/ double tx,
+        /*[in]*/ double ty ) = 0;
+      virtual HRESULT __stdcall raw_AffineTransform (
+        /*[in]*/ double d11,
+        /*[in]*/ double d12,
+        /*[in]*/ double d21,
+        /*[in]*/ double d22,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY ) = 0;
+      virtual HRESULT __stdcall get_TreeNode (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ReplaceWith (
+        /*[in]*/ struct IVGShape * VirtualShape ) = 0;
+      virtual HRESULT __stdcall get_Virtual (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanHaveFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanHaveOutline (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSimpleShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Fillet (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_Chamfer (
+        /*[in]*/ double DistanceA,
+        /*[in]*/ double DistanceB,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_Scallop (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall get_FillMode (
+        /*[out,retval]*/ enum cdrFillMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_FillMode (
+        /*[in]*/ enum cdrFillMode pVal ) = 0;
+      virtual HRESULT __stdcall get_LeftX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_RightX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_TopY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_BottomY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_StepAndRepeat (
+        /*[in]*/ long NumCopies,
+        /*[in]*/ double DistanceX,
+        /*[in]*/ double DistanceY,
+        /*[in]*/ enum cdrDistanceMode ModeX,
+        /*[in]*/ enum cdrDirection DirectionX,
+        /*[in]*/ enum cdrDistanceMode ModeY,
+        /*[in]*/ enum cdrDirection DirectionY,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OverprintBitmap (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OverprintBitmap (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsTypeAnyOf (
+        /*[in]*/ SAFEARRAY * * TypeList,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetLinkedShapes (
+        /*[in]*/ enum cdrShapeLinkType LinkType,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateEnvelopeFromShape (
+        /*[in]*/ struct IVGShape * Source,
+        /*[in]*/ enum cdrEnvelopeMode Mode,
+        /*[in]*/ VARIANT_BOOL KeepLines,
+        /*[in]*/ enum cdrEnvelopeCopyMode CopyMode,
+        /*[in]*/ VARIANT CornerIndices,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateEnvelopeFromCurve (
+        /*[in]*/ struct IVGCurve * Source,
+        /*[in]*/ enum cdrEnvelopeMode Mode,
+        /*[in]*/ VARIANT_BOOL KeepLines,
+        /*[in]*/ enum cdrEnvelopeCopyMode CopyMode,
+        /*[in]*/ VARIANT CornerIndices,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EPS (
+        /*[out,retval]*/ struct IVGEPS * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Evaluate (
+        /*[in]*/ BSTR Expression,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPositionEx (
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[out]*/ double * x,
+        /*[out]*/ double * y ) = 0;
+      virtual HRESULT __stdcall raw_SetPositionEx (
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_LeftX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_RightX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_TopY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_BottomY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_ZOrder (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CompareToEx (
+        /*[in]*/ struct IVGShape * Shape2,
+        /*[in]*/ BSTR Condition,
+        /*[in]*/ VARIANT Data,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyPropertiesFrom (
+        /*[in]*/ struct IVGShape * Source,
+        /*[in]*/ enum cdrCopyProperties Properties,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetOverprintFillState (
+        /*[out,retval]*/ enum cdrOverprintState * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetOverprintOutlineState (
+        /*[out,retval]*/ enum cdrOverprintState * pVal ) = 0;
+      virtual HRESULT __stdcall get_Page (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SnapPointsOfType (
+        /*[in]*/ enum cdrPointType TypeSet,
+        /*[out,retval]*/ struct IVGSnapPoints * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindSnapPoint (
+        /*[in]*/ BSTR ReferenceData,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Spread (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PixelAlignedRendering (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PixelAlignedRendering (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BSpline (
+        /*[out,retval]*/ struct IVGBSpline * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateDocumentFrom (
+        /*[in]*/ VARIANT_BOOL TemporaryDocument,
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AlignAndDistribute (
+        /*[in]*/ enum cdrAlignDistributeH MethodH,
+        /*[in]*/ enum cdrAlignDistributeV MethodV,
+        /*[in]*/ enum cdrAlignShapesTo AlignTo,
+        /*[in]*/ enum cdrDistributeArea DistributeArea,
+        /*[in]*/ VARIANT_BOOL UseOutline,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin,
+        /*[in]*/ double PointX,
+        /*[in]*/ double PointY,
+        /*[in]*/ struct IVGRect * DistributeRect ) = 0;
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateBoundary (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL PlaceOnTop,
+        /*[in]*/ VARIANT_BOOL DeleteSource,
+        /*[out,retval]*/ struct IVGShape * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_EqualDivide (
+        /*[in]*/ long Divisions,
+        /*[in]*/ double Gap,
+        /*[in]*/ VARIANT_BOOL Group,
+        /*[in]*/ VARIANT_BOOL Combine,
+        /*[in]*/ VARIANT_BOOL DeleteSource,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Project (
+        /*[in]*/ enum cdrProjectPlane Plane,
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ VARIANT_BOOL ApplyToDuplicate,
+        /*[out,retval]*/ struct IVGShape * * ppRetVal ) = 0;
+      virtual HRESULT __stdcall raw_Unproject (
+        /*[in]*/ enum cdrProjectPlane Plane,
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ VARIANT_BOOL ApplyToDuplicate,
+        /*[out,retval]*/ struct IVGShape * * ppRetVal ) = 0;
+      virtual HRESULT __stdcall get_TransformationMatrix (
+        /*[out,retval]*/ struct IVGTransformMatrix * * TransformMatrix ) = 0;
+      virtual HRESULT __stdcall put_TransformationMatrix (
+        /*[in]*/ struct IVGTransformMatrix * TransformMatrix ) = 0;
+      virtual HRESULT __stdcall raw_ApplyTransformMatrix (
+        /*[in]*/ struct IVGTransformMatrix * TransformMatrix ) = 0;
+      virtual HRESULT __stdcall get_Visible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Visible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_ModifyToolShapeProperties (
+        /*[in]*/ struct IVGProperties * ShapePropertiesToModify ) = 0;
+      virtual HRESULT __stdcall raw_GetToolShapeGuid (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateParallelCurves (
+        /*[in]*/ long Count,
+        /*[in]*/ double distanceBetweenCurves,
+        /*[out,retval]*/ struct IVGShapeRange * * ppParallels ) = 0;
+      virtual HRESULT __stdcall raw_FindShapeAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL TreatAsFilled,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_GetColorTypes (
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetColors (
+        /*[in]*/ long MaxBitmapColors,
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FlattenEffects ( ) = 0;
+      virtual HRESULT __stdcall raw_CreateInnerShadow (
+        /*[in]*/ long Opacity,
+        /*[in]*/ long Feather,
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ enum cdrFeatherType FeatherType,
+        /*[in]*/ enum cdrEdgeType FeatherEdge,
+        /*[in]*/ enum cdrMergeMode MergeMode,
+        /*[in]*/ double Depth,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058001a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCustomEffect : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEffectID))
+    _bstr_t EffectID;
+    __declspec(property(get=GetEffectGroup))
+    IVGShapePtr EffectGroup;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetEffectID ( );
+    IVGShapePtr GetEffectGroup ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_EffectID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_EffectGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580011-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCloneLink : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGShapePtr Parent;
+    __declspec(property(get=GetCloneParent))
+    IVGShapePtr CloneParent;
+    __declspec(property(get=GetFillLinked,put=PutFillLinked))
+    VARIANT_BOOL FillLinked;
+    __declspec(property(get=GetOutlineLinked,put=PutOutlineLinked))
+    VARIANT_BOOL OutlineLinked;
+    __declspec(property(get=GetShapeLinked,put=PutShapeLinked))
+    VARIANT_BOOL ShapeLinked;
+    __declspec(property(get=GetTransformLinked,put=PutTransformLinked))
+    VARIANT_BOOL TransformLinked;
+    __declspec(property(get=GetBitmapColorMaskLinked,put=PutBitmapColorMaskLinked))
+    VARIANT_BOOL BitmapColorMaskLinked;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGShapePtr GetParent ( );
+    IVGShapePtr GetCloneParent ( );
+    VARIANT_BOOL GetFillLinked ( );
+    void PutFillLinked (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOutlineLinked ( );
+    void PutOutlineLinked (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetShapeLinked ( );
+    void PutShapeLinked (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetTransformLinked ( );
+    void PutTransformLinked (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetBitmapColorMaskLinked ( );
+    void PutBitmapColorMaskLinked (
+        VARIANT_BOOL pVal );
+    HRESULT RestoreAllLinks ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CloneParent (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FillLinked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FillLinked (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OutlineLinked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OutlineLinked (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ShapeLinked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShapeLinked (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TransformLinked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TransformLinked (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BitmapColorMaskLinked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_BitmapColorMaskLinked (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_RestoreAllLinks ( ) = 0;
+};
+
+struct __declspec(uuid("b05800ed-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCommentTarget : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetGuid,put=PutGuid))
+    _bstr_t Guid;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGShapePtr GetShape ( );
+    void PutRefShape (
+        struct IVGShape * * pRet );
+    _bstr_t GetGuid ( );
+    void PutGuid (
+        _bstr_t pRet );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Shape (
+        /*[out,retval]*/ struct IVGShape * * pRet ) = 0;
+      virtual HRESULT __stdcall putref_Shape (
+        /*[in]*/ struct IVGShape * * pRet ) = 0;
+      virtual HRESULT __stdcall get_Guid (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall put_Guid (
+        /*[in]*/ BSTR pRet ) = 0;
+};
+
+struct __declspec(uuid("b058005c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSelectionInformation : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDocumentPtr Parent;
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirstShape))
+    IVGShapePtr FirstShape;
+    __declspec(property(get=GetSecondShape))
+    IVGShapePtr SecondShape;
+    __declspec(property(get=GetBlendTopShape))
+    IVGShapePtr BlendTopShape;
+    __declspec(property(get=GetBlendBottomShape))
+    IVGShapePtr BlendBottomShape;
+    __declspec(property(get=GetBlendPath))
+    IVGShapePtr BlendPath;
+    __declspec(property(get=GetCanCreateBlend))
+    VARIANT_BOOL CanCreateBlend;
+    __declspec(property(get=GetDistortionShape))
+    IVGShapePtr DistortionShape;
+    __declspec(property(get=GetDistortionType))
+    enum cdrDistortionType DistortionType;
+    __declspec(property(get=GetExtrudeFaceShape))
+    IVGShapePtr ExtrudeFaceShape;
+    __declspec(property(get=GetExtrudeGroup))
+    IVGShapePtr ExtrudeGroup;
+    __declspec(property(get=GetExtrudeBevelGroup))
+    IVGShapePtr ExtrudeBevelGroup;
+    __declspec(property(get=GetContourControlShape))
+    IVGShapePtr ContourControlShape;
+    __declspec(property(get=GetContourGroup))
+    IVGShapePtr ContourGroup;
+    __declspec(property(get=GetDropShadowControlShape))
+    IVGShapePtr DropShadowControlShape;
+    __declspec(property(get=GetDropShadowGroup))
+    IVGShapePtr DropShadowGroup;
+    __declspec(property(get=GetDimensionControlShape))
+    IVGShapePtr DimensionControlShape;
+    __declspec(property(get=GetDimensionGroup))
+    IVGShapePtr DimensionGroup;
+    __declspec(property(get=GetConnectorLines))
+    IVGShapePtr ConnectorLines;
+    __declspec(property(get=GetFittedTextControlShape))
+    IVGShapePtr FittedTextControlShape;
+    __declspec(property(get=GetFittedText))
+    IVGShapePtr FittedText;
+    __declspec(property(get=GetFirstShapeWithOutline))
+    IVGShapePtr FirstShapeWithOutline;
+    __declspec(property(get=GetFirstShapeWithFill))
+    IVGShapePtr FirstShapeWithFill;
+    __declspec(property(get=GetNaturalMediaControlShape))
+    IVGShapePtr NaturalMediaControlShape;
+    __declspec(property(get=GetNaturalMediaGroup))
+    IVGShapePtr NaturalMediaGroup;
+    __declspec(property(get=GetCanPrint))
+    VARIANT_BOOL CanPrint;
+    __declspec(property(get=GetIsEditingText))
+    VARIANT_BOOL IsEditingText;
+    __declspec(property(get=GetIsTextSelection))
+    VARIANT_BOOL IsTextSelection;
+    __declspec(property(get=GetIsOnPowerClipContents))
+    VARIANT_BOOL IsOnPowerClipContents;
+    __declspec(property(get=GetIsEditingRollOver))
+    VARIANT_BOOL IsEditingRollOver;
+    __declspec(property(get=GetCanApplyFillOutline))
+    VARIANT_BOOL CanApplyFillOutline;
+    __declspec(property(get=GetIsControlSelected))
+    VARIANT_BOOL IsControlSelected;
+    __declspec(property(get=GetCanDeleteControl))
+    VARIANT_BOOL CanDeleteControl;
+    __declspec(property(get=GetIsGroup))
+    VARIANT_BOOL IsGroup;
+    __declspec(property(get=GetIsRegularShape))
+    VARIANT_BOOL IsRegularShape;
+    __declspec(property(get=GetIsControlShape))
+    VARIANT_BOOL IsControlShape;
+    __declspec(property(get=GetIsBlendControl))
+    VARIANT_BOOL IsBlendControl;
+    __declspec(property(get=GetIsBlendGroup))
+    VARIANT_BOOL IsBlendGroup;
+    __declspec(property(get=GetIsCloneControl))
+    VARIANT_BOOL IsCloneControl;
+    __declspec(property(get=GetIsContourControl))
+    VARIANT_BOOL IsContourControl;
+    __declspec(property(get=GetIsContourGroup))
+    VARIANT_BOOL IsContourGroup;
+    __declspec(property(get=GetIsDropShadowControl))
+    VARIANT_BOOL IsDropShadowControl;
+    __declspec(property(get=GetIsDropShadowGroup))
+    VARIANT_BOOL IsDropShadowGroup;
+    __declspec(property(get=GetIsDimensionControl))
+    VARIANT_BOOL IsDimensionControl;
+    __declspec(property(get=GetIsExtrudeControl))
+    VARIANT_BOOL IsExtrudeControl;
+    __declspec(property(get=GetIsExtrudeGroup))
+    VARIANT_BOOL IsExtrudeGroup;
+    __declspec(property(get=GetIsBevelGroup))
+    VARIANT_BOOL IsBevelGroup;
+    __declspec(property(get=GetHasAutoLabelText))
+    VARIANT_BOOL HasAutoLabelText;
+    __declspec(property(get=GetIsEnvelope))
+    VARIANT_BOOL IsEnvelope;
+    __declspec(property(get=GetIsPerspective))
+    VARIANT_BOOL IsPerspective;
+    __declspec(property(get=GetIsDistortion))
+    VARIANT_BOOL IsDistortion;
+    __declspec(property(get=GetIsConnectorLine))
+    VARIANT_BOOL IsConnectorLine;
+    __declspec(property(get=GetIsConnector))
+    VARIANT_BOOL IsConnector;
+    __declspec(property(get=GetIsFittedText))
+    VARIANT_BOOL IsFittedText;
+    __declspec(property(get=GetIsFittedTextControl))
+    VARIANT_BOOL IsFittedTextControl;
+    __declspec(property(get=GetIsNaturalMediaControl))
+    VARIANT_BOOL IsNaturalMediaControl;
+    __declspec(property(get=GetIsNaturalMediaGroup))
+    VARIANT_BOOL IsNaturalMediaGroup;
+    __declspec(property(get=GetIsSecondExtrudeControl))
+    VARIANT_BOOL IsSecondExtrudeControl;
+    __declspec(property(get=GetIsSecondContourControl))
+    VARIANT_BOOL IsSecondContourControl;
+    __declspec(property(get=GetIsSecondDropShadowControl))
+    VARIANT_BOOL IsSecondDropShadowControl;
+    __declspec(property(get=GetIsSecondNaturalMediaControl))
+    VARIANT_BOOL IsSecondNaturalMediaControl;
+    __declspec(property(get=GetIsArtisticTextSelected))
+    VARIANT_BOOL IsArtisticTextSelected;
+    __declspec(property(get=GetIsParagraphTextSelected))
+    VARIANT_BOOL IsParagraphTextSelected;
+    __declspec(property(get=GetIsTextSelected))
+    VARIANT_BOOL IsTextSelected;
+    __declspec(property(get=GetIsOLESelected))
+    VARIANT_BOOL IsOLESelected;
+    __declspec(property(get=GetIsBitmapSelected))
+    VARIANT_BOOL IsBitmapSelected;
+    __declspec(property(get=GetIsBitmapPresent))
+    VARIANT_BOOL IsBitmapPresent;
+    __declspec(property(get=GetIsLensPresent))
+    VARIANT_BOOL IsLensPresent;
+    __declspec(property(get=GetIsMaskedBitmapPresent))
+    VARIANT_BOOL IsMaskedBitmapPresent;
+    __declspec(property(get=GetIsGroupSelected))
+    VARIANT_BOOL IsGroupSelected;
+    __declspec(property(get=GetCanUngroup))
+    VARIANT_BOOL CanUngroup;
+    __declspec(property(get=GetIsLinkGroupSelected))
+    VARIANT_BOOL IsLinkGroupSelected;
+    __declspec(property(get=GetIsLinkControlSelected))
+    VARIANT_BOOL IsLinkControlSelected;
+    __declspec(property(get=GetIsAttachedToDimension))
+    VARIANT_BOOL IsAttachedToDimension;
+    __declspec(property(get=GetIsFittedTextSelected))
+    VARIANT_BOOL IsFittedTextSelected;
+    __declspec(property(get=GetIsConnectorLineSelected))
+    VARIANT_BOOL IsConnectorLineSelected;
+    __declspec(property(get=GetIsConnectorSelected))
+    VARIANT_BOOL IsConnectorSelected;
+    __declspec(property(get=GetIsPerspectivePresent))
+    VARIANT_BOOL IsPerspectivePresent;
+    __declspec(property(get=GetIsEnvelopePresent))
+    VARIANT_BOOL IsEnvelopePresent;
+    __declspec(property(get=GetIsDistortionPresent))
+    VARIANT_BOOL IsDistortionPresent;
+    __declspec(property(get=GetIsGuidelineSelected))
+    VARIANT_BOOL IsGuidelineSelected;
+    __declspec(property(get=GetIsInternetObjectSelected))
+    VARIANT_BOOL IsInternetObjectSelected;
+    __declspec(property(get=GetIsSoundObjectSelected))
+    VARIANT_BOOL IsSoundObjectSelected;
+    __declspec(property(get=GetIsExternalBitmapSelected))
+    VARIANT_BOOL IsExternalBitmapSelected;
+    __declspec(property(get=GetIsNonExternalBitmapSelected))
+    VARIANT_BOOL IsNonExternalBitmapSelected;
+    __declspec(property(get=GetIsMeshFillSelected))
+    VARIANT_BOOL IsMeshFillSelected;
+    __declspec(property(get=GetIsMeshFillPresent))
+    VARIANT_BOOL IsMeshFillPresent;
+    __declspec(property(get=GetIsRollOverSelected))
+    VARIANT_BOOL IsRollOverSelected;
+    __declspec(property(get=GetContainsRollOverParent))
+    VARIANT_BOOL ContainsRollOverParent;
+    __declspec(property(get=GetCanClone))
+    VARIANT_BOOL CanClone;
+    __declspec(property(get=GetCanApplyBlend))
+    VARIANT_BOOL CanApplyBlend;
+    __declspec(property(get=GetCanApplyContour))
+    VARIANT_BOOL CanApplyContour;
+    __declspec(property(get=GetCanApplyFill))
+    VARIANT_BOOL CanApplyFill;
+    __declspec(property(get=GetCanApplyOutline))
+    VARIANT_BOOL CanApplyOutline;
+    __declspec(property(get=GetCanApplyTransparency))
+    VARIANT_BOOL CanApplyTransparency;
+    __declspec(property(get=GetCanAssignURL))
+    VARIANT_BOOL CanAssignURL;
+    __declspec(property(get=GetCanApplyDistortion))
+    VARIANT_BOOL CanApplyDistortion;
+    __declspec(property(get=GetCanApplyEnvelope))
+    VARIANT_BOOL CanApplyEnvelope;
+    __declspec(property(get=GetCanCopyBlend))
+    VARIANT_BOOL CanCopyBlend;
+    __declspec(property(get=GetCanCloneBlend))
+    VARIANT_BOOL CanCloneBlend;
+    __declspec(property(get=GetCanCopyExtrude))
+    VARIANT_BOOL CanCopyExtrude;
+    __declspec(property(get=GetCanCloneExtrude))
+    VARIANT_BOOL CanCloneExtrude;
+    __declspec(property(get=GetCanCopyContour))
+    VARIANT_BOOL CanCopyContour;
+    __declspec(property(get=GetCanCloneContour))
+    VARIANT_BOOL CanCloneContour;
+    __declspec(property(get=GetCanCopyDropShadow))
+    VARIANT_BOOL CanCopyDropShadow;
+    __declspec(property(get=GetCanCloneDropShadow))
+    VARIANT_BOOL CanCloneDropShadow;
+    __declspec(property(get=GetCanCopyLens))
+    VARIANT_BOOL CanCopyLens;
+    __declspec(property(get=GetCanCopyPerspective))
+    VARIANT_BOOL CanCopyPerspective;
+    __declspec(property(get=GetCanCopyEnvelope))
+    VARIANT_BOOL CanCopyEnvelope;
+    __declspec(property(get=GetCanCopyPowerclip))
+    VARIANT_BOOL CanCopyPowerclip;
+    __declspec(property(get=GetCanCopyDistortion))
+    VARIANT_BOOL CanCopyDistortion;
+    __declspec(property(get=GetCanLockShapes))
+    VARIANT_BOOL CanLockShapes;
+    __declspec(property(get=GetCanUnlockShapes))
+    VARIANT_BOOL CanUnlockShapes;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDocumentPtr GetParent ( );
+    long GetCount ( );
+    IVGShapePtr GetFirstShape ( );
+    IVGShapePtr GetSecondShape ( );
+    IVGShapePtr GetBlendTopShape ( );
+    IVGShapePtr GetBlendBottomShape ( );
+    IVGShapePtr GetBlendPath ( );
+    VARIANT_BOOL GetCanCreateBlend ( );
+    IVGShapePtr GetDistortionShape ( );
+    enum cdrDistortionType GetDistortionType ( );
+    IVGShapePtr GetExtrudeFaceShape ( );
+    IVGShapePtr GetExtrudeGroup ( );
+    IVGShapePtr GetExtrudeBevelGroup ( );
+    IVGShapePtr GetContourControlShape ( );
+    IVGShapePtr GetContourGroup ( );
+    IVGShapePtr GetDropShadowControlShape ( );
+    IVGShapePtr GetDropShadowGroup ( );
+    IVGShapePtr GetDimensionControlShape ( );
+    IVGShapePtr GetDimensionGroup ( );
+    IVGShapePtr GetConnectorLines ( );
+    IVGShapePtr GetFittedTextControlShape ( );
+    IVGShapePtr GetFittedText ( );
+    IVGShapePtr GetFirstShapeWithOutline ( );
+    IVGShapePtr GetFirstShapeWithFill ( );
+    IVGShapePtr GetNaturalMediaControlShape ( );
+    IVGShapePtr GetNaturalMediaGroup ( );
+    VARIANT_BOOL GetCanPrint ( );
+    VARIANT_BOOL GetIsEditingText ( );
+    VARIANT_BOOL GetIsTextSelection ( );
+    VARIANT_BOOL GetIsOnPowerClipContents ( );
+    VARIANT_BOOL GetIsEditingRollOver ( );
+    VARIANT_BOOL GetCanApplyFillOutline ( );
+    VARIANT_BOOL GetIsControlSelected ( );
+    VARIANT_BOOL GetCanDeleteControl ( );
+    VARIANT_BOOL GetIsGroup ( );
+    VARIANT_BOOL GetIsRegularShape ( );
+    VARIANT_BOOL GetIsControlShape ( );
+    VARIANT_BOOL GetIsBlendControl ( );
+    VARIANT_BOOL GetIsBlendGroup ( );
+    VARIANT_BOOL GetIsCloneControl ( );
+    VARIANT_BOOL GetIsContourControl ( );
+    VARIANT_BOOL GetIsContourGroup ( );
+    VARIANT_BOOL GetIsDropShadowControl ( );
+    VARIANT_BOOL GetIsDropShadowGroup ( );
+    VARIANT_BOOL GetIsDimensionControl ( );
+    VARIANT_BOOL GetIsExtrudeControl ( );
+    VARIANT_BOOL GetIsExtrudeGroup ( );
+    VARIANT_BOOL GetIsBevelGroup ( );
+    VARIANT_BOOL GetHasAutoLabelText ( );
+    VARIANT_BOOL GetIsEnvelope ( );
+    VARIANT_BOOL GetIsPerspective ( );
+    VARIANT_BOOL GetIsDistortion ( );
+    VARIANT_BOOL GetIsConnectorLine ( );
+    VARIANT_BOOL GetIsConnector ( );
+    VARIANT_BOOL GetIsFittedText ( );
+    VARIANT_BOOL GetIsFittedTextControl ( );
+    VARIANT_BOOL GetIsNaturalMediaControl ( );
+    VARIANT_BOOL GetIsNaturalMediaGroup ( );
+    VARIANT_BOOL GetIsSecondExtrudeControl ( );
+    VARIANT_BOOL GetIsSecondContourControl ( );
+    VARIANT_BOOL GetIsSecondDropShadowControl ( );
+    VARIANT_BOOL GetIsSecondNaturalMediaControl ( );
+    VARIANT_BOOL GetIsArtisticTextSelected ( );
+    VARIANT_BOOL GetIsParagraphTextSelected ( );
+    VARIANT_BOOL GetIsTextSelected ( );
+    VARIANT_BOOL GetIsOLESelected ( );
+    VARIANT_BOOL GetIsBitmapSelected ( );
+    VARIANT_BOOL GetIsBitmapPresent ( );
+    VARIANT_BOOL GetIsLensPresent ( );
+    VARIANT_BOOL GetIsMaskedBitmapPresent ( );
+    VARIANT_BOOL GetIsGroupSelected ( );
+    VARIANT_BOOL GetCanUngroup ( );
+    VARIANT_BOOL GetIsLinkGroupSelected ( );
+    VARIANT_BOOL GetIsLinkControlSelected ( );
+    VARIANT_BOOL GetIsAttachedToDimension ( );
+    VARIANT_BOOL GetIsFittedTextSelected ( );
+    VARIANT_BOOL GetIsConnectorLineSelected ( );
+    VARIANT_BOOL GetIsConnectorSelected ( );
+    VARIANT_BOOL GetIsPerspectivePresent ( );
+    VARIANT_BOOL GetIsEnvelopePresent ( );
+    VARIANT_BOOL GetIsDistortionPresent ( );
+    VARIANT_BOOL GetIsGuidelineSelected ( );
+    VARIANT_BOOL GetIsInternetObjectSelected ( );
+    VARIANT_BOOL GetIsSoundObjectSelected ( );
+    VARIANT_BOOL GetIsExternalBitmapSelected ( );
+    VARIANT_BOOL GetIsNonExternalBitmapSelected ( );
+    VARIANT_BOOL GetIsMeshFillSelected ( );
+    VARIANT_BOOL GetIsMeshFillPresent ( );
+    VARIANT_BOOL GetIsRollOverSelected ( );
+    VARIANT_BOOL GetContainsRollOverParent ( );
+    VARIANT_BOOL GetCanClone ( );
+    VARIANT_BOOL GetCanApplyBlend ( );
+    VARIANT_BOOL GetCanApplyContour ( );
+    VARIANT_BOOL GetCanApplyFill ( );
+    VARIANT_BOOL GetCanApplyOutline ( );
+    VARIANT_BOOL GetCanApplyTransparency ( );
+    VARIANT_BOOL GetCanAssignURL ( );
+    VARIANT_BOOL GetCanApplyDistortion ( );
+    VARIANT_BOOL GetCanApplyEnvelope ( );
+    VARIANT_BOOL GetCanCopyBlend ( );
+    VARIANT_BOOL GetCanCloneBlend ( );
+    VARIANT_BOOL GetCanCopyExtrude ( );
+    VARIANT_BOOL GetCanCloneExtrude ( );
+    VARIANT_BOOL GetCanCopyContour ( );
+    VARIANT_BOOL GetCanCloneContour ( );
+    VARIANT_BOOL GetCanCopyDropShadow ( );
+    VARIANT_BOOL GetCanCloneDropShadow ( );
+    VARIANT_BOOL GetCanCopyLens ( );
+    VARIANT_BOOL GetCanCopyPerspective ( );
+    VARIANT_BOOL GetCanCopyEnvelope ( );
+    VARIANT_BOOL GetCanCopyPowerclip ( );
+    VARIANT_BOOL GetCanCopyDistortion ( );
+    VARIANT_BOOL GetCanLockShapes ( );
+    VARIANT_BOOL GetCanUnlockShapes ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_FirstShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SecondShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BlendTopShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BlendBottomShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BlendPath (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CanCreateBlend (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_DistortionShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DistortionType (
+        /*[out,retval]*/ enum cdrDistortionType * pVal ) = 0;
+      virtual HRESULT __stdcall get_ExtrudeFaceShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ExtrudeGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ExtrudeBevelGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ContourControlShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ContourGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DropShadowControlShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DropShadowGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DimensionControlShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DimensionGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ConnectorLines (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FittedTextControlShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FittedText (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FirstShapeWithOutline (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FirstShapeWithFill (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_NaturalMediaControlShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_NaturalMediaGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CanPrint (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEditingText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsTextSelection (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOnPowerClipContents (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEditingRollOver (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyFillOutline (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsControlSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanDeleteControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsRegularShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsControlShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsBlendControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsBlendGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsCloneControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsContourControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsContourGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsDropShadowControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsDropShadowGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsDimensionControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsExtrudeControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsExtrudeGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsBevelGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasAutoLabelText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEnvelope (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsPerspective (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsDistortion (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsConnectorLine (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsConnector (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsFittedText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsFittedTextControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsNaturalMediaControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsNaturalMediaGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSecondExtrudeControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSecondContourControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSecondDropShadowControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSecondNaturalMediaControl (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsArtisticTextSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsParagraphTextSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsTextSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOLESelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsBitmapSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsBitmapPresent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsLensPresent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsMaskedBitmapPresent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsGroupSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanUngroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsLinkGroupSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsLinkControlSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsAttachedToDimension (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsFittedTextSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsConnectorLineSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsConnectorSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsPerspectivePresent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEnvelopePresent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsDistortionPresent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsGuidelineSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsInternetObjectSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSoundObjectSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsExternalBitmapSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsNonExternalBitmapSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsMeshFillSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsMeshFillPresent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsRollOverSelected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ContainsRollOverParent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanClone (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyBlend (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyContour (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyOutline (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyTransparency (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanAssignURL (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyDistortion (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanApplyEnvelope (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyBlend (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCloneBlend (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyExtrude (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCloneExtrude (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyContour (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCloneContour (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyDropShadow (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCloneDropShadow (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyLens (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyPerspective (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyEnvelope (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyPowerclip (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanCopyDistortion (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanLockShapes (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanUnlockShapes (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580019-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCurve : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetLength))
+    double Length;
+    __declspec(property(get=GetSubPaths))
+    IVGSubPathsPtr SubPaths;
+    __declspec(property(get=GetNodes))
+    IVGNodesPtr Nodes;
+    __declspec(property(get=GetSegments))
+    IVGSegmentsPtr Segments;
+    __declspec(property(get=GetClosed,put=PutClosed))
+    VARIANT_BOOL Closed;
+    __declspec(property(get=GetIsClockwise))
+    VARIANT_BOOL IsClockwise;
+    __declspec(property(get=GetArea))
+    double Area;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double GetLength ( );
+    IVGSubPathsPtr GetSubPaths ( );
+    IVGNodesPtr GetNodes ( );
+    IVGSegmentsPtr GetSegments ( );
+    VARIANT_BOOL GetClosed ( );
+    void PutClosed (
+        VARIANT_BOOL pVal );
+    IVGNodeRangePtr Selection ( );
+    IVGSubPathPtr CreateSubPath (
+        double x,
+        double y );
+    HRESULT ReverseDirection ( );
+    enum cdrPositionOfPointOverShape IsOnCurve (
+        double x,
+        double y,
+        double HotArea );
+    HRESULT BindToDocument (
+        struct IVGDocument * Document );
+    IVGCurvePtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct IVGCurve * Source );
+    IVGSubPathPtr CreateSubPathFromArray (
+        SAFEARRAY * * Source,
+        VARIANT_BOOL Closed,
+        long NumElements );
+    HRESULT AppendCurve (
+        struct IVGCurve * Source );
+    SAFEARRAY * GetCurveInfo ( );
+    long PutCurveInfo (
+        SAFEARRAY * * Source,
+        long NumElements );
+    HRESULT ClearSelection ( );
+    IVGCurvePtr GetPolyline (
+        long CurvePrecision );
+    IVGCurvePtr RemoveOverlaps ( );
+    IVGCurvePtr Contour (
+        double Offset,
+        enum cdrContourDirection Direction,
+        enum cdrContourEndCapType EndCapType,
+        enum cdrContourCornerType CornerType,
+        double MiterLimit );
+    VARIANT_BOOL IsPointInside (
+        double x,
+        double y );
+    VARIANT_BOOL IsRectOnEdge (
+        double x1,
+        double y1,
+        double x2,
+        double y2 );
+    IVGSegmentPtr FindClosestSegment (
+        double x,
+        double y,
+        double * ParamOffset );
+    IVGNodePtr FindNodeAtPoint (
+        double x,
+        double y,
+        double HotArea );
+    IVGSegmentPtr FindSegmentAtPoint (
+        double x,
+        double y,
+        double * ParamOffset,
+        double HotArea );
+    IVGCurvePtr WeldWith (
+        struct IVGCurve * Curve );
+    VARIANT_BOOL GetIsClockwise ( );
+    double GetArea ( );
+    VARIANT_BOOL GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    IVGRectPtr GetBoundingBox ( );
+    VARIANT_BOOL IntersectsWith (
+        struct IVGCurve * Curve );
+    HRESULT AppendSubpathFitToPoints (
+        struct IVGPointRange * Points,
+        VARIANT_BOOL UseCurrentViewForTolerance,
+        double tolerance );
+    HRESULT AppendSubpathFitToPointsAndCusps (
+        struct IVGPointRange * Points,
+        SAFEARRAY * * CuspIndexArray,
+        VARIANT_BOOL UseCurrentViewForTolerance,
+        double tolerance );
+    HRESULT ApplyTransformMatrix (
+        struct IVGTransformMatrix * TransformMatrix );
+    HRESULT AppendSubpathFromPoints (
+        struct IVGPointRange * Points,
+        VARIANT_BOOL Close );
+    IVGCurvePtr CreateCurveMappedToStroke (
+        struct IVGSubPath * Stroke,
+        double ScaleY,
+        VARIANT_BOOL SelfWeld );
+    IVGCurvePtr CreateCurveMappedToStrokeAndReferenceLine (
+        struct IVGSubPath * Stroke,
+        struct IVGPoint * Start,
+        struct IVGPoint * End,
+        double ScaleY,
+        VARIANT_BOOL SelfWeld );
+    HRESULT AutoReduceNodes (
+        double AmountToReduce0To100,
+        VARIANT_BOOL SelectedNodesOnly );
+    HRESULT JoinTouchingSubpaths (
+        VARIANT_BOOL AllowSubpathReversals,
+        double tolerance );
+    HRESULT AppendSubpathCircle (
+        double CenterX,
+        double CenterY,
+        double Radius );
+    HRESULT AppendSubpathRectangle (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom );
+    HRESULT AppendSubpathThreePointArc (
+        double StartX,
+        double StartY,
+        double EndX,
+        double EndY,
+        double ThirdX,
+        double ThirdY );
+    HRESULT SelfWeldClosedSubpaths ( );
+    HRESULT AppendSubpathEllipse (
+        double CenterX,
+        double CenterY,
+        double RadiusH,
+        double RadiusV );
+    IVGCurvePtr WeldEx (
+        struct IVGCurve * TargetCurve,
+        enum cdrWeldMethod Method,
+        VARIANT_BOOL WindingSource,
+        VARIANT_BOOL WindingTarget,
+        long Flags );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Length (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_SubPaths (
+        /*[out,retval]*/ struct IVGSubPaths * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Nodes (
+        /*[out,retval]*/ struct IVGNodes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Segments (
+        /*[out,retval]*/ struct IVGSegments * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Closed (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Closed (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Selection (
+        /*[out,retval]*/ struct IVGNodeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSubPath (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ReverseDirection ( ) = 0;
+      virtual HRESULT __stdcall raw_IsOnCurve (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ enum cdrPositionOfPointOverShape * pVal ) = 0;
+      virtual HRESULT __stdcall raw_BindToDocument (
+        /*[in]*/ struct IVGDocument * Document ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGCurve * Source ) = 0;
+      virtual HRESULT __stdcall raw_CreateSubPathFromArray (
+        /*[in]*/ SAFEARRAY * * Source,
+        /*[in]*/ VARIANT_BOOL Closed,
+        /*[in]*/ long NumElements,
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AppendCurve (
+        /*[in]*/ struct IVGCurve * Source ) = 0;
+      virtual HRESULT __stdcall raw_GetCurveInfo (
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_PutCurveInfo (
+        /*[in]*/ SAFEARRAY * * Source,
+        /*[in]*/ long NumElements,
+        /*[out,retval]*/ long * pRet ) = 0;
+      virtual HRESULT __stdcall raw_ClearSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_GetPolyline (
+        /*[in]*/ long CurvePrecision,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_RemoveOverlaps (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Contour (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrContourDirection Direction,
+        /*[in]*/ enum cdrContourEndCapType EndCapType,
+        /*[in]*/ enum cdrContourCornerType CornerType,
+        /*[in]*/ double MiterLimit,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IsPointInside (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsRectOnEdge (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindClosestSegment (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out]*/ double * ParamOffset,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindNodeAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindSegmentAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out]*/ double * ParamOffset,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_WeldWith (
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsClockwise (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Area (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IntersectsWith (
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AppendSubpathFitToPoints (
+        /*[in]*/ struct IVGPointRange * Points,
+        /*[in]*/ VARIANT_BOOL UseCurrentViewForTolerance,
+        /*[in]*/ double tolerance ) = 0;
+      virtual HRESULT __stdcall raw_AppendSubpathFitToPointsAndCusps (
+        /*[in]*/ struct IVGPointRange * Points,
+        /*[in]*/ SAFEARRAY * * CuspIndexArray,
+        /*[in]*/ VARIANT_BOOL UseCurrentViewForTolerance,
+        /*[in]*/ double tolerance ) = 0;
+      virtual HRESULT __stdcall raw_ApplyTransformMatrix (
+        /*[in]*/ struct IVGTransformMatrix * TransformMatrix ) = 0;
+      virtual HRESULT __stdcall raw_AppendSubpathFromPoints (
+        /*[in]*/ struct IVGPointRange * Points,
+        /*[in]*/ VARIANT_BOOL Close ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurveMappedToStroke (
+        /*[in]*/ struct IVGSubPath * Stroke,
+        /*[in]*/ double ScaleY,
+        /*[in]*/ VARIANT_BOOL SelfWeld,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCurveMappedToStrokeAndReferenceLine (
+        /*[in]*/ struct IVGSubPath * Stroke,
+        /*[in]*/ struct IVGPoint * Start,
+        /*[in]*/ struct IVGPoint * End,
+        /*[in]*/ double ScaleY,
+        /*[in]*/ VARIANT_BOOL SelfWeld,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AutoReduceNodes (
+        /*[in]*/ double AmountToReduce0To100,
+        /*[in]*/ VARIANT_BOOL SelectedNodesOnly ) = 0;
+      virtual HRESULT __stdcall raw_JoinTouchingSubpaths (
+        /*[in]*/ VARIANT_BOOL AllowSubpathReversals,
+        /*[in]*/ double tolerance ) = 0;
+      virtual HRESULT __stdcall raw_AppendSubpathCircle (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double Radius ) = 0;
+      virtual HRESULT __stdcall raw_AppendSubpathRectangle (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom ) = 0;
+      virtual HRESULT __stdcall raw_AppendSubpathThreePointArc (
+        /*[in]*/ double StartX,
+        /*[in]*/ double StartY,
+        /*[in]*/ double EndX,
+        /*[in]*/ double EndY,
+        /*[in]*/ double ThirdX,
+        /*[in]*/ double ThirdY ) = 0;
+      virtual HRESULT __stdcall raw_SelfWeldClosedSubpaths ( ) = 0;
+      virtual HRESULT __stdcall raw_AppendSubpathEllipse (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double RadiusH,
+        /*[in]*/ double RadiusV ) = 0;
+      virtual HRESULT __stdcall raw_WeldEx (
+        /*[in]*/ struct IVGCurve * TargetCurve,
+        /*[in]*/ enum cdrWeldMethod Method,
+        /*[in]*/ VARIANT_BOOL WindingSource,
+        /*[in]*/ VARIANT_BOOL WindingTarget,
+        /*[in]*/ long Flags,
+        /*[out,retval]*/ struct IVGCurve * * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058000d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGArrowHead : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetCurve))
+    IVGCurvePtr Curve;
+    __declspec(property(get=GetBaseOutlineScale))
+    double BaseOutlineScale;
+    __declspec(property(get=GetCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY))
+    double CenterY;
+    __declspec(property(get=GetLineOffset))
+    double LineOffset;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetDisplayName))
+    _bstr_t DisplayName;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetIndex ( );
+    IVGCurvePtr GetCurve ( );
+    double GetBaseOutlineScale ( );
+    double GetCenterX ( );
+    double GetCenterY ( );
+    double GetLineOffset ( );
+    IVGArrowHeadPtr BindToDocument (
+        struct IVGDocument * Document );
+    VARIANT_BOOL CompareWith (
+        struct IVGArrowHead * ArrowHead );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    _bstr_t GetDisplayName ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Curve (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BaseOutlineScale (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_LineOffset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_BindToDocument (
+        /*[in]*/ struct IVGDocument * Document,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CompareWith (
+        /*[in]*/ struct IVGArrowHead * ArrowHead,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DisplayName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058000e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGArrowHeads : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGApplicationPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGArrowHeadPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGApplicationPtr GetParent ( );
+    IVGArrowHeadPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    HRESULT Remove (
+        long Index );
+    IVGArrowHeadPtr Add (
+        struct IVGArrowHead * ArrowHead );
+    IVGArrowHeadPtr Replace (
+        long Index,
+        struct IVGArrowHead * ArrowHead );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGArrowHead * ArrowHead,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Replace (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGArrowHead * ArrowHead,
+        /*[out,retval]*/ struct IVGArrowHead * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058006b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSubPaths : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGSubPathPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGSubPathPtr First;
+    __declspec(property(get=GetLast))
+    IVGSubPathPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    IVGSubPathPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGSubPathPtr GetFirst ( );
+    IVGSubPathPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058006a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSubPath : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetNodes))
+    IVGNodesPtr Nodes;
+    __declspec(property(get=GetSegments))
+    IVGSegmentsPtr Segments;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetLength))
+    double Length;
+    __declspec(property(get=GetClosed,put=PutClosed))
+    VARIANT_BOOL Closed;
+    __declspec(property(get=GetStartNode))
+    IVGNodePtr StartNode;
+    __declspec(property(get=GetPositionX,put=PutPositionX))
+    double PositionX;
+    __declspec(property(get=GetEndNode))
+    IVGNodePtr EndNode;
+    __declspec(property(get=GetPositionY,put=PutPositionY))
+    double PositionY;
+    __declspec(property(get=GetFirstSegment))
+    IVGSegmentPtr FirstSegment;
+    __declspec(property(get=GetSizeWidth))
+    double SizeWidth;
+    __declspec(property(get=GetSizeHeight))
+    double SizeHeight;
+    __declspec(property(get=GetLastSegment))
+    IVGSegmentPtr LastSegment;
+    __declspec(property(get=GetIsClockwise))
+    VARIANT_BOOL IsClockwise;
+    __declspec(property(get=GetArea))
+    double Area;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    IVGNodesPtr GetNodes ( );
+    IVGSegmentsPtr GetSegments ( );
+    long GetIndex ( );
+    double GetLength ( );
+    VARIANT_BOOL GetClosed ( );
+    void PutClosed (
+        VARIANT_BOOL pVal );
+    double GetPositionX ( );
+    void PutPositionX (
+        double pVal );
+    double GetPositionY ( );
+    void PutPositionY (
+        double pVal );
+    double GetSizeWidth ( );
+    double GetSizeHeight ( );
+    IVGNodeRangePtr Selection ( );
+    HRESULT ReverseDirection ( );
+    IVGShapePtr Extract (
+        struct IVGShape * * OldCurve );
+    HRESULT Delete ( );
+    HRESULT GetPosition (
+        double * PositionX,
+        double * PositionY );
+    HRESULT SetPosition (
+        double PositionX,
+        double PositionY );
+    HRESULT Move (
+        double DeltaX,
+        double DeltaY );
+    enum cdrPositionOfPointOverShape IsOnSubPath (
+        double x,
+        double y,
+        double HotArea );
+    IVGSegmentPtr AppendLineSegment (
+        double x,
+        double y,
+        VARIANT_BOOL AppendAtBeginning );
+    IVGSegmentPtr AppendCurveSegment (
+        double x,
+        double y,
+        double StartingControlPointLength,
+        double StartingControlPointAngle,
+        double EndingControlPointLength,
+        double EndingControlPointAngle,
+        VARIANT_BOOL AppendAtBeginning );
+    HRESULT GetPointPositionAt (
+        double * x,
+        double * y,
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGNodePtr BreakApartAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGNodePtr AddNodeAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    double GetPerpendicularAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    double GetTangentAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGCrossPointsPtr GetIntersections (
+        struct IVGSubPath * Target,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGSegmentPtr GetSegmentAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType,
+        double * SegmentOffset );
+    IVGSubPathPtr Next ( );
+    IVGSubPathPtr Previous ( );
+    double GetCurvatureAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    double GetCurveSpeedAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGNodePtr GetStartNode ( );
+    IVGNodePtr GetEndNode ( );
+    VARIANT_BOOL FindSegmentOffset (
+        double AbsoluteOffset,
+        struct IVGSegment * * Segment,
+        double * ParamOffset,
+        double * Remainder );
+    IVGSegmentPtr GetFirstSegment ( );
+    IVGSegmentPtr GetLastSegment ( );
+    IVGSegmentPtr AppendCurveSegment2 (
+        double x,
+        double y,
+        double StartingControlPointX,
+        double StartingControlPointY,
+        double EndingControlPointX,
+        double EndingControlPointY,
+        VARIANT_BOOL AppendAtBeginning );
+    IVGCurvePtr GetCopy ( );
+    SAFEARRAY * GetCurveInfo ( );
+    long PutCurveInfo (
+        SAFEARRAY * * Source,
+        long NumElements );
+    IVGCurvePtr GetPolyline (
+        long CurvePrecision );
+    VARIANT_BOOL IsPointInside (
+        double x,
+        double y );
+    VARIANT_BOOL IsRectOnEdge (
+        double x1,
+        double y1,
+        double x2,
+        double y2 );
+    IVGSegmentPtr FindClosestSegment (
+        double x,
+        double y,
+        double * ParamOffset );
+    IVGNodePtr FindNodeAtPoint (
+        double x,
+        double y,
+        double HotArea );
+    IVGSegmentPtr FindSegmentAtPoint (
+        double x,
+        double y,
+        double * ParamOffset,
+        double HotArea );
+    VARIANT_BOOL GetIsClockwise ( );
+    double GetArea ( );
+    VARIANT_BOOL GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    IVGRectPtr GetBoundingBox ( );
+    HRESULT EqualDivide (
+        long Divisions,
+        double Gap );
+    IVGPointRangePtr GetEvenlySpacedPoints (
+        double DistanceBetweenPointsAlongCurve,
+        VARIANT_BOOL ScaleDistanceToFit );
+    IVGVectorPtr GetPerpendicularVectorAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType,
+        VARIANT_BOOL Normalize );
+    IVGVectorPtr GetTangentVectorAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType,
+        VARIANT_BOOL Normalize );
+    IVGPointPtr GetPointAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Nodes (
+        /*[out,retval]*/ struct IVGNodes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Segments (
+        /*[out,retval]*/ struct IVGSegments * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Length (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Closed (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Closed (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Selection (
+        /*[out,retval]*/ struct IVGNodeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ReverseDirection ( ) = 0;
+      virtual HRESULT __stdcall raw_Extract (
+        /*[out]*/ struct IVGShape * * OldCurve,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_GetPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double DeltaX,
+        /*[in]*/ double DeltaY ) = 0;
+      virtual HRESULT __stdcall raw_IsOnSubPath (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ enum cdrPositionOfPointOverShape * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AppendLineSegment (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL AppendAtBeginning,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AppendCurveSegment (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double StartingControlPointLength,
+        /*[in]*/ double StartingControlPointAngle,
+        /*[in]*/ double EndingControlPointLength,
+        /*[in]*/ double EndingControlPointAngle,
+        /*[in]*/ VARIANT_BOOL AppendAtBeginning,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPointPositionAt (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType ) = 0;
+      virtual HRESULT __stdcall raw_BreakApartAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddNodeAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPerpendicularAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetTangentAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetIntersections (
+        /*[in]*/ struct IVGSubPath * Target,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGCrossPoints * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetSegmentAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out]*/ double * SegmentOffset,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Next (
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Previous (
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCurvatureAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pdCurvature ) = 0;
+      virtual HRESULT __stdcall raw_GetCurveSpeedAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pdCurveSpeed ) = 0;
+      virtual HRESULT __stdcall get_StartNode (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndNode (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindSegmentOffset (
+        /*[in]*/ double AbsoluteOffset,
+        /*[out]*/ struct IVGSegment * * Segment,
+        /*[out]*/ double * ParamOffset,
+        /*[out]*/ double * Remainder,
+        /*[out,retval]*/ VARIANT_BOOL * pbRes ) = 0;
+      virtual HRESULT __stdcall get_FirstSegment (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LastSegment (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AppendCurveSegment2 (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double StartingControlPointX,
+        /*[in]*/ double StartingControlPointY,
+        /*[in]*/ double EndingControlPointX,
+        /*[in]*/ double EndingControlPointY,
+        /*[in]*/ VARIANT_BOOL AppendAtBeginning,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCurveInfo (
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_PutCurveInfo (
+        /*[in]*/ SAFEARRAY * * Source,
+        /*[in]*/ long NumElements,
+        /*[out,retval]*/ long * pRet ) = 0;
+      virtual HRESULT __stdcall raw_GetPolyline (
+        /*[in]*/ long CurvePrecision,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IsPointInside (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsRectOnEdge (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindClosestSegment (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out]*/ double * ParamOffset,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindNodeAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindSegmentAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out]*/ double * ParamOffset,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsClockwise (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Area (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_EqualDivide (
+        /*[in]*/ long Divisions,
+        /*[in]*/ double Gap ) = 0;
+      virtual HRESULT __stdcall raw_GetEvenlySpacedPoints (
+        /*[in]*/ double DistanceBetweenPointsAlongCurve,
+        /*[in]*/ VARIANT_BOOL ScaleDistanceToFit,
+        /*[out,retval]*/ struct IVGPointRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPerpendicularVectorAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[in]*/ VARIANT_BOOL Normalize,
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetTangentVectorAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[in]*/ VARIANT_BOOL Normalize,
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPointAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580044-9aa4-44fd-9547-4f91eb757ac4"))
+IVGNodes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGNodePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGNodePtr First;
+    __declspec(property(get=GetLast))
+    IVGNodePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    IVGNodePtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGNodeRangePtr Range (
+        SAFEARRAY * * IndexArray );
+    IVGNodeRangePtr All ( );
+    IVGNodeRangePtr AllExcluding (
+        SAFEARRAY * * IndexArray );
+    IVGNodePtr GetFirst ( );
+    IVGNodePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Range (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGNodeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_All (
+        /*[out,retval]*/ struct IVGNodeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AllExcluding (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGNodeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580042-9aa4-44fd-9547-4f91eb757ac4"))
+IVGNode : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetPositionX,put=PutPositionX))
+    double PositionX;
+    __declspec(property(get=GetPositionY,put=PutPositionY))
+    double PositionY;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrNodeType Type;
+    __declspec(property(get=GetSubPath))
+    IVGSubPathPtr SubPath;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetSubPathIndex))
+    long SubPathIndex;
+    __declspec(property(get=GetAbsoluteIndex))
+    long AbsoluteIndex;
+    __declspec(property(get=GetIsEnding))
+    VARIANT_BOOL IsEnding;
+    __declspec(property(get=GetSegment))
+    IVGSegmentPtr Segment;
+    __declspec(property(get=GetPrevSegment))
+    IVGSegmentPtr PrevSegment;
+    __declspec(property(get=GetNextSegment))
+    IVGSegmentPtr NextSegment;
+    __declspec(property(get=GetSelected,put=PutSelected))
+    VARIANT_BOOL Selected;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    double GetPositionX ( );
+    void PutPositionX (
+        double pVal );
+    double GetPositionY ( );
+    void PutPositionY (
+        double pVal );
+    enum cdrNodeType GetType ( );
+    void PutType (
+        enum cdrNodeType pVal );
+    IVGSubPathPtr GetSubPath ( );
+    long GetIndex ( );
+    long GetSubPathIndex ( );
+    long GetAbsoluteIndex ( );
+    VARIANT_BOOL GetIsEnding ( );
+    HRESULT JoinWith (
+        struct IVGNode * Target );
+    HRESULT ConnectWith (
+        struct IVGNode * Target );
+    HRESULT BreakApart ( );
+    HRESULT Delete ( );
+    HRESULT GetPosition (
+        double * PositionX,
+        double * PositionY );
+    HRESULT SetPosition (
+        double PositionX,
+        double PositionY );
+    HRESULT Move (
+        double DeltaX,
+        double DeltaY );
+    IVGNodePtr Next ( );
+    IVGNodePtr Previous ( );
+    double GetDistanceFrom (
+        struct IVGNode * Node );
+    IVGSegmentPtr GetSegment ( );
+    IVGSegmentPtr GetPrevSegment ( );
+    IVGSegmentPtr GetNextSegment ( );
+    VARIANT_BOOL Fillet (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    VARIANT_BOOL Chamfer (
+        double DistanceA,
+        double DistanceB,
+        VARIANT_BOOL CombineSmoothSegments );
+    VARIANT_BOOL Scallop (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    VARIANT_BOOL GetSelected ( );
+    void PutSelected (
+        VARIANT_BOOL pVal );
+    HRESULT CreateSelection ( );
+    VARIANT_BOOL ExtendSubPaths (
+        struct IVGNode * Node2,
+        VARIANT_BOOL JoinPaths );
+    HRESULT AveragePositionWith (
+        struct IVGNode * Node2,
+        VARIANT_BOOL JoinPaths );
+    HRESULT GetPoint (
+        struct IVGPoint * * ppVal );
+    HRESULT SetPoint (
+        struct IVGPoint * ppVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrNodeType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrNodeType pVal ) = 0;
+      virtual HRESULT __stdcall get_SubPath (
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_SubPathIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_AbsoluteIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEnding (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_JoinWith (
+        /*[in]*/ struct IVGNode * Target ) = 0;
+      virtual HRESULT __stdcall raw_ConnectWith (
+        /*[in]*/ struct IVGNode * Target ) = 0;
+      virtual HRESULT __stdcall raw_BreakApart ( ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_GetPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double DeltaX,
+        /*[in]*/ double DeltaY ) = 0;
+      virtual HRESULT __stdcall raw_Next (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Previous (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetDistanceFrom (
+        /*[in]*/ struct IVGNode * Node,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Segment (
+        /*[out,retval]*/ struct IVGSegment * * pVal ) = 0;
+      virtual HRESULT __stdcall get_PrevSegment (
+        /*[out,retval]*/ struct IVGSegment * * pVal ) = 0;
+      virtual HRESULT __stdcall get_NextSegment (
+        /*[out,retval]*/ struct IVGSegment * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Fillet (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Chamfer (
+        /*[in]*/ double DistanceA,
+        /*[in]*/ double DistanceB,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Scallop (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Selected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Selected (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_ExtendSubPaths (
+        /*[in]*/ struct IVGNode * Node2,
+        VARIANT_BOOL JoinPaths,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AveragePositionWith (
+        /*[in]*/ struct IVGNode * Node2,
+        VARIANT_BOOL JoinPaths ) = 0;
+      virtual HRESULT __stdcall raw_GetPoint (
+        /*[out]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetPoint (
+        /*[in]*/ struct IVGPoint * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580060-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSnapPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGShapePtr Parent;
+    __declspec(property(get=GetPositionX,put=PutPositionX))
+    double PositionX;
+    __declspec(property(get=GetPositionY,put=PutPositionY))
+    double PositionY;
+    __declspec(property(get=GetType))
+    enum cdrPointType Type;
+    __declspec(property(get=GetNode))
+    IVGNodePtr Node;
+    __declspec(property(get=GetIsDeletable))
+    VARIANT_BOOL IsDeletable;
+    __declspec(property(get=GetIsMovable))
+    VARIANT_BOOL IsMovable;
+    __declspec(property(get=GetCanChangeDirection))
+    VARIANT_BOOL CanChangeDirection;
+    __declspec(property(get=GetUsesDirection,put=PutUsesDirection))
+    VARIANT_BOOL UsesDirection;
+    __declspec(property(get=GetIsSelectable))
+    VARIANT_BOOL IsSelectable;
+    __declspec(property(get=GetDirection,put=PutDirection))
+    double Direction;
+    __declspec(property(get=GetSelected,put=PutSelected))
+    VARIANT_BOOL Selected;
+    __declspec(property(get=GetUser))
+    IVGUserSnapPointPtr User;
+    __declspec(property(get=GetObject))
+    IVGObjectSnapPointPtr Object;
+    __declspec(property(get=GetShape))
+    IVGShapePtr Shape;
+    __declspec(property(get=GetBBox))
+    IVGBBoxSnapPointPtr BBox;
+    __declspec(property(get=GetReferenceData))
+    _bstr_t ReferenceData;
+    __declspec(property(get=GetEdge))
+    IVGEdgeSnapPointPtr Edge;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGShapePtr GetParent ( );
+    double GetPositionX ( );
+    void PutPositionX (
+        double pVal );
+    double GetPositionY ( );
+    void PutPositionY (
+        double pVal );
+    enum cdrPointType GetType ( );
+    IVGNodePtr GetNode ( );
+    VARIANT_BOOL GetIsDeletable ( );
+    VARIANT_BOOL GetIsMovable ( );
+    VARIANT_BOOL GetCanChangeDirection ( );
+    HRESULT GetPosition (
+        double * PositionX,
+        double * PositionY );
+    VARIANT_BOOL GetUsesDirection ( );
+    void PutUsesDirection (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetIsSelectable ( );
+    double GetDirection ( );
+    void PutDirection (
+        double pVal );
+    HRESULT SetPosition (
+        double PositionX,
+        double PositionY );
+    VARIANT_BOOL GetSelected ( );
+    void PutSelected (
+        VARIANT_BOOL pVal );
+    HRESULT CreateSelection ( );
+    IVGUserSnapPointPtr GetUser ( );
+    IVGObjectSnapPointPtr GetObject ( );
+    IVGShapePtr GetShape ( );
+    IVGBBoxSnapPointPtr GetBBox ( );
+    _bstr_t GetReferenceData ( );
+    HRESULT Delete ( );
+    HRESULT Move (
+        double OffsetX,
+        double OffsetY );
+    IVGEdgeSnapPointPtr GetEdge ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrPointType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Node (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsDeletable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsMovable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CanChangeDirection (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall get_UsesDirection (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UsesDirection (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSelectable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Direction (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Direction (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall get_Selected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Selected (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall get_User (
+        /*[out,retval]*/ struct IVGUserSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Object (
+        /*[out,retval]*/ struct IVGObjectSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Shape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BBox (
+        /*[out,retval]*/ struct IVGBBoxSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ReferenceData (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY ) = 0;
+      virtual HRESULT __stdcall get_Edge (
+        /*[out,retval]*/ struct IVGEdgeSnapPoint * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800ab-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSnapPointRange : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGSnapPointPtr Item[];
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    IVGSnapPointPtr GetItem (
+        long Index );
+    HRESULT Move (
+        double OffsetX,
+        double OffsetY );
+    HRESULT Delete ( );
+    IUnknownPtr Get_NewEnum ( );
+    VARIANT_BOOL Add (
+        struct IVGSnapPoint * SnapPoint );
+    VARIANT_BOOL Remove (
+        long Index );
+    VARIANT_BOOL RemoveByReference (
+        _bstr_t ReferenceData );
+    IVGSnapPointPtr Find (
+        _bstr_t ReferenceData );
+    HRESULT CreateSelection ( );
+    HRESULT AddToSelection ( );
+    HRESULT RemoveFromSelection ( );
+    HRESULT ChangeDirection (
+        double Direction,
+        enum cdrTriState UsesDirection );
+    HRESULT SetAutoSnap (
+        VARIANT_BOOL AutoSnap );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGSnapPoint * SnapPoint,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RemoveByReference (
+        /*[in]*/ BSTR ReferenceData,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR ReferenceData,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_AddToSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_ChangeDirection (
+        /*[in]*/ double Direction,
+        /*[in]*/ enum cdrTriState UsesDirection ) = 0;
+      virtual HRESULT __stdcall raw_SetAutoSnap (
+        /*[in]*/ VARIANT_BOOL AutoSnap ) = 0;
+};
+
+struct __declspec(uuid("b0580061-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSnapPoints : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGShapePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGSnapPointPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetSelection))
+    IVGSnapPointRangePtr Selection;
+    __declspec(property(get=GetAll))
+    IVGSnapPointRangePtr All;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGShapePtr GetParent ( );
+    IVGSnapPointPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGSnapPointPtr User (
+        _bstr_t ID );
+    IVGSnapPointPtr BBox (
+        enum cdrReferencePoint Type );
+    IVGSnapPointPtr Object (
+        enum cdrObjectSnapPointType Type );
+    IVGSnapPointPtr FindClosest (
+        enum cdrPointType TypeSet,
+        double PositionX,
+        double PositionY );
+    IVGSnapPointRangePtr Range (
+        SAFEARRAY * * References );
+    IVGSnapPointPtr AddUserSnapPoint (
+        double PositionX,
+        double PositionY,
+        double Direction,
+        VARIANT_BOOL UseDirection );
+    IVGSnapPointPtr AddUserSnapPointEx (
+        _bstr_t ID,
+        double PositionX,
+        double PositionY,
+        double Direction,
+        VARIANT_BOOL UseDirection );
+    IVGSnapPointRangePtr GetSelection ( );
+    HRESULT ClearSelection ( );
+    IVGSnapPointRangePtr GetAll ( );
+    IVGSnapPointPtr Edge (
+        long SegmentIndex,
+        double SegmentOffset );
+    IVGSnapPointPtr Auto ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_User (
+        /*[in]*/ BSTR ID,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BBox (
+        /*[in]*/ enum cdrReferencePoint Type,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Object (
+        /*[in]*/ enum cdrObjectSnapPointType Type,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindClosest (
+        /*[in]*/ enum cdrPointType TypeSet,
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Range (
+        /*[in]*/ SAFEARRAY * * References,
+        /*[out,retval]*/ struct IVGSnapPointRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddUserSnapPoint (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY,
+        /*[in]*/ double Direction,
+        /*[in]*/ VARIANT_BOOL UseDirection,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddUserSnapPointEx (
+        /*[in]*/ BSTR ID,
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY,
+        /*[in]*/ double Direction,
+        /*[in]*/ VARIANT_BOOL UseDirection,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Selection (
+        /*[out,retval]*/ struct IVGSnapPointRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ClearSelection ( ) = 0;
+      virtual HRESULT __stdcall get_All (
+        /*[out,retval]*/ struct IVGSnapPointRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Edge (
+        /*[in]*/ long SegmentIndex,
+        /*[in]*/ double SegmentOffset,
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Auto (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580016-9aa4-44fd-9547-4f91eb757ac4"))
+IVGConnector : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStartPoint,put=PutStartPoint))
+    IVGSnapPointPtr StartPoint;
+    __declspec(property(get=GetEndPoint,put=PutEndPoint))
+    IVGSnapPointPtr EndPoint;
+    __declspec(property(get=GetType))
+    enum cdrConnectorType Type;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGSnapPointPtr GetStartPoint ( );
+    void PutStartPoint (
+        struct IVGSnapPoint * ppVal );
+    IVGSnapPointPtr GetEndPoint ( );
+    void PutEndPoint (
+        struct IVGSnapPoint * ppVal );
+    enum cdrConnectorType GetType ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_StartPoint (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_StartPoint (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndPoint (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_EndPoint (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrConnectorType * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580023-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDimensionLinear : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrLinearDimensionType Type;
+    __declspec(property(get=GetPoint1,put=PutPoint1))
+    IVGSnapPointPtr Point1;
+    __declspec(property(get=GetPoint2,put=PutPoint2))
+    IVGSnapPointPtr Point2;
+    __declspec(property(get=GetTextCentered,put=PutTextCentered))
+    VARIANT_BOOL TextCentered;
+    __declspec(property(get=GetTextX,put=PutTextX))
+    double TextX;
+    __declspec(property(get=GetTextY,put=PutTextY))
+    double TextY;
+    __declspec(property(get=GetStyle,put=PutStyle))
+    enum cdrDimensionStyle Style;
+    __declspec(property(get=GetShowUnits,put=PutShowUnits))
+    VARIANT_BOOL ShowUnits;
+    __declspec(property(get=GetUnits,put=PutUnits))
+    enum cdrDimensionLinearUnits Units;
+    __declspec(property(get=GetPlacement,put=PutPlacement))
+    enum cdrDimensionPlacement Placement;
+    __declspec(property(get=GetHorizontalText,put=PutHorizontalText))
+    VARIANT_BOOL HorizontalText;
+    __declspec(property(get=GetReverseTerminators,put=PutReverseTerminators))
+    VARIANT_BOOL ReverseTerminators;
+    __declspec(property(get=GetAutoReverseTerminators,put=PutAutoReverseTerminators))
+    VARIANT_BOOL AutoReverseTerminators;
+    __declspec(property(get=GetReverseTerminatorLength))
+    double ReverseTerminatorLength;
+    __declspec(property(get=GetUseReverseTerminatorLength,put=PutUseReverseTerminatorLength))
+    VARIANT_BOOL UseReverseTerminatorLength;
+    __declspec(property(get=GetInnerDimensionLineVisible,put=PutInnerDimensionLineVisible))
+    VARIANT_BOOL InnerDimensionLineVisible;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrLinearDimensionType GetType ( );
+    IVGSnapPointPtr GetPoint1 ( );
+    void PutPoint1 (
+        struct IVGSnapPoint * ppVal );
+    IVGSnapPointPtr GetPoint2 ( );
+    void PutPoint2 (
+        struct IVGSnapPoint * ppVal );
+    VARIANT_BOOL GetTextCentered ( );
+    void PutTextCentered (
+        VARIANT_BOOL pVal );
+    double GetTextX ( );
+    void PutTextX (
+        double pVal );
+    double GetTextY ( );
+    void PutTextY (
+        double pVal );
+    enum cdrDimensionStyle GetStyle ( );
+    void PutStyle (
+        enum cdrDimensionStyle pVal );
+    VARIANT_BOOL GetShowUnits ( );
+    void PutShowUnits (
+        VARIANT_BOOL pVal );
+    enum cdrDimensionLinearUnits GetUnits ( );
+    void PutUnits (
+        enum cdrDimensionLinearUnits pVal );
+    enum cdrDimensionPlacement GetPlacement ( );
+    void PutPlacement (
+        enum cdrDimensionPlacement pVal );
+    VARIANT_BOOL GetHorizontalText ( );
+    void PutHorizontalText (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetReverseTerminators ( );
+    void PutReverseTerminators (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAutoReverseTerminators ( );
+    void PutAutoReverseTerminators (
+        VARIANT_BOOL pVal );
+    double GetReverseTerminatorLength ( );
+    VARIANT_BOOL GetUseReverseTerminatorLength ( );
+    void PutUseReverseTerminatorLength (
+        VARIANT_BOOL pVal );
+    HRESULT SetReverseTerminatorLength (
+        double Length );
+    VARIANT_BOOL GetInnerDimensionLineVisible ( );
+    void PutInnerDimensionLineVisible (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrLinearDimensionType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Point1 (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Point1 (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Point2 (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Point2 (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TextCentered (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextCentered (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TextX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TextY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ enum cdrDimensionStyle * pVal ) = 0;
+      virtual HRESULT __stdcall put_Style (
+        /*[in]*/ enum cdrDimensionStyle pVal ) = 0;
+      virtual HRESULT __stdcall get_ShowUnits (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShowUnits (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Units (
+        /*[out,retval]*/ enum cdrDimensionLinearUnits * pVal ) = 0;
+      virtual HRESULT __stdcall put_Units (
+        /*[in]*/ enum cdrDimensionLinearUnits pVal ) = 0;
+      virtual HRESULT __stdcall get_Placement (
+        /*[out,retval]*/ enum cdrDimensionPlacement * pVal ) = 0;
+      virtual HRESULT __stdcall put_Placement (
+        /*[in]*/ enum cdrDimensionPlacement pVal ) = 0;
+      virtual HRESULT __stdcall get_HorizontalText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_HorizontalText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ReverseTerminators (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ReverseTerminators (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoReverseTerminators (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoReverseTerminators (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ReverseTerminatorLength (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_UseReverseTerminatorLength (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseReverseTerminatorLength (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetReverseTerminatorLength (
+        /*[in]*/ double Length ) = 0;
+      virtual HRESULT __stdcall get_InnerDimensionLineVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_InnerDimensionLineVisible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580022-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDimensionAngular : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCenter,put=PutCenter))
+    IVGSnapPointPtr Center;
+    __declspec(property(get=GetPoint1,put=PutPoint1))
+    IVGSnapPointPtr Point1;
+    __declspec(property(get=GetPoint2,put=PutPoint2))
+    IVGSnapPointPtr Point2;
+    __declspec(property(get=GetTextX,put=PutTextX))
+    double TextX;
+    __declspec(property(get=GetTextY,put=PutTextY))
+    double TextY;
+    __declspec(property(get=GetShowUnits,put=PutShowUnits))
+    VARIANT_BOOL ShowUnits;
+    __declspec(property(get=GetUnits,put=PutUnits))
+    enum cdrDimensionAngularUnits Units;
+    __declspec(property(get=GetClockwise,put=PutClockwise))
+    VARIANT_BOOL Clockwise;
+    __declspec(property(get=GetInnerExtensionLinesVisible,put=PutInnerExtensionLinesVisible))
+    VARIANT_BOOL InnerExtensionLinesVisible;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGSnapPointPtr GetCenter ( );
+    void PutCenter (
+        struct IVGSnapPoint * ppVal );
+    IVGSnapPointPtr GetPoint1 ( );
+    void PutPoint1 (
+        struct IVGSnapPoint * ppVal );
+    IVGSnapPointPtr GetPoint2 ( );
+    void PutPoint2 (
+        struct IVGSnapPoint * ppVal );
+    double GetTextX ( );
+    void PutTextX (
+        double pVal );
+    double GetTextY ( );
+    void PutTextY (
+        double pVal );
+    VARIANT_BOOL GetShowUnits ( );
+    void PutShowUnits (
+        VARIANT_BOOL pVal );
+    enum cdrDimensionAngularUnits GetUnits ( );
+    void PutUnits (
+        enum cdrDimensionAngularUnits pVal );
+    VARIANT_BOOL GetClockwise ( );
+    void PutClockwise (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetInnerExtensionLinesVisible ( );
+    void PutInnerExtensionLinesVisible (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Center (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Center (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Point1 (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Point1 (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Point2 (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Point2 (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TextX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TextY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_ShowUnits (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShowUnits (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Units (
+        /*[out,retval]*/ enum cdrDimensionAngularUnits * pVal ) = 0;
+      virtual HRESULT __stdcall put_Units (
+        /*[in]*/ enum cdrDimensionAngularUnits pVal ) = 0;
+      virtual HRESULT __stdcall get_Clockwise (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Clockwise (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_InnerExtensionLinesVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_InnerExtensionLinesVisible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580059-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSegment : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrSegmentType Type;
+    __declspec(property(get=GetEndingControlPointY,put=PutEndingControlPointY))
+    double EndingControlPointY;
+    __declspec(property(get=GetSubPath))
+    IVGSubPathPtr SubPath;
+    __declspec(property(get=GetLength))
+    double Length;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetSubPathIndex))
+    long SubPathIndex;
+    __declspec(property(get=GetAbsoluteIndex))
+    long AbsoluteIndex;
+    __declspec(property(get=GetStartingControlPointLength,put=PutStartingControlPointLength))
+    double StartingControlPointLength;
+    __declspec(property(get=GetStartingControlPointAngle,put=PutStartingControlPointAngle))
+    double StartingControlPointAngle;
+    __declspec(property(get=GetEndingControlPointLength,put=PutEndingControlPointLength))
+    double EndingControlPointLength;
+    __declspec(property(get=GetSelected,put=PutSelected))
+    VARIANT_BOOL Selected;
+    __declspec(property(get=GetEndingControlPointAngle,put=PutEndingControlPointAngle))
+    double EndingControlPointAngle;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+    __declspec(property(get=GetStartNode))
+    IVGNodePtr StartNode;
+    __declspec(property(get=GetEndNode))
+    IVGNodePtr EndNode;
+    __declspec(property(get=GetStartingControlPointX,put=PutStartingControlPointX))
+    double StartingControlPointX;
+    __declspec(property(get=GetStartingControlPointY,put=PutStartingControlPointY))
+    double StartingControlPointY;
+    __declspec(property(get=GetEndingControlPointX,put=PutEndingControlPointX))
+    double EndingControlPointX;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    enum cdrSegmentType GetType ( );
+    void PutType (
+        enum cdrSegmentType pVal );
+    IVGSubPathPtr GetSubPath ( );
+    double GetLength ( );
+    long GetIndex ( );
+    long GetSubPathIndex ( );
+    long GetAbsoluteIndex ( );
+    double GetStartingControlPointLength ( );
+    void PutStartingControlPointLength (
+        double pVal );
+    double GetStartingControlPointAngle ( );
+    void PutStartingControlPointAngle (
+        double pVal );
+    double GetEndingControlPointLength ( );
+    void PutEndingControlPointLength (
+        double pVal );
+    double GetEndingControlPointAngle ( );
+    void PutEndingControlPointAngle (
+        double pVal );
+    HRESULT GetPointPositionAt (
+        double * x,
+        double * y,
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGNodePtr BreakApartAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGNodePtr AddNodeAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    double GetPerpendicularAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    double GetTangentAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGCrossPointsPtr GetIntersections (
+        struct IVGSegment * Target,
+        enum cdrSegmentOffsetType OffsetType );
+    IVGSegmentPtr Next ( );
+    IVGSegmentPtr Previous ( );
+    IVGNodePtr GetStartNode ( );
+    IVGNodePtr GetEndNode ( );
+    double GetStartingControlPointX ( );
+    void PutStartingControlPointX (
+        double pVal );
+    double GetStartingControlPointY ( );
+    void PutStartingControlPointY (
+        double pVal );
+    double GetEndingControlPointX ( );
+    void PutEndingControlPointX (
+        double pVal );
+    double GetEndingControlPointY ( );
+    void PutEndingControlPointY (
+        double pVal );
+    long GetPeaks (
+        double Angle,
+        double * Offset1,
+        double * Offset2,
+        enum cdrSegmentOffsetType OffsetType );
+    long GetBendPoints (
+        double * Offset1,
+        double * Offset2,
+        enum cdrSegmentOffsetType OffsetType );
+    double GetCurvatureAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    double GetCurveSpeedAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+    VARIANT_BOOL FindParamOffset (
+        double AbsoluteOffset,
+        double * ParamOffset,
+        double * Remainder );
+    double GetAbsoluteOffset (
+        double ParamOffset );
+    HRESULT GetStartingControlPointPosition (
+        double * PositionX,
+        double * PositionY );
+    HRESULT SetStartingControlPointPosition (
+        double PositionX,
+        double PositionY );
+    HRESULT GetEndingControlPointPosition (
+        double * PositionX,
+        double * PositionY );
+    HRESULT SetEndingControlPointPosition (
+        double PositionX,
+        double PositionY );
+    IVGCurvePtr GetCopy ( );
+    VARIANT_BOOL GetSelected ( );
+    void PutSelected (
+        VARIANT_BOOL pVal );
+    HRESULT CreateSelection ( );
+    IVGCurvePtr GetPolyline (
+        long CurvePrecision );
+    VARIANT_BOOL IsRectOnEdge (
+        double x1,
+        double y1,
+        double x2,
+        double y2 );
+    VARIANT_BOOL FindClosestPoint (
+        double x,
+        double y,
+        double * ParamOffset );
+    VARIANT_BOOL FindParamOffsetAtPoint (
+        double x,
+        double y,
+        double * ParamOffset,
+        double HotArea );
+    VARIANT_BOOL GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    IVGRectPtr GetBoundingBox ( );
+    IVGVectorPtr GetPerpendicularVectorAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType,
+        VARIANT_BOOL Normalize );
+    IVGVectorPtr GetTangentVectorAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType,
+        VARIANT_BOOL Normalize );
+    IVGPointPtr GetPointAt (
+        double Offset,
+        enum cdrSegmentOffsetType OffsetType );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrSegmentType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrSegmentType pVal ) = 0;
+      virtual HRESULT __stdcall get_SubPath (
+        /*[out,retval]*/ struct IVGSubPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Length (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_SubPathIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_AbsoluteIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_StartingControlPointLength (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartingControlPointLength (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_StartingControlPointAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartingControlPointAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndingControlPointLength (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndingControlPointLength (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndingControlPointAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndingControlPointAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPointPositionAt (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType ) = 0;
+      virtual HRESULT __stdcall raw_BreakApartAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddNodeAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPerpendicularAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetTangentAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetIntersections (
+        /*[in]*/ struct IVGSegment * Target,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGCrossPoints * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Next (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Previous (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StartNode (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndNode (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StartingControlPointX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartingControlPointX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_StartingControlPointY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartingControlPointY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndingControlPointX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndingControlPointX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndingControlPointY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndingControlPointY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPeaks (
+        /*[in]*/ double Angle,
+        /*[out]*/ double * Offset1,
+        /*[out]*/ double * Offset2,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetBendPoints (
+        /*[out]*/ double * Offset1,
+        /*[out]*/ double * Offset2,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCurvatureAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCurveSpeedAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindParamOffset (
+        /*[in]*/ double AbsoluteOffset,
+        /*[out]*/ double * ParamOffset,
+        /*[out]*/ double * Remainder,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetAbsoluteOffset (
+        /*[in]*/ double ParamOffset,
+        /*[out,retval]*/ double * AbsoluteOffset ) = 0;
+      virtual HRESULT __stdcall raw_GetStartingControlPointPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall raw_SetStartingControlPointPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall raw_GetEndingControlPointPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall raw_SetEndingControlPointPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Selected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Selected (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_GetPolyline (
+        /*[in]*/ long CurvePrecision,
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IsRectOnEdge (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindClosestPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out]*/ double * ParamOffset,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindParamOffsetAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out]*/ double * ParamOffset,
+        /*[in]*/ double HotArea,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPerpendicularVectorAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[in]*/ VARIANT_BOOL Normalize,
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetTangentVectorAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[in]*/ VARIANT_BOOL Normalize,
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPointAt (
+        /*[in]*/ double Offset,
+        /*[in]*/ enum cdrSegmentOffsetType OffsetType,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800d2-9aa4-44fd-9547-4f91eb757ac4"))
+IVGVector : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=Getx,put=Putx))
+    double x;
+    __declspec(property(get=Gety,put=Puty))
+    double y;
+    __declspec(property(get=GetLength,put=PutLength))
+    double Length;
+    __declspec(property(get=GetAngle,put=PutAngle))
+    double Angle;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double Getx ( );
+    void Putx (
+        double pVal );
+    double Gety ( );
+    void Puty (
+        double pVal );
+    double GetLength ( );
+    void PutLength (
+        double pVal );
+    double GetAngle ( );
+    void PutAngle (
+        double pVal );
+    IVGPointPtr GetOffsettedPoint (
+        struct IVGPoint * Origin,
+        double Distance );
+    HRESULT Add (
+        struct IVGVector * Vector );
+    HRESULT Subtract (
+        struct IVGVector * Vector );
+    HRESULT MultiplyBy (
+        double Multiplier );
+    HRESULT Negate ( );
+    HRESULT Normalize ( );
+    double AngleBetween (
+        struct IVGVector * Vector );
+    double SmallAngleBetween (
+        struct IVGVector * Vector );
+    double DotProduct (
+        struct IVGVector * Vector );
+    double CrossProduct (
+        struct IVGVector * Vector );
+    HRESULT SetFromPoints (
+        struct IVGPoint * Start,
+        struct IVGPoint * End );
+    IVGVectorPtr ProjectOnto (
+        struct IVGVector * Vector );
+    IVGVectorPtr GetCopy ( );
+    HRESULT BindToDocument (
+        struct IVGDocument * Document );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_x (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_x (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_y (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_y (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Length (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Length (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Angle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetOffsettedPoint (
+        /*[in]*/ struct IVGPoint * Origin,
+        /*[in]*/ double Distance,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGVector * Vector ) = 0;
+      virtual HRESULT __stdcall raw_Subtract (
+        /*[in]*/ struct IVGVector * Vector ) = 0;
+      virtual HRESULT __stdcall raw_MultiplyBy (
+        /*[in]*/ double Multiplier ) = 0;
+      virtual HRESULT __stdcall raw_Negate ( ) = 0;
+      virtual HRESULT __stdcall raw_Normalize ( ) = 0;
+      virtual HRESULT __stdcall raw_AngleBetween (
+        /*[in]*/ struct IVGVector * Vector,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SmallAngleBetween (
+        /*[in]*/ struct IVGVector * Vector,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_DotProduct (
+        /*[in]*/ struct IVGVector * Vector,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CrossProduct (
+        /*[in]*/ struct IVGVector * Vector,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetFromPoints (
+        /*[in]*/ struct IVGPoint * Start,
+        /*[in]*/ struct IVGPoint * End ) = 0;
+      virtual HRESULT __stdcall raw_ProjectOnto (
+        /*[in]*/ struct IVGVector * Vector,
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BindToDocument (
+        /*[in]*/ struct IVGDocument * Document ) = 0;
+};
+
+struct __declspec(uuid("b05800d0-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=Getx,put=Putx))
+    double x;
+    __declspec(property(get=Gety,put=Puty))
+    double y;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double Getx ( );
+    void Putx (
+        double pVal );
+    double Gety ( );
+    void Puty (
+        double pVal );
+    HRESULT Add (
+        struct IVGVector * Vector );
+    HRESULT Subtract (
+        struct IVGVector * Vector );
+    double DistanceTo (
+        struct IVGPoint * Point );
+    IVGPointPtr GetCopy ( );
+    HRESULT BindToDocument (
+        struct IVGDocument * Document );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_x (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_x (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_y (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_y (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGVector * Vector ) = 0;
+      virtual HRESULT __stdcall raw_Subtract (
+        /*[in]*/ struct IVGVector * Vector ) = 0;
+      virtual HRESULT __stdcall raw_DistanceTo (
+        /*[in]*/ struct IVGPoint * Point,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BindToDocument (
+        /*[in]*/ struct IVGDocument * Document ) = 0;
+};
+
+struct __declspec(uuid("b05800d1-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPointRange : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem,put=PutItem))
+    IVGPointPtr Item[];
+    __declspec(property(get=GetFirst))
+    IVGPointPtr First;
+    __declspec(property(get=GetLast))
+    IVGPointPtr Last;
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGPointPtr GetItem (
+        long Index );
+    void PutItem (
+        long Index,
+        struct IVGPoint * ppVal );
+    IUnknownPtr Get_NewEnum ( );
+    IVGPointPtr GetFirst ( );
+    IVGPointPtr GetLast ( );
+    long GetCount ( );
+    HRESULT AddPoint (
+        struct IVGPoint * Point );
+    HRESULT AddPointXY (
+        double x,
+        double y );
+    HRESULT InsertPoint (
+        long Index,
+        struct IVGPoint * Point );
+    HRESULT AddPoints (
+        struct IVGPointRange * Points );
+    HRESULT InsertPoints (
+        long Index,
+        struct IVGPointRange * Points );
+    HRESULT Remove (
+        long Index );
+    HRESULT RemoveRange (
+        long StartIndex,
+        long EndIndex );
+    HRESULT RemoveAll ( );
+    HRESULT RemoveAdjacentDuplicates ( );
+    HRESULT Reverse ( );
+    HRESULT Smoothen (
+        double NumberOfPointsToSmoothAcross,
+        VARIANT_BOOL Closed );
+    IVGPointRangePtr GetCopy ( );
+    HRESULT BindToDocument (
+        struct IVGDocument * Document );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddPoint (
+        /*[in]*/ struct IVGPoint * Point ) = 0;
+      virtual HRESULT __stdcall raw_AddPointXY (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_InsertPoint (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGPoint * Point ) = 0;
+      virtual HRESULT __stdcall raw_AddPoints (
+        /*[in]*/ struct IVGPointRange * Points ) = 0;
+      virtual HRESULT __stdcall raw_InsertPoints (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGPointRange * Points ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_RemoveRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long EndIndex ) = 0;
+      virtual HRESULT __stdcall raw_RemoveAll ( ) = 0;
+      virtual HRESULT __stdcall raw_RemoveAdjacentDuplicates ( ) = 0;
+      virtual HRESULT __stdcall raw_Reverse ( ) = 0;
+      virtual HRESULT __stdcall raw_Smoothen (
+        /*[in]*/ double NumberOfPointsToSmoothAcross,
+        /*[in]*/ VARIANT_BOOL Closed ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGPointRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BindToDocument (
+        /*[in]*/ struct IVGDocument * Document ) = 0;
+};
+
+struct __declspec(uuid("b05800d3-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTransformMatrix : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=Getd11,put=Putd11))
+    double d11;
+    __declspec(property(get=GetIsSkewedOrRotatedOrMirrored))
+    VARIANT_BOOL IsSkewedOrRotatedOrMirrored;
+    __declspec(property(get=Getd12,put=Putd12))
+    double d12;
+    __declspec(property(get=GetContainsOnlyTranslation))
+    VARIANT_BOOL ContainsOnlyTranslation;
+    __declspec(property(get=Getd21,put=Putd21))
+    double d21;
+    __declspec(property(get=GetIsSkewedOrRotated))
+    VARIANT_BOOL IsSkewedOrRotated;
+    __declspec(property(get=Getd22,put=Putd22))
+    double d22;
+    __declspec(property(get=GetIsScaledOrSkewedOrRotated))
+    VARIANT_BOOL IsScaledOrSkewedOrRotated;
+    __declspec(property(get=GetTranslationX,put=PutTranslationX))
+    double TranslationX;
+    __declspec(property(get=GetIsOrthogonal))
+    VARIANT_BOOL IsOrthogonal;
+    __declspec(property(get=GetTranslationY,put=PutTranslationY))
+    double TranslationY;
+    __declspec(property(get=GetIsOrthonormalAxisAligned))
+    VARIANT_BOOL IsOrthonormalAxisAligned;
+    __declspec(property(get=GetTranslation,put=PutTranslation))
+    IVGVectorPtr Translation;
+    __declspec(property(get=GetIsOrthonormal))
+    VARIANT_BOOL IsOrthonormal;
+    __declspec(property(get=GetIsMirrored))
+    VARIANT_BOOL IsMirrored;
+    __declspec(property(get=GetIsScaled))
+    VARIANT_BOOL IsScaled;
+    __declspec(property(get=GetIsTranslated))
+    VARIANT_BOOL IsTranslated;
+    __declspec(property(get=GetIsIdentity))
+    VARIANT_BOOL IsIdentity;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double Getd11 ( );
+    void Putd11 (
+        double pVal );
+    double Getd12 ( );
+    void Putd12 (
+        double pVal );
+    double Getd21 ( );
+    void Putd21 (
+        double pVal );
+    double Getd22 ( );
+    void Putd22 (
+        double pVal );
+    double GetTranslationX ( );
+    void PutTranslationX (
+        double pVal );
+    double GetTranslationY ( );
+    void PutTranslationY (
+        double pVal );
+    IVGVectorPtr GetTranslation ( );
+    void PutTranslation (
+        struct IVGVector * ppVal );
+    HRESULT SetToIdentity ( );
+    HRESULT Invert ( );
+    HRESULT TranslateBy (
+        double x,
+        double y );
+    HRESULT TranslateByVector (
+        struct IVGVector * Vector );
+    HRESULT SetTranslation (
+        double x,
+        double y );
+    HRESULT Rotate (
+        double Angle );
+    HRESULT RotateAround (
+        double Angle,
+        double x,
+        double y );
+    HRESULT Scale (
+        double ScaleX,
+        double ScaleY );
+    HRESULT ScaleAround (
+        double ScaleX,
+        double ScaleY,
+        double x,
+        double y );
+    HRESULT Transform (
+        struct IVGTransformMatrix * TransformMatrix );
+    HRESULT TransformAround (
+        struct IVGTransformMatrix * TransformMatrix,
+        double x,
+        double y );
+    HRESULT TransformPoint (
+        struct IVGPoint * Point );
+    HRESULT TransformPoints (
+        struct IVGPointRange * Points );
+    HRESULT TransformVector (
+        struct IVGVector * Vector );
+    HRESULT UntransformPoint (
+        struct IVGPoint * Point );
+    HRESULT UntransformPoints (
+        struct IVGPointRange * Points );
+    HRESULT UntransformVector (
+        struct IVGVector * Vector );
+    VARIANT_BOOL GetIsIdentity ( );
+    VARIANT_BOOL GetIsSkewedOrRotatedOrMirrored ( );
+    VARIANT_BOOL GetContainsOnlyTranslation ( );
+    VARIANT_BOOL GetIsSkewedOrRotated ( );
+    VARIANT_BOOL GetIsScaledOrSkewedOrRotated ( );
+    VARIANT_BOOL GetIsOrthogonal ( );
+    VARIANT_BOOL GetIsOrthonormalAxisAligned ( );
+    VARIANT_BOOL GetIsOrthonormal ( );
+    VARIANT_BOOL GetIsMirrored ( );
+    VARIANT_BOOL GetIsScaled ( );
+    VARIANT_BOOL GetIsTranslated ( );
+    IVGTransformMatrixPtr GetCopy ( );
+    HRESULT BindToDocument (
+        struct IVGDocument * Document );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_d11 (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_d11 (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_d12 (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_d12 (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_d21 (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_d21 (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_d22 (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_d22 (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TranslationX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TranslationX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TranslationY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TranslationY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Translation (
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Translation (
+        /*[in]*/ struct IVGVector * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetToIdentity ( ) = 0;
+      virtual HRESULT __stdcall raw_Invert ( ) = 0;
+      virtual HRESULT __stdcall raw_TranslateBy (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_TranslateByVector (
+        struct IVGVector * Vector ) = 0;
+      virtual HRESULT __stdcall raw_SetTranslation (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_Rotate (
+        /*[in]*/ double Angle ) = 0;
+      virtual HRESULT __stdcall raw_RotateAround (
+        /*[in]*/ double Angle,
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_Scale (
+        /*[in]*/ double ScaleX,
+        /*[in]*/ double ScaleY ) = 0;
+      virtual HRESULT __stdcall raw_ScaleAround (
+        /*[in]*/ double ScaleX,
+        /*[in]*/ double ScaleY,
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_Transform (
+        /*[in]*/ struct IVGTransformMatrix * TransformMatrix ) = 0;
+      virtual HRESULT __stdcall raw_TransformAround (
+        /*[in]*/ struct IVGTransformMatrix * TransformMatrix,
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_TransformPoint (
+        /*[in]*/ struct IVGPoint * Point ) = 0;
+      virtual HRESULT __stdcall raw_TransformPoints (
+        /*[in]*/ struct IVGPointRange * Points ) = 0;
+      virtual HRESULT __stdcall raw_TransformVector (
+        /*[in]*/ struct IVGVector * Vector ) = 0;
+      virtual HRESULT __stdcall raw_UntransformPoint (
+        /*[in]*/ struct IVGPoint * Point ) = 0;
+      virtual HRESULT __stdcall raw_UntransformPoints (
+        /*[in]*/ struct IVGPointRange * Points ) = 0;
+      virtual HRESULT __stdcall raw_UntransformVector (
+        /*[in]*/ struct IVGVector * Vector ) = 0;
+      virtual HRESULT __stdcall get_IsIdentity (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSkewedOrRotatedOrMirrored (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ContainsOnlyTranslation (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSkewedOrRotated (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsScaledOrSkewedOrRotated (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOrthogonal (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOrthonormalAxisAligned (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOrthonormal (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsMirrored (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsScaled (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsTranslated (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGTransformMatrix * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BindToDocument (
+        /*[in]*/ struct IVGDocument * Document ) = 0;
+};
+
+struct __declspec(uuid("b0580054-9aa4-44fd-9547-4f91eb757ac4"))
+IVGProperties : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem,put=PutItem))
+    _variant_t Item[][];
+    __declspec(property(get=GetIndex))
+    long Index[][];
+    __declspec(property(get=GetItemByIndex))
+    _variant_t ItemByIndex[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _variant_t GetItem (
+        _bstr_t Name,
+        long ID );
+    void PutItem (
+        _bstr_t Name,
+        long ID,
+        const _variant_t & pVal );
+    IUnknownPtr Get_NewEnum ( );
+    long GetIndex (
+        _bstr_t Name,
+        long ID );
+    _variant_t GetItemByIndex (
+        long Index );
+    HRESULT Delete (
+        _bstr_t Name,
+        long ID );
+    HRESULT DeleteByIndex (
+        long Index );
+    long GetCount ( );
+    HRESULT Description (
+        long Index,
+        BSTR * Name,
+        long * ID );
+    HRESULT PutFile (
+        _bstr_t Name,
+        long ID,
+        _bstr_t FileName );
+    HRESULT GetFile (
+        _bstr_t Name,
+        long ID,
+        _bstr_t FileName );
+    VARIANT_BOOL Exists (
+        _bstr_t Name,
+        long ID );
+    VARIANT_BOOL DeleteAll (
+        _bstr_t Name );
+    IVGPointPtr GetPoint (
+        _bstr_t uuidName );
+    HRESULT SetPoint (
+        _bstr_t uuidName,
+        struct IVGPoint * pVal );
+    IVGVectorPtr GetVector (
+        _bstr_t uuidName );
+    HRESULT SetVector (
+        _bstr_t uuidName,
+        struct IVGVector * pVal );
+    IVGCurvePtr GetCurve (
+        _bstr_t uuidName );
+    HRESULT SetCurve (
+        _bstr_t uuidName,
+        struct IVGCurve * pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ long ID,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall put_Item (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ long ID,
+        /*[in]*/ VARIANT pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ long ID,
+        /*[out,retval]*/ long * pIndex ) = 0;
+      virtual HRESULT __stdcall get_ItemByIndex (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ long ID ) = 0;
+      virtual HRESULT __stdcall raw_DeleteByIndex (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Description (
+        /*[in]*/ long Index,
+        /*[out]*/ BSTR * Name,
+        /*[out]*/ long * ID ) = 0;
+      virtual HRESULT __stdcall raw_PutFile (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ long ID,
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_GetFile (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ long ID,
+        /*[in]*/ BSTR FileName ) = 0;
+      virtual HRESULT __stdcall raw_Exists (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ long ID,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_DeleteAll (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPoint (
+        /*[in]*/ BSTR uuidName,
+        /*[out,retval]*/ struct IVGPoint * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_SetPoint (
+        /*[in]*/ BSTR uuidName,
+        /*[in]*/ struct IVGPoint * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetVector (
+        /*[in]*/ BSTR uuidName,
+        /*[out,retval]*/ struct IVGVector * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_SetVector (
+        /*[in]*/ BSTR uuidName,
+        /*[in]*/ struct IVGVector * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCurve (
+        /*[in]*/ BSTR uuidName,
+        /*[out,retval]*/ struct IVGCurve * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_SetCurve (
+        /*[in]*/ BSTR uuidName,
+        /*[in]*/ struct IVGCurve * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800ce-9aa4-44fd-9547-4f91eb757ac4"))
+IVGToolStateAttributes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPropertyBarGuid,put=PutPropertyBarGuid))
+    _bstr_t PropertyBarGuid;
+    __declspec(property(get=GetContextMenuGuid,put=PutContextMenuGuid))
+    _bstr_t ContextMenuGuid;
+    __declspec(property(get=GetUseTabletPressure,put=PutUseTabletPressure))
+    VARIANT_BOOL UseTabletPressure;
+    __declspec(property(get=GetAllowTempPickState,put=PutAllowTempPickState))
+    VARIANT_BOOL AllowTempPickState;
+    __declspec(property(get=GetAllowAutopan,put=PutAllowAutopan))
+    VARIANT_BOOL AllowAutopan;
+    __declspec(property(get=GetAllowContextMenu,put=PutAllowContextMenu))
+    VARIANT_BOOL AllowContextMenu;
+    __declspec(property(get=GetCanUpdateSelectionOnMouseClick,put=PutCanUpdateSelectionOnMouseClick))
+    VARIANT_BOOL CanUpdateSelectionOnMouseClick;
+    __declspec(property(get=GetDeselectOnLButtonDown,put=PutDeselectOnLButtonDown))
+    VARIANT_BOOL DeselectOnLButtonDown;
+    __declspec(property(get=GetEnterGraceStateOnLButtonDown,put=PutEnterGraceStateOnLButtonDown))
+    VARIANT_BOOL EnterGraceStateOnLButtonDown;
+    __declspec(property(put=PutStatusInfo))
+    _bstr_t StatusInfo;
+    __declspec(property(get=GetCurrentPressure))
+    double CurrentPressure;
+    __declspec(property(get=GetDocument))
+    IVGDocumentPtr Document;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetPropertyBarGuid ( );
+    void PutPropertyBarGuid (
+        _bstr_t pVal );
+    _bstr_t GetContextMenuGuid ( );
+    void PutContextMenuGuid (
+        _bstr_t pVal );
+    VARIANT_BOOL GetUseTabletPressure ( );
+    void PutUseTabletPressure (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAllowTempPickState ( );
+    void PutAllowTempPickState (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAllowAutopan ( );
+    void PutAllowAutopan (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAllowContextMenu ( );
+    void PutAllowContextMenu (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetCanUpdateSelectionOnMouseClick ( );
+    void PutCanUpdateSelectionOnMouseClick (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDeselectOnLButtonDown ( );
+    void PutDeselectOnLButtonDown (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetEnterGraceStateOnLButtonDown ( );
+    void PutEnterGraceStateOnLButtonDown (
+        VARIANT_BOOL pVal );
+    void PutStatusInfo (
+        _bstr_t _arg1 );
+    HRESULT SetCursor (
+        enum cdrCursorShape CursorShape );
+    HRESULT StartTimer (
+        long TimerId,
+        long TimeToTick,
+        VARIANT_BOOL OneTime );
+    HRESULT StopTimer (
+        long TimerId );
+    HRESULT SnapMouse (
+        struct IVGPoint * pt );
+    HRESULT AnchoredSnapMouse (
+        struct IVGPoint * pt,
+        struct IVGPoint * AnchorPoint );
+    HRESULT ConstrainMouse (
+        struct IVGPoint * pt,
+        struct IVGPoint * AnchorPoint );
+    VARIANT_BOOL IsKeyDown (
+        long KeyCode );
+    double GetCurrentPressure ( );
+    HRESULT SetCursorGuid (
+        _bstr_t newVal );
+    HRESULT SetStateHintsPage (
+        _bstr_t newVal );
+    HRESULT ExitTemporaryToolState ( );
+    IVGDocumentPtr GetDocument ( );
+    HRESULT SetFocus ( );
+    HRESULT CaptureMouse ( );
+    HRESULT ReleaseMouse ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_PropertyBarGuid (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_PropertyBarGuid (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_ContextMenuGuid (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_ContextMenuGuid (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_UseTabletPressure (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseTabletPressure (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AllowTempPickState (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AllowTempPickState (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AllowAutopan (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AllowAutopan (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AllowContextMenu (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AllowContextMenu (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_CanUpdateSelectionOnMouseClick (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_CanUpdateSelectionOnMouseClick (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DeselectOnLButtonDown (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DeselectOnLButtonDown (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_EnterGraceStateOnLButtonDown (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_EnterGraceStateOnLButtonDown (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall put_StatusInfo (
+        /*[in]*/ BSTR _arg1 ) = 0;
+      virtual HRESULT __stdcall raw_SetCursor (
+        /*[in]*/ enum cdrCursorShape CursorShape ) = 0;
+      virtual HRESULT __stdcall raw_StartTimer (
+        /*[in]*/ long TimerId,
+        /*[in]*/ long TimeToTick,
+        /*[in]*/ VARIANT_BOOL OneTime ) = 0;
+      virtual HRESULT __stdcall raw_StopTimer (
+        /*[in]*/ long TimerId ) = 0;
+      virtual HRESULT __stdcall raw_SnapMouse (
+        /*[in,out]*/ struct IVGPoint * pt ) = 0;
+      virtual HRESULT __stdcall raw_AnchoredSnapMouse (
+        /*[in,out]*/ struct IVGPoint * pt,
+        /*[in]*/ struct IVGPoint * AnchorPoint ) = 0;
+      virtual HRESULT __stdcall raw_ConstrainMouse (
+        /*[in,out]*/ struct IVGPoint * pt,
+        /*[in]*/ struct IVGPoint * AnchorPoint ) = 0;
+      virtual HRESULT __stdcall raw_IsKeyDown (
+        /*[in]*/ long KeyCode,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CurrentPressure (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetCursorGuid (
+        /*[in]*/ BSTR newVal ) = 0;
+      virtual HRESULT __stdcall raw_SetStateHintsPage (
+        /*[in]*/ BSTR newVal ) = 0;
+      virtual HRESULT __stdcall raw_ExitTemporaryToolState ( ) = 0;
+      virtual HRESULT __stdcall get_Document (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetFocus ( ) = 0;
+      virtual HRESULT __stdcall raw_CaptureMouse ( ) = 0;
+      virtual HRESULT __stdcall raw_ReleaseMouse ( ) = 0;
+};
+
+struct __declspec(uuid("b05800cf-9aa4-44fd-9547-4f91eb757ac4"))
+IVGToolState : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetIsDrawing))
+    VARIANT_BOOL IsDrawing;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT OnStartState (
+        struct IVGToolStateAttributes * StateAttributes );
+    HRESULT OnExitState ( );
+    HRESULT OnMouseMove (
+        struct IVGPoint * pt );
+    HRESULT OnLButtonDown (
+        struct IVGPoint * pt );
+    HRESULT OnLButtonDownLeaveGrace (
+        struct IVGPoint * pt );
+    HRESULT OnLButtonUp (
+        struct IVGPoint * pt );
+    HRESULT OnLButtonDblClick (
+        struct IVGPoint * pt );
+    HRESULT OnClick (
+        struct IVGPoint * pt,
+        VARIANT_BOOL * Handled );
+    HRESULT OnRButtonDown (
+        struct IVGPoint * pt,
+        VARIANT_BOOL * Handled );
+    HRESULT OnRButtonUp (
+        struct IVGPoint * pt,
+        VARIANT_BOOL * Handled );
+    HRESULT OnKeyDown (
+        long KeyCode,
+        VARIANT_BOOL * Handled );
+    HRESULT OnKeyUp (
+        long KeyCode,
+        VARIANT_BOOL * Handled );
+    HRESULT OnDelete (
+        VARIANT_BOOL * Handled );
+    HRESULT OnAbort ( );
+    HRESULT OnCommit (
+        struct IVGPoint * pt );
+    HRESULT OnSnapMouse (
+        struct IVGPoint * pt,
+        VARIANT_BOOL * Handled );
+    HRESULT OnTimer (
+        long TimerId,
+        long TimeEllapsed );
+    VARIANT_BOOL GetIsDrawing ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_OnStartState (
+        /*[in]*/ struct IVGToolStateAttributes * StateAttributes ) = 0;
+      virtual HRESULT __stdcall raw_OnExitState ( ) = 0;
+      virtual HRESULT __stdcall raw_OnMouseMove (
+        /*[in]*/ struct IVGPoint * pt ) = 0;
+      virtual HRESULT __stdcall raw_OnLButtonDown (
+        /*[in]*/ struct IVGPoint * pt ) = 0;
+      virtual HRESULT __stdcall raw_OnLButtonDownLeaveGrace (
+        /*[in]*/ struct IVGPoint * pt ) = 0;
+      virtual HRESULT __stdcall raw_OnLButtonUp (
+        /*[in]*/ struct IVGPoint * pt ) = 0;
+      virtual HRESULT __stdcall raw_OnLButtonDblClick (
+        /*[in]*/ struct IVGPoint * pt ) = 0;
+      virtual HRESULT __stdcall raw_OnClick (
+        /*[in]*/ struct IVGPoint * pt,
+        /*[in,out]*/ VARIANT_BOOL * Handled ) = 0;
+      virtual HRESULT __stdcall raw_OnRButtonDown (
+        /*[in]*/ struct IVGPoint * pt,
+        /*[in,out]*/ VARIANT_BOOL * Handled ) = 0;
+      virtual HRESULT __stdcall raw_OnRButtonUp (
+        /*[in]*/ struct IVGPoint * pt,
+        /*[in,out]*/ VARIANT_BOOL * Handled ) = 0;
+      virtual HRESULT __stdcall raw_OnKeyDown (
+        long KeyCode,
+        /*[in,out]*/ VARIANT_BOOL * Handled ) = 0;
+      virtual HRESULT __stdcall raw_OnKeyUp (
+        long KeyCode,
+        /*[in,out]*/ VARIANT_BOOL * Handled ) = 0;
+      virtual HRESULT __stdcall raw_OnDelete (
+        /*[in,out]*/ VARIANT_BOOL * Handled ) = 0;
+      virtual HRESULT __stdcall raw_OnAbort ( ) = 0;
+      virtual HRESULT __stdcall raw_OnCommit (
+        /*[in]*/ struct IVGPoint * pt ) = 0;
+      virtual HRESULT __stdcall raw_OnSnapMouse (
+        /*[in,out]*/ struct IVGPoint * pt,
+        /*[in,out]*/ VARIANT_BOOL * Handled ) = 0;
+      virtual HRESULT __stdcall raw_OnTimer (
+        /*[in]*/ long TimerId,
+        /*[in]*/ long TimeEllapsed ) = 0;
+      virtual HRESULT __stdcall get_IsDrawing (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800cb-9aa4-44fd-9547-4f91eb757ac4"))
+IVGOnScreenCurve : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Show ( );
+    HRESULT Hide ( );
+    HRESULT SetPen (
+        long Color,
+        long WidthInPixels,
+        enum cdrOnScreenCurvePenStyle Style );
+    HRESULT SetNoPen ( );
+    HRESULT SetBrush (
+        long Color );
+    HRESULT SetNoBrush ( );
+    HRESULT SetCurve (
+        struct IVGCurve * Curve );
+    HRESULT SetLine (
+        double x1,
+        double y1,
+        double x2,
+        double y2 );
+    HRESULT SetRectangle (
+        double x1,
+        double y1,
+        double x2,
+        double y2 );
+    HRESULT SetCircle (
+        double CenterX,
+        double CenterY,
+        double Radius );
+    HRESULT SetPoints (
+        struct IVGPointRange * Points );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Show ( ) = 0;
+      virtual HRESULT __stdcall raw_Hide ( ) = 0;
+      virtual HRESULT __stdcall raw_SetPen (
+        /*[in]*/ long Color,
+        long WidthInPixels,
+        /*[in]*/ enum cdrOnScreenCurvePenStyle Style ) = 0;
+      virtual HRESULT __stdcall raw_SetNoPen ( ) = 0;
+      virtual HRESULT __stdcall raw_SetBrush (
+        /*[in]*/ long Color ) = 0;
+      virtual HRESULT __stdcall raw_SetNoBrush ( ) = 0;
+      virtual HRESULT __stdcall raw_SetCurve (
+        /*[in]*/ struct IVGCurve * Curve ) = 0;
+      virtual HRESULT __stdcall raw_SetLine (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2 ) = 0;
+      virtual HRESULT __stdcall raw_SetRectangle (
+        /*[in]*/ double x1,
+        /*[in]*/ double y1,
+        /*[in]*/ double x2,
+        /*[in]*/ double y2 ) = 0;
+      virtual HRESULT __stdcall raw_SetCircle (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double Radius ) = 0;
+      virtual HRESULT __stdcall raw_SetPoints (
+        /*[in]*/ struct IVGPointRange * Points ) = 0;
+};
+
+struct __declspec(uuid("b05800d4-9aa4-44fd-9547-4f91eb757ac4"))
+IVGMathUtils : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGPointPtr Interpolate (
+        struct IVGPoint * S,
+        struct IVGPoint * E,
+        double t );
+    VARIANT_BOOL IntersectLineSegments (
+        struct IVGPoint * S1,
+        struct IVGPoint * E1,
+        struct IVGPoint * S2,
+        struct IVGPoint * E2,
+        struct IVGPoint * * ppVal );
+    double DistanceToLineSegment (
+        struct IVGPoint * S,
+        struct IVGPoint * E,
+        struct IVGPoint * Point );
+    IVGPointPtr ClosestPointToLineSegment (
+        struct IVGPoint * S,
+        struct IVGPoint * E,
+        struct IVGPoint * Point );
+    VARIANT_BOOL IntersectInfiniteLines (
+        struct IVGPoint * S1,
+        struct IVGPoint * E1,
+        struct IVGPoint * S2,
+        struct IVGPoint * E2,
+        struct IVGPoint * * ppVal );
+    double DistanceToInfiniteLine (
+        struct IVGPoint * S,
+        struct IVGPoint * E,
+        struct IVGPoint * Point );
+    IVGPointPtr ClosestPointToInfiniteLine (
+        struct IVGPoint * S,
+        struct IVGPoint * E,
+        struct IVGPoint * Point );
+    double GetRandomReal (
+        double low,
+        double High );
+    long GetRandomInteger (
+        long low,
+        long High );
+    HRESULT FitLineToPoints (
+        struct IVGPointRange * Points,
+        struct IVGPoint * * Origin,
+        struct IVGVector * * Direction );
+    IVGPointPtr MidPoint (
+        struct IVGPoint * S,
+        struct IVGPoint * E );
+    IVGPointPtr CreatePoint (
+        double x,
+        double y );
+    IVGVectorPtr CreateVector (
+        double x,
+        double y );
+    IVGPointRangePtr CreatePointRange ( );
+    IVGTransformMatrixPtr CreateIdentityTransformMatrix ( );
+    IVGTransformMatrixPtr CreateRotationTransformMatrix (
+        double Angle,
+        double OriginX,
+        double OriginY );
+    IVGTransformMatrixPtr CreateTranslationTransformMatrix (
+        double TranslateX,
+        double TranslateY );
+    IVGTransformMatrixPtr CreateScaleTransformMatrix (
+        double ScaleX,
+        double ScaleY,
+        double OriginX,
+        double OriginY );
+    IVGTransformMatrixPtr CreateLineSegmentTransformMatrix (
+        struct IVGPoint * FromStart,
+        struct IVGPoint * FromEnd,
+        struct IVGPoint * ToStart,
+        struct IVGPoint * ToEnd );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Interpolate (
+        /*[in]*/ struct IVGPoint * S,
+        /*[in]*/ struct IVGPoint * E,
+        /*[in]*/ double t,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IntersectLineSegments (
+        /*[in]*/ struct IVGPoint * S1,
+        /*[in]*/ struct IVGPoint * E1,
+        /*[in]*/ struct IVGPoint * S2,
+        /*[in]*/ struct IVGPoint * E2,
+        /*[out]*/ struct IVGPoint * * ppVal,
+        /*[out,retval]*/ VARIANT_BOOL * pResult ) = 0;
+      virtual HRESULT __stdcall raw_DistanceToLineSegment (
+        /*[in]*/ struct IVGPoint * S,
+        /*[in]*/ struct IVGPoint * E,
+        /*[in]*/ struct IVGPoint * Point,
+        /*[out,retval]*/ double * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ClosestPointToLineSegment (
+        /*[in]*/ struct IVGPoint * S,
+        /*[in]*/ struct IVGPoint * E,
+        /*[in]*/ struct IVGPoint * Point,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IntersectInfiniteLines (
+        /*[in]*/ struct IVGPoint * S1,
+        /*[in]*/ struct IVGPoint * E1,
+        /*[in]*/ struct IVGPoint * S2,
+        /*[in]*/ struct IVGPoint * E2,
+        /*[out]*/ struct IVGPoint * * ppVal,
+        /*[out,retval]*/ VARIANT_BOOL * pResult ) = 0;
+      virtual HRESULT __stdcall raw_DistanceToInfiniteLine (
+        /*[in]*/ struct IVGPoint * S,
+        /*[in]*/ struct IVGPoint * E,
+        /*[in]*/ struct IVGPoint * Point,
+        /*[out,retval]*/ double * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ClosestPointToInfiniteLine (
+        /*[in]*/ struct IVGPoint * S,
+        /*[in]*/ struct IVGPoint * E,
+        /*[in]*/ struct IVGPoint * Point,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetRandomReal (
+        /*[in]*/ double low,
+        /*[in]*/ double High,
+        /*[out,retval]*/ double * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetRandomInteger (
+        /*[in]*/ long low,
+        /*[in]*/ long High,
+        /*[out,retval]*/ long * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FitLineToPoints (
+        /*[in]*/ struct IVGPointRange * Points,
+        /*[out]*/ struct IVGPoint * * Origin,
+        /*[out]*/ struct IVGVector * * Direction ) = 0;
+      virtual HRESULT __stdcall raw_MidPoint (
+        /*[in]*/ struct IVGPoint * S,
+        /*[in]*/ struct IVGPoint * E,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreatePoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out,retval]*/ struct IVGPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateVector (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[out,retval]*/ struct IVGVector * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreatePointRange (
+        /*[out,retval]*/ struct IVGPointRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateIdentityTransformMatrix (
+        /*[out,retval]*/ struct IVGTransformMatrix * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateRotationTransformMatrix (
+        /*[in]*/ double Angle,
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[out,retval]*/ struct IVGTransformMatrix * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateTranslationTransformMatrix (
+        /*[in]*/ double TranslateX,
+        /*[in]*/ double TranslateY,
+        /*[out,retval]*/ struct IVGTransformMatrix * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateScaleTransformMatrix (
+        /*[in]*/ double ScaleX,
+        /*[in]*/ double ScaleY,
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[out,retval]*/ struct IVGTransformMatrix * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateLineSegmentTransformMatrix (
+        /*[in]*/ struct IVGPoint * FromStart,
+        /*[in]*/ struct IVGPoint * FromEnd,
+        /*[in]*/ struct IVGPoint * ToStart,
+        /*[in]*/ struct IVGPoint * ToEnd,
+        /*[out,retval]*/ struct IVGTransformMatrix * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580043-9aa4-44fd-9547-4f91eb757ac4"))
+IVGNodeRange : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGNodePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetType))
+    enum cdrNodeType Type;
+    __declspec(property(get=GetPositionX))
+    double PositionX;
+    __declspec(property(get=GetPositionY))
+    double PositionY;
+    __declspec(property(get=GetSizeWidth))
+    double SizeWidth;
+    __declspec(property(get=GetSizeHeight))
+    double SizeHeight;
+    __declspec(property(get=GetLastNode))
+    IVGNodePtr LastNode;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+    __declspec(property(get=GetSegmentRange))
+    IVGSegmentRangePtr SegmentRange;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+    __declspec(property(get=GetFirstNode))
+    IVGNodePtr FirstNode;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    IVGNodePtr GetItem (
+        long Index );
+    long GetCount ( );
+    enum cdrNodeType GetType ( );
+    double GetPositionX ( );
+    double GetPositionY ( );
+    double GetSizeWidth ( );
+    double GetSizeHeight ( );
+    HRESULT Add (
+        struct IVGNode * Node );
+    HRESULT Remove (
+        long Index );
+    HRESULT Move (
+        double DeltaX,
+        double DeltaY,
+        long AnchorIndex,
+        VARIANT_BOOL ElasticMode );
+    HRESULT Delete ( );
+    HRESULT Stretch (
+        float RatioX,
+        float RatioY,
+        VARIANT_BOOL UseAnchorPoint,
+        double StretchAnchorX,
+        double StretchAnchorY );
+    HRESULT Rotate (
+        double Angle,
+        VARIANT_BOOL UseCenterPoint,
+        double RotationCenterX,
+        double RotationCenterY );
+    HRESULT Skew (
+        double AngleX,
+        double AngleY,
+        VARIANT_BOOL UseAnchorPoint,
+        double SkewAnchorX,
+        double SkewAnchorY );
+    HRESULT AutoReduce (
+        double PrecisionMargin );
+    HRESULT RemoveAll ( );
+    HRESULT SetType (
+        enum cdrNodeType Type );
+    IUnknownPtr Get_NewEnum ( );
+    HRESULT AddRange (
+        struct IVGNodeRange * NodeRange );
+    IVGSegmentRangePtr GetSegmentRange ( );
+    HRESULT BreakApart ( );
+    HRESULT Smoothen (
+        long Smoothness );
+    HRESULT RemoveRange (
+        struct IVGNodeRange * NodeRange );
+    HRESULT Fillet (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT Chamfer (
+        double DistanceA,
+        double DistanceB,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT Scallop (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT CreateSelection ( );
+    HRESULT AddToSelection ( );
+    HRESULT RemoveFromSelection ( );
+    IVGNodePtr GetFirstNode ( );
+    IVGNodePtr GetLastNode ( );
+    VARIANT_BOOL GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    IVGRectPtr GetBoundingBox ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrNodeType * pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGNode * Node ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double DeltaX,
+        /*[in]*/ double DeltaY,
+        /*[in]*/ long AnchorIndex,
+        /*[in]*/ VARIANT_BOOL ElasticMode ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Stretch (
+        /*[in]*/ float RatioX,
+        /*[in]*/ float RatioY,
+        /*[in]*/ VARIANT_BOOL UseAnchorPoint,
+        /*[in]*/ double StretchAnchorX,
+        /*[in]*/ double StretchAnchorY ) = 0;
+      virtual HRESULT __stdcall raw_Rotate (
+        /*[in]*/ double Angle,
+        /*[in]*/ VARIANT_BOOL UseCenterPoint,
+        /*[in]*/ double RotationCenterX,
+        /*[in]*/ double RotationCenterY ) = 0;
+      virtual HRESULT __stdcall raw_Skew (
+        /*[in]*/ double AngleX,
+        /*[in]*/ double AngleY,
+        /*[in]*/ VARIANT_BOOL UseAnchorPoint,
+        /*[in]*/ double SkewAnchorX,
+        /*[in]*/ double SkewAnchorY ) = 0;
+      virtual HRESULT __stdcall raw_AutoReduce (
+        /*[in]*/ double PrecisionMargin ) = 0;
+      virtual HRESULT __stdcall raw_RemoveAll ( ) = 0;
+      virtual HRESULT __stdcall raw_SetType (
+        /*[in]*/ enum cdrNodeType Type ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddRange (
+        /*[in]*/ struct IVGNodeRange * NodeRange ) = 0;
+      virtual HRESULT __stdcall get_SegmentRange (
+        /*[out,retval]*/ struct IVGSegmentRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BreakApart ( ) = 0;
+      virtual HRESULT __stdcall raw_Smoothen (
+        /*[in]*/ long Smoothness ) = 0;
+      virtual HRESULT __stdcall raw_RemoveRange (
+        /*[in]*/ struct IVGNodeRange * NodeRange ) = 0;
+      virtual HRESULT __stdcall raw_Fillet (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_Chamfer (
+        /*[in]*/ double DistanceA,
+        /*[in]*/ double DistanceB,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_Scallop (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_AddToSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromSelection ( ) = 0;
+      virtual HRESULT __stdcall get_FirstNode (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LastNode (
+        /*[out,retval]*/ struct IVGNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058005a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSegmentRange : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGSegmentPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetType))
+    enum cdrSegmentType Type;
+    __declspec(property(get=GetLength))
+    double Length;
+    __declspec(property(get=GetNodeRange))
+    IVGNodeRangePtr NodeRange;
+    __declspec(property(get=GetFirstSegment))
+    IVGSegmentPtr FirstSegment;
+    __declspec(property(get=GetLastSegment))
+    IVGSegmentPtr LastSegment;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    IVGSegmentPtr GetItem (
+        long Index );
+    long GetCount ( );
+    enum cdrSegmentType GetType ( );
+    double GetLength ( );
+    HRESULT Add (
+        struct IVGSegment * Segment );
+    HRESULT Remove (
+        long Index );
+    HRESULT AddNode ( );
+    HRESULT RemoveAll ( );
+    HRESULT SetType (
+        enum cdrSegmentType Type );
+    IUnknownPtr Get_NewEnum ( );
+    HRESULT AddRange (
+        struct IVGSegmentRange * SegmentRange );
+    IVGNodeRangePtr GetNodeRange ( );
+    HRESULT RemoveRange (
+        struct IVGSegmentRange * SegmentRange );
+    IVGSegmentPtr GetFirstSegment ( );
+    IVGSegmentPtr GetLastSegment ( );
+    HRESULT CreateSelection ( );
+    HRESULT AddToSelection ( );
+    HRESULT RemoveFromSelection ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrSegmentType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Length (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGSegment * Segment ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_AddNode ( ) = 0;
+      virtual HRESULT __stdcall raw_RemoveAll ( ) = 0;
+      virtual HRESULT __stdcall raw_SetType (
+        /*[in]*/ enum cdrSegmentType Type ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddRange (
+        /*[in]*/ struct IVGSegmentRange * SegmentRange ) = 0;
+      virtual HRESULT __stdcall get_NodeRange (
+        /*[out,retval]*/ struct IVGNodeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_RemoveRange (
+        /*[in]*/ struct IVGSegmentRange * SegmentRange ) = 0;
+      virtual HRESULT __stdcall get_FirstSegment (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LastSegment (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_AddToSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromSelection ( ) = 0;
+};
+
+struct __declspec(uuid("b058005b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSegments : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGCurvePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGSegmentPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGSegmentPtr First;
+    __declspec(property(get=GetLast))
+    IVGSegmentPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGCurvePtr GetParent ( );
+    IVGSegmentPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGSegmentRangePtr Range (
+        SAFEARRAY * * IndexArray );
+    IVGSegmentRangePtr All ( );
+    IVGSegmentRangePtr AllExcluding (
+        SAFEARRAY * * IndexArray );
+    IVGSegmentPtr GetFirst ( );
+    IVGSegmentPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Range (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGSegmentRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_All (
+        /*[out,retval]*/ struct IVGSegmentRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AllExcluding (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGSegmentRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGSegment * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058000f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGBitmap : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetSizeWidth))
+    long SizeWidth;
+    __declspec(property(get=GetSizeHeight))
+    long SizeHeight;
+    __declspec(property(get=GetResolutionX))
+    long ResolutionX;
+    __declspec(property(get=GetResolutionY))
+    long ResolutionY;
+    __declspec(property(get=GetExternallyLinked))
+    VARIANT_BOOL ExternallyLinked;
+    __declspec(property(get=GetImage))
+    IVGImagePtr Image;
+    __declspec(property(get=GetImageAlpha))
+    IVGImagePtr ImageAlpha;
+    __declspec(property(get=GetLinkFileName,put=PutLinkFileName))
+    _bstr_t LinkFileName;
+    __declspec(property(get=GetMode))
+    enum cdrImageType Mode;
+    __declspec(property(get=GetTransparent))
+    VARIANT_BOOL Transparent;
+    __declspec(property(get=GetWatermarked))
+    VARIANT_BOOL Watermarked;
+    __declspec(property(get=GetOPILinked))
+    VARIANT_BOOL OPILinked;
+    __declspec(property(get=GetIsEPS))
+    VARIANT_BOOL IsEPS;
+    __declspec(property(get=GetExternalLinkTime))
+    DATE ExternalLinkTime;
+    __declspec(property(get=GetEmbedded))
+    VARIANT_BOOL Embedded;
+    __declspec(property(get=GetCropped))
+    VARIANT_BOOL Cropped;
+    __declspec(property(get=GetCropEnvelopeModified))
+    VARIANT_BOOL CropEnvelopeModified;
+    __declspec(property(get=GetCropEnvelope))
+    IVGCurvePtr CropEnvelope;
+    __declspec(property(get=GetBoundingBoxPath))
+    IVGCurvePtr BoundingBoxPath;
+    __declspec(property(get=GetDuotone))
+    IVGDuotonePtr Duotone;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetSizeWidth ( );
+    long GetSizeHeight ( );
+    long GetResolutionX ( );
+    long GetResolutionY ( );
+    VARIANT_BOOL GetExternallyLinked ( );
+    HRESULT ResolveLink ( );
+    HRESULT UpdateLink ( );
+    HRESULT Inflate (
+        long Width,
+        long Height );
+    _bstr_t GetLinkFileName ( );
+    enum cdrImageType GetMode ( );
+    ICorelExportFilterPtr SaveAs (
+        _bstr_t FileName,
+        enum cdrFilter Filter,
+        enum cdrCompressionType Compression );
+    HRESULT Resample (
+        long Width,
+        long Height,
+        VARIANT_BOOL AntiAlias,
+        double ResolutionX,
+        double ResolutionY );
+    HRESULT ConvertTo (
+        enum cdrImageType Mode );
+    HRESULT ApplyBitmapEffect (
+        _bstr_t UndoString,
+        _bstr_t Command );
+    HRESULT Crop ( );
+    VARIANT_BOOL GetTransparent ( );
+    VARIANT_BOOL GetWatermarked ( );
+    VARIANT_BOOL GetOPILinked ( );
+    VARIANT_BOOL GetIsEPS ( );
+    DATE GetExternalLinkTime ( );
+    HRESULT ConvertToPaletted (
+        enum cdrImagePaletteType PaletteType,
+        enum cdrDitherType DitherType,
+        long DitherIntensity,
+        long Smoothing,
+        long NumColors,
+        VARIANT_BOOL ColorSensitive,
+        long TargetColor,
+        long Importance,
+        long Lightness,
+        long ToleranceA,
+        long ToleranceB,
+        VARIANT * Palette = &vtMissing );
+    HRESULT ConvertToPaletted2 (
+        struct IVGStructPaletteOptions * Options );
+    HRESULT ConvertToBW (
+        enum cdrRenderType RenderType,
+        long Intensity,
+        long Threshold,
+        enum cdrHalftoneType Halftone,
+        long HalftoneAngle,
+        long HalftoneSize );
+    HRESULT ResetCropEnvelope ( );
+    VARIANT_BOOL GetEmbedded ( );
+    VARIANT_BOOL GetCropped ( );
+    VARIANT_BOOL GetCropEnvelopeModified ( );
+    IVGCurvePtr GetCropEnvelope ( );
+    IVGCurvePtr GetBoundingBoxPath ( );
+    HRESULT ConvertToDuotone (
+        struct IVGDuotone * Duotone );
+    IVGDuotonePtr GetDuotone ( );
+    void PutLinkFileName (
+        _bstr_t pVal );
+    IVGTraceSettingsPtr Trace (
+        enum cdrTraceType TraceType,
+        short Smoothing,
+        short DetailLevelPercent,
+        enum cdrColorType ColorMode,
+        enum cdrPaletteID PaletteID,
+        long ColorCount,
+        VARIANT_BOOL DeleteOriginalObject,
+        VARIANT_BOOL RemoveBackground,
+        VARIANT_BOOL RemoveEntireBackColor );
+    IVGImagePtr GetImage ( );
+    IVGImagePtr GetImageAlpha ( );
+    HRESULT SetImageData (
+        struct IVGImage * Image,
+        struct IVGImage * Alpha,
+        long OffsetX,
+        long OffsetY );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ResolutionX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ResolutionY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ExternallyLinked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ResolveLink ( ) = 0;
+      virtual HRESULT __stdcall raw_UpdateLink ( ) = 0;
+      virtual HRESULT __stdcall raw_Inflate (
+        /*[in]*/ long Width,
+        /*[in]*/ long Height ) = 0;
+      virtual HRESULT __stdcall get_LinkFileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Mode (
+        /*[out,retval]*/ enum cdrImageType * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SaveAs (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ enum cdrFilter Filter,
+        /*[in]*/ enum cdrCompressionType Compression,
+        /*[out,retval]*/ struct ICorelExportFilter * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Resample (
+        /*[in]*/ long Width,
+        /*[in]*/ long Height,
+        /*[in]*/ VARIANT_BOOL AntiAlias,
+        /*[in]*/ double ResolutionX,
+        /*[in]*/ double ResolutionY ) = 0;
+      virtual HRESULT __stdcall raw_ConvertTo (
+        /*[in]*/ enum cdrImageType Mode ) = 0;
+      virtual HRESULT __stdcall raw_ApplyBitmapEffect (
+        /*[in]*/ BSTR UndoString,
+        /*[in]*/ BSTR Command ) = 0;
+      virtual HRESULT __stdcall raw_Crop ( ) = 0;
+      virtual HRESULT __stdcall get_Transparent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Watermarked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_OPILinked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEPS (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ExternalLinkTime (
+        /*[out,retval]*/ DATE * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToPaletted (
+        /*[in]*/ enum cdrImagePaletteType PaletteType,
+        /*[in]*/ enum cdrDitherType DitherType,
+        /*[in]*/ long DitherIntensity,
+        /*[in]*/ long Smoothing,
+        /*[in]*/ long NumColors,
+        /*[in]*/ VARIANT_BOOL ColorSensitive,
+        /*[in]*/ long TargetColor,
+        /*[in]*/ long Importance,
+        /*[in]*/ long Lightness,
+        /*[in]*/ long ToleranceA,
+        /*[in]*/ long ToleranceB,
+        /*[in]*/ VARIANT * Palette = &vtMissing ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToPaletted2 (
+        /*[in]*/ struct IVGStructPaletteOptions * Options ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToBW (
+        /*[in]*/ enum cdrRenderType RenderType,
+        /*[in]*/ long Intensity,
+        /*[in]*/ long Threshold,
+        /*[in]*/ enum cdrHalftoneType Halftone,
+        /*[in]*/ long HalftoneAngle,
+        /*[in]*/ long HalftoneSize ) = 0;
+      virtual HRESULT __stdcall raw_ResetCropEnvelope ( ) = 0;
+      virtual HRESULT __stdcall get_Embedded (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Cropped (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CropEnvelopeModified (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CropEnvelope (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBoxPath (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToDuotone (
+        /*[in]*/ struct IVGDuotone * Duotone ) = 0;
+      virtual HRESULT __stdcall get_Duotone (
+        /*[out,retval]*/ struct IVGDuotone * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_LinkFileName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall raw_Trace (
+        /*[in]*/ enum cdrTraceType TraceType,
+        /*[in]*/ short Smoothing,
+        /*[in]*/ short DetailLevelPercent,
+        /*[in]*/ enum cdrColorType ColorMode,
+        /*[in]*/ enum cdrPaletteID PaletteID,
+        /*[in]*/ long ColorCount,
+        /*[in]*/ VARIANT_BOOL DeleteOriginalObject,
+        /*[in]*/ VARIANT_BOOL RemoveBackground,
+        /*[in]*/ VARIANT_BOOL RemoveEntireBackColor,
+        /*[out,retval]*/ struct IVGTraceSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Image (
+        /*[out,retval]*/ struct IVGImage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ImageAlpha (
+        /*[out,retval]*/ struct IVGImage * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetImageData (
+        /*[in]*/ struct IVGImage * Image,
+        /*[in]*/ struct IVGImage * Alpha,
+        /*[in]*/ long OffsetX,
+        /*[in]*/ long OffsetY ) = 0;
+};
+
+struct __declspec(uuid("b05800a0-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEPS : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPreviewBitmap))
+    IVGBitmapPtr PreviewBitmap;
+    __declspec(property(get=GetData))
+    SAFEARRAY * Data;
+    __declspec(property(get=GetDataAsString))
+    _bstr_t DataAsString;
+    __declspec(property(get=GetCropEnvelope))
+    IVGCurvePtr CropEnvelope;
+    __declspec(property(get=GetCropEnvelopeModified))
+    VARIANT_BOOL CropEnvelopeModified;
+    __declspec(property(get=GetBoundingBoxPath))
+    IVGCurvePtr BoundingBoxPath;
+    __declspec(property(get=GetLinkFileName,put=PutLinkFileName))
+    _bstr_t LinkFileName;
+    __declspec(property(get=GetDCSFileNames))
+    SAFEARRAY * DCSFileNames;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGBitmapPtr GetPreviewBitmap ( );
+    SAFEARRAY * GetData ( );
+    _bstr_t GetDataAsString ( );
+    IVGCurvePtr GetCropEnvelope ( );
+    HRESULT ResetCropEnvelope ( );
+    VARIANT_BOOL GetCropEnvelopeModified ( );
+    IVGCurvePtr GetBoundingBoxPath ( );
+    _bstr_t GetLinkFileName ( );
+    void PutLinkFileName (
+        _bstr_t pVal );
+    SAFEARRAY * GetDCSFileNames ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_PreviewBitmap (
+        /*[out,retval]*/ struct IVGBitmap * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Data (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall get_DataAsString (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_CropEnvelope (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ResetCropEnvelope ( ) = 0;
+      virtual HRESULT __stdcall get_CropEnvelopeModified (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBoxPath (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LinkFileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_LinkFileName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DCSFileNames (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580091-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDuotone : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrDuotoneType Type;
+    __declspec(property(get=GetUseOverprints,put=PutUseOverprints))
+    VARIANT_BOOL UseOverprints;
+    __declspec(property(get=GetOverprintCount))
+    long OverprintCount;
+    __declspec(property(get=GetOverprints))
+    IVGDuotoneOverprintPtr Overprints[];
+    __declspec(property(get=GetInkCount))
+    long InkCount;
+    __declspec(property(get=GetInks))
+    IVGDuotoneInkPtr Inks[];
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrDuotoneType GetType ( );
+    void PutType (
+        enum cdrDuotoneType pVal );
+    VARIANT_BOOL GetUseOverprints ( );
+    void PutUseOverprints (
+        VARIANT_BOOL pVal );
+    long GetOverprintCount ( );
+    IVGDuotoneOverprintPtr GetOverprints (
+        long Index );
+    long GetInkCount ( );
+    IVGDuotoneInkPtr GetInks (
+        long Index );
+    IVGDuotonePtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct IVGDuotone * Duotone );
+    HRESULT ResetOverprints ( );
+    VARIANT_BOOL Load (
+        _bstr_t FileName );
+    VARIANT_BOOL Save (
+        _bstr_t FileName );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrDuotoneType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrDuotoneType pVal ) = 0;
+      virtual HRESULT __stdcall get_UseOverprints (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseOverprints (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OverprintCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Overprints (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGDuotoneOverprint * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_InkCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Inks (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGDuotoneInk * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGDuotone * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGDuotone * Duotone ) = 0;
+      virtual HRESULT __stdcall raw_ResetOverprints ( ) = 0;
+      virtual HRESULT __stdcall raw_Load (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Save (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580092-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDuotoneOverprint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCyan,put=PutCyan))
+    long Cyan;
+    __declspec(property(get=GetMagenta,put=PutMagenta))
+    long Magenta;
+    __declspec(property(get=GetYellow,put=PutYellow))
+    long Yellow;
+    __declspec(property(get=GetBlack,put=PutBlack))
+    long Black;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCyan ( );
+    void PutCyan (
+        long pVal );
+    long GetMagenta ( );
+    void PutMagenta (
+        long pVal );
+    long GetYellow ( );
+    void PutYellow (
+        long pVal );
+    long GetBlack ( );
+    void PutBlack (
+        long pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    HRESULT Reset ( );
+    HRESULT SetValues (
+        long Cyan,
+        long Magenta,
+        long Yellow,
+        long Black );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Cyan (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Cyan (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Magenta (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Magenta (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Yellow (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Yellow (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Black (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Black (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_SetValues (
+        /*[in]*/ long Cyan,
+        /*[in]*/ long Magenta,
+        /*[in]*/ long Yellow,
+        /*[in]*/ long Black ) = 0;
+};
+
+struct __declspec(uuid("b0580012-9aa4-44fd-9547-4f91eb757ac4"))
+IVGColor : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetType))
+    enum cdrColorType Type;
+    __declspec(property(get=GetRGBRed,put=PutRGBRed))
+    long RGBRed;
+    __declspec(property(get=GetIsInGamut))
+    VARIANT_BOOL IsInGamut;
+    __declspec(property(get=GetRGBGreen,put=PutRGBGreen))
+    long RGBGreen;
+    __declspec(property(get=GetInGamutColor))
+    IVGColorPtr InGamutColor;
+    __declspec(property(get=GetRGBBlue,put=PutRGBBlue))
+    long RGBBlue;
+    __declspec(property(get=GetIsCMYK))
+    VARIANT_BOOL IsCMYK;
+    __declspec(property(get=GetIsGray))
+    VARIANT_BOOL IsGray;
+    __declspec(property(get=GetIsWhite))
+    VARIANT_BOOL IsWhite;
+    __declspec(property(get=GetCMYKCyan,put=PutCMYKCyan))
+    long CMYKCyan;
+    __declspec(property(get=GetIsSpot))
+    VARIANT_BOOL IsSpot;
+    __declspec(property(get=GetCMYKYellow,put=PutCMYKYellow))
+    long CMYKYellow;
+    __declspec(property(get=GetIsTintable))
+    VARIANT_BOOL IsTintable;
+    __declspec(property(get=GetCMYKMagenta,put=PutCMYKMagenta))
+    long CMYKMagenta;
+    __declspec(property(get=GetIsValidDuotoneColor))
+    VARIANT_BOOL IsValidDuotoneColor;
+    __declspec(property(get=GetCMYKBlack,put=PutCMYKBlack))
+    long CMYKBlack;
+    __declspec(property(get=GetValidDuotoneColor))
+    IVGColorPtr ValidDuotoneColor;
+    __declspec(property(get=GetHexValue,put=PutHexValue))
+    _bstr_t HexValue;
+    __declspec(property(get=GetRGBValue,put=PutRGBValue))
+    long RGBValue;
+    __declspec(property(get=GetCMYCyan,put=PutCMYCyan))
+    long CMYCyan;
+    __declspec(property(get=GetCMYMagenta,put=PutCMYMagenta))
+    long CMYMagenta;
+    __declspec(property(get=GetColorContext))
+    IVGColorContextPtr ColorContext;
+    __declspec(property(get=GetCMYYellow,put=PutCMYYellow))
+    long CMYYellow;
+    __declspec(property(get=GetPalette))
+    IVGPalettePtr Palette;
+    __declspec(property(get=GetHSBHue,put=PutHSBHue))
+    long HSBHue;
+    __declspec(property(get=GetSpotColorID,put=PutSpotColorID))
+    long SpotColorID;
+    __declspec(property(get=GetHSBSaturation,put=PutHSBSaturation))
+    long HSBSaturation;
+    __declspec(property(get=GetSpotColorName))
+    _bstr_t SpotColorName;
+    __declspec(property(get=GetHSBBrightness,put=PutHSBBrightness))
+    long HSBBrightness;
+    __declspec(property(get=GetPaletteIdentifier))
+    _bstr_t PaletteIdentifier;
+    __declspec(property(get=GetIsColorStyle))
+    VARIANT_BOOL IsColorStyle;
+    __declspec(property(get=GetColorStyleName))
+    _bstr_t ColorStyleName;
+    __declspec(property(get=GetHLSHue,put=PutHLSHue))
+    long HLSHue;
+    __declspec(property(get=GetHLSLightness,put=PutHLSLightness))
+    long HLSLightness;
+    __declspec(property(get=GetHLSSaturation,put=PutHLSSaturation))
+    long HLSSaturation;
+    __declspec(property(get=GetBW,put=PutBW))
+    VARIANT_BOOL BW;
+    __declspec(property(get=GetGray,put=PutGray))
+    long Gray;
+    __declspec(property(get=GetName))
+    _bstr_t Name[];
+    __declspec(property(get=GetYIQLuminanceY,put=PutYIQLuminanceY))
+    long YIQLuminanceY;
+    __declspec(property(get=GetYIQChromaI,put=PutYIQChromaI))
+    long YIQChromaI;
+    __declspec(property(get=GetYIQChromaQ,put=PutYIQChromaQ))
+    long YIQChromaQ;
+    __declspec(property(get=GetLabLuminance,put=PutLabLuminance))
+    long LabLuminance;
+    __declspec(property(get=GetLabComponentA,put=PutLabComponentA))
+    long LabComponentA;
+    __declspec(property(get=GetLabComponentB,put=PutLabComponentB))
+    long LabComponentB;
+    __declspec(property(get=GetPaletteID))
+    enum cdrPaletteID PaletteID;
+    __declspec(property(get=GetPaletteIndex,put=PutPaletteIndex))
+    long PaletteIndex;
+    __declspec(property(get=GetTint,put=PutTint))
+    long Tint;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    enum cdrColorType GetType ( );
+    HRESULT RGBAssign (
+        long Red,
+        long Green,
+        long Blue );
+    long GetRGBRed ( );
+    void PutRGBRed (
+        long pVal );
+    long GetRGBGreen ( );
+    void PutRGBGreen (
+        long pVal );
+    long GetRGBBlue ( );
+    void PutRGBBlue (
+        long pVal );
+    HRESULT ConvertToRGB ( );
+    HRESULT CMYKAssign (
+        long Cyan,
+        long Magenta,
+        long Yellow,
+        long Black );
+    long GetCMYKCyan ( );
+    void PutCMYKCyan (
+        long pVal );
+    long GetCMYKYellow ( );
+    void PutCMYKYellow (
+        long pVal );
+    long GetCMYKMagenta ( );
+    void PutCMYKMagenta (
+        long pVal );
+    long GetCMYKBlack ( );
+    void PutCMYKBlack (
+        long pVal );
+    HRESULT ConvertToCMYK ( );
+    HRESULT CMYAssign (
+        long Cyan,
+        long Magenta,
+        long Yellow );
+    long GetCMYCyan ( );
+    void PutCMYCyan (
+        long pVal );
+    long GetCMYMagenta ( );
+    void PutCMYMagenta (
+        long pVal );
+    long GetCMYYellow ( );
+    void PutCMYYellow (
+        long pVal );
+    HRESULT ConvertToCMY ( );
+    HRESULT HSBAssign (
+        long Hue,
+        long Saturation,
+        long Brightness );
+    long GetHSBHue ( );
+    void PutHSBHue (
+        long pVal );
+    long GetHSBSaturation ( );
+    void PutHSBSaturation (
+        long pVal );
+    long GetHSBBrightness ( );
+    void PutHSBBrightness (
+        long pVal );
+    HRESULT ConvertToHSB ( );
+    HRESULT HLSAssign (
+        long Hue,
+        long Lightness,
+        long Saturation );
+    long GetHLSHue ( );
+    void PutHLSHue (
+        long pVal );
+    long GetHLSLightness ( );
+    void PutHLSLightness (
+        long pVal );
+    long GetHLSSaturation ( );
+    void PutHLSSaturation (
+        long pVal );
+    HRESULT ConvertToHLS ( );
+    HRESULT BWAssign (
+        VARIANT_BOOL White );
+    VARIANT_BOOL GetBW ( );
+    void PutBW (
+        VARIANT_BOOL pVal );
+    HRESULT ConvertToBW ( );
+    HRESULT GrayAssign (
+        long GrayValue );
+    long GetGray ( );
+    void PutGray (
+        long pVal );
+    HRESULT ConvertToGray ( );
+    HRESULT CorelScriptAssign (
+        long ColorModel,
+        long V1,
+        long V2,
+        long V3,
+        long V4,
+        long V5,
+        long V6,
+        long V7 );
+    HRESULT CorelScriptGetComponent (
+        long * ColorModel,
+        long * V1,
+        long * V2,
+        long * V3,
+        long * V4,
+        long * V5,
+        long * V6,
+        long * V7 );
+    HRESULT UserAssign (
+        long ParentWindowHandle );
+    HRESULT CopyAssign (
+        struct IVGColor * Color );
+    _bstr_t GetName (
+        VARIANT_BOOL Components );
+    HRESULT YIQAssign (
+        long y,
+        long I,
+        long Q );
+    long GetYIQLuminanceY ( );
+    void PutYIQLuminanceY (
+        long pVal );
+    long GetYIQChromaI ( );
+    void PutYIQChromaI (
+        long pVal );
+    long GetYIQChromaQ ( );
+    void PutYIQChromaQ (
+        long pVal );
+    HRESULT ConvertToYIQ ( );
+    HRESULT LabAssign (
+        long L,
+        long A,
+        long B );
+    long GetLabLuminance ( );
+    void PutLabLuminance (
+        long pVal );
+    long GetLabComponentA ( );
+    void PutLabComponentA (
+        long pVal );
+    long GetLabComponentB ( );
+    void PutLabComponentB (
+        long pVal );
+    HRESULT ConvertToLab ( );
+    HRESULT RegistrationAssign ( );
+    HRESULT FixedAssign (
+        enum cdrPaletteID PaletteID,
+        long PaletteIndex,
+        long Tint );
+    enum cdrPaletteID GetPaletteID ( );
+    long GetPaletteIndex ( );
+    void PutPaletteIndex (
+        long pVal );
+    long GetTint ( );
+    void PutTint (
+        long pVal );
+    HRESULT ConvertToFixed (
+        enum cdrPaletteID PaletteID );
+    VARIANT_BOOL UserAssignEx (
+        long ParentWindowHandle );
+    HRESULT SetName (
+        _bstr_t Name );
+    HRESULT BlendWith (
+        struct IVGColor * Color,
+        long MixRatio );
+    VARIANT_BOOL IsSame (
+        struct IVGColor * Color );
+    VARIANT_BOOL GetIsInGamut ( );
+    IVGColorPtr GetInGamutColor ( );
+    VARIANT_BOOL GetIsCMYK ( );
+    VARIANT_BOOL GetIsGray ( );
+    VARIANT_BOOL GetIsWhite ( );
+    VARIANT_BOOL GetIsSpot ( );
+    VARIANT_BOOL GetIsTintable ( );
+    VARIANT_BOOL GetIsValidDuotoneColor ( );
+    IVGColorPtr GetValidDuotoneColor ( );
+    long GetColorDistanceFrom (
+        struct IVGColor * Color );
+    VARIANT_BOOL IsSimilar (
+        struct IVGColor * Color );
+    _bstr_t ToString ( );
+    VARIANT_BOOL StringAssign (
+        _bstr_t ColorString );
+    HRESULT Invalidate ( );
+    _bstr_t GetHexValue ( );
+    void PutHexValue (
+        _bstr_t pVal );
+    IVGColorPtr GetCopy ( );
+    long GetRGBValue ( );
+    void PutRGBValue (
+        long pVal );
+    HRESULT CopyAppearance (
+        struct IVGColor * Color,
+        struct IVGColorContext * SourceColorContext );
+    IVGColorContextPtr GetColorContext ( );
+    VARIANT_BOOL ConvertTo (
+        enum cdrColorType ColorType,
+        struct IVGColorContext * DestinationColorContext,
+        struct IVGColorContext * SourceColorContext );
+    IVGPalettePtr GetPalette ( );
+    HRESULT SpotAssign (
+        _bstr_t PaletteIdentifier,
+        long SpotColorID,
+        long Tint );
+    HRESULT SpotAssignByName (
+        _bstr_t PaletteIdentifier,
+        _bstr_t SpotColorName,
+        long Tint );
+    HRESULT ConvertToPalette (
+        _bstr_t PaletteIdentifier );
+    long GetSpotColorID ( );
+    void PutSpotColorID (
+        long pVal );
+    _bstr_t GetSpotColorName ( );
+    HRESULT PaletteAssign (
+        _bstr_t PaletteIdentifier,
+        long ColorIndex );
+    _bstr_t GetPaletteIdentifier ( );
+    VARIANT_BOOL GetIsColorStyle ( );
+    _bstr_t GetColorStyleName ( );
+    HRESULT ModifyColorStyleColor (
+        struct IVGColor * Color,
+        VARIANT_BOOL ChangeWholeHarmony );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrColorType * Type ) = 0;
+      virtual HRESULT __stdcall raw_RGBAssign (
+        /*[in]*/ long Red,
+        /*[in]*/ long Green,
+        /*[in]*/ long Blue ) = 0;
+      virtual HRESULT __stdcall get_RGBRed (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_RGBRed (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_RGBGreen (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_RGBGreen (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_RGBBlue (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_RGBBlue (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToRGB ( ) = 0;
+      virtual HRESULT __stdcall raw_CMYKAssign (
+        /*[in]*/ long Cyan,
+        /*[in]*/ long Magenta,
+        /*[in]*/ long Yellow,
+        /*[in]*/ long Black ) = 0;
+      virtual HRESULT __stdcall get_CMYKCyan (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYKCyan (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CMYKYellow (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYKYellow (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CMYKMagenta (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYKMagenta (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CMYKBlack (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYKBlack (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToCMYK ( ) = 0;
+      virtual HRESULT __stdcall raw_CMYAssign (
+        /*[in]*/ long Cyan,
+        /*[in]*/ long Magenta,
+        /*[in]*/ long Yellow ) = 0;
+      virtual HRESULT __stdcall get_CMYCyan (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYCyan (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CMYMagenta (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYMagenta (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CMYYellow (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYYellow (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToCMY ( ) = 0;
+      virtual HRESULT __stdcall raw_HSBAssign (
+        /*[in]*/ long Hue,
+        /*[in]*/ long Saturation,
+        /*[in]*/ long Brightness ) = 0;
+      virtual HRESULT __stdcall get_HSBHue (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HSBHue (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HSBSaturation (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HSBSaturation (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HSBBrightness (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HSBBrightness (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToHSB ( ) = 0;
+      virtual HRESULT __stdcall raw_HLSAssign (
+        /*[in]*/ long Hue,
+        /*[in]*/ long Lightness,
+        /*[in]*/ long Saturation ) = 0;
+      virtual HRESULT __stdcall get_HLSHue (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HLSHue (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HLSLightness (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HLSLightness (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HLSSaturation (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HLSSaturation (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToHLS ( ) = 0;
+      virtual HRESULT __stdcall raw_BWAssign (
+        /*[in]*/ VARIANT_BOOL White ) = 0;
+      virtual HRESULT __stdcall get_BW (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_BW (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToBW ( ) = 0;
+      virtual HRESULT __stdcall raw_GrayAssign (
+        /*[in]*/ long GrayValue ) = 0;
+      virtual HRESULT __stdcall get_Gray (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Gray (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToGray ( ) = 0;
+      virtual HRESULT __stdcall raw_CorelScriptAssign (
+        /*[in]*/ long ColorModel,
+        /*[in]*/ long V1,
+        /*[in]*/ long V2,
+        /*[in]*/ long V3,
+        /*[in]*/ long V4,
+        /*[in]*/ long V5,
+        /*[in]*/ long V6,
+        /*[in]*/ long V7 ) = 0;
+      virtual HRESULT __stdcall raw_CorelScriptGetComponent (
+        /*[out]*/ long * ColorModel,
+        /*[out]*/ long * V1,
+        /*[out]*/ long * V2,
+        /*[out]*/ long * V3,
+        /*[out]*/ long * V4,
+        /*[out]*/ long * V5,
+        /*[out]*/ long * V6,
+        /*[out]*/ long * V7 ) = 0;
+      virtual HRESULT __stdcall raw_UserAssign (
+        /*[in]*/ long ParentWindowHandle ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGColor * Color ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[in]*/ VARIANT_BOOL Components,
+        /*[out,retval]*/ BSTR * Name ) = 0;
+      virtual HRESULT __stdcall raw_YIQAssign (
+        /*[in]*/ long y,
+        /*[in]*/ long I,
+        /*[in]*/ long Q ) = 0;
+      virtual HRESULT __stdcall get_YIQLuminanceY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_YIQLuminanceY (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_YIQChromaI (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_YIQChromaI (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_YIQChromaQ (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_YIQChromaQ (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToYIQ ( ) = 0;
+      virtual HRESULT __stdcall raw_LabAssign (
+        /*[in]*/ long L,
+        /*[in]*/ long A,
+        /*[in]*/ long B ) = 0;
+      virtual HRESULT __stdcall get_LabLuminance (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_LabLuminance (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_LabComponentA (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_LabComponentA (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_LabComponentB (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_LabComponentB (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToLab ( ) = 0;
+      virtual HRESULT __stdcall raw_RegistrationAssign ( ) = 0;
+      virtual HRESULT __stdcall raw_FixedAssign (
+        /*[in]*/ enum cdrPaletteID PaletteID,
+        /*[in]*/ long PaletteIndex,
+        /*[in]*/ long Tint ) = 0;
+      virtual HRESULT __stdcall get_PaletteID (
+        /*[out,retval]*/ enum cdrPaletteID * pVal ) = 0;
+      virtual HRESULT __stdcall get_PaletteIndex (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_PaletteIndex (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Tint (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Tint (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToFixed (
+        /*[in]*/ enum cdrPaletteID PaletteID ) = 0;
+      virtual HRESULT __stdcall raw_UserAssignEx (
+        /*[in]*/ long ParentWindowHandle,
+        /*[out,retval]*/ VARIANT_BOOL * pbOK ) = 0;
+      virtual HRESULT __stdcall raw_SetName (
+        /*[in]*/ BSTR Name ) = 0;
+      virtual HRESULT __stdcall raw_BlendWith (
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ long MixRatio ) = 0;
+      virtual HRESULT __stdcall raw_IsSame (
+        /*[in]*/ struct IVGColor * Color,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsInGamut (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_InGamutColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsCMYK (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsGray (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsWhite (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsSpot (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsTintable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsValidDuotoneColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ValidDuotoneColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetColorDistanceFrom (
+        /*[in]*/ struct IVGColor * Color,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsSimilar (
+        /*[in]*/ struct IVGColor * Color,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToString (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_StringAssign (
+        /*[in]*/ BSTR ColorString,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Invalidate ( ) = 0;
+      virtual HRESULT __stdcall get_HexValue (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_HexValue (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_RGBValue (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_RGBValue (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAppearance (
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGColorContext * SourceColorContext ) = 0;
+      virtual HRESULT __stdcall get_ColorContext (
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertTo (
+        /*[in]*/ enum cdrColorType ColorType,
+        /*[in]*/ struct IVGColorContext * DestinationColorContext,
+        /*[in]*/ struct IVGColorContext * SourceColorContext,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Palette (
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SpotAssign (
+        /*[in]*/ BSTR PaletteIdentifier,
+        /*[in]*/ long SpotColorID,
+        /*[in]*/ long Tint ) = 0;
+      virtual HRESULT __stdcall raw_SpotAssignByName (
+        /*[in]*/ BSTR PaletteIdentifier,
+        /*[in]*/ BSTR SpotColorName,
+        /*[in]*/ long Tint ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToPalette (
+        /*[in]*/ BSTR PaletteIdentifier ) = 0;
+      virtual HRESULT __stdcall get_SpotColorID (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpotColorID (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_SpotColorName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_PaletteAssign (
+        /*[in]*/ BSTR PaletteIdentifier,
+        /*[in]*/ long ColorIndex ) = 0;
+      virtual HRESULT __stdcall get_PaletteIdentifier (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsColorStyle (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorStyleName (
+        /*[out,retval]*/ BSTR * Name ) = 0;
+      virtual HRESULT __stdcall raw_ModifyColorStyleColor (
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ VARIANT_BOOL ChangeWholeHarmony ) = 0;
+};
+
+struct __declspec(uuid("b0580093-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDuotoneInk : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetHandleCount))
+    long HandleCount;
+    __declspec(property(get=GetHandleX,put=PutHandleX))
+    long HandleX[];
+    __declspec(property(get=GetHandleY,put=PutHandleY))
+    long HandleY[];
+    __declspec(property(get=GetCurveLevel))
+    long CurveLevel[];
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    long GetHandleCount ( );
+    long GetHandleX (
+        long Index );
+    void PutHandleX (
+        long Index,
+        long pVal );
+    long GetHandleY (
+        long Index );
+    void PutHandleY (
+        long Index,
+        long pVal );
+    long AddHandle (
+        long x,
+        long y );
+    VARIANT_BOOL RemoveHandle (
+        long Index );
+    long FindHandle (
+        long x,
+        long y );
+    VARIANT_BOOL Load (
+        _bstr_t FileName );
+    VARIANT_BOOL Save (
+        _bstr_t FileName );
+    long GetCurveLevel (
+        long Index );
+    HRESULT Reset ( );
+    SAFEARRAY * GetCurveLevels ( );
+    SAFEARRAY * GetHandles ( );
+    HRESULT PutHandles (
+        const _variant_t & HandleArray,
+        long NumElements );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_HandleCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_HandleX (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HandleX (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HandleY (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HandleY (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddHandle (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_RemoveHandle (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindHandle (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Load (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Save (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CurveLevel (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+      virtual HRESULT __stdcall raw_GetCurveLevels (
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetHandles (
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_PutHandles (
+        /*[in]*/ VARIANT HandleArray,
+        /*[in]*/ long NumElements ) = 0;
+};
+
+struct __declspec(uuid("b058003a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGFountainColor : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPosition))
+    long Position;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetMidPoint,put=PutMidPoint))
+    long MidPoint;
+    __declspec(property(get=GetBlendType,put=PutBlendType))
+    enum cdrFountainFillBlendType BlendType;
+    __declspec(property(get=GetOpacity,put=PutOpacity))
+    unsigned char Opacity;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetPosition ( );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    HRESULT Move (
+        long NewPosition );
+    HRESULT Delete ( );
+    long GetMidPoint ( );
+    void PutMidPoint (
+        long pVal );
+    enum cdrFountainFillBlendType GetBlendType ( );
+    void PutBlendType (
+        enum cdrFountainFillBlendType pVal );
+    unsigned char GetOpacity ( );
+    void PutOpacity (
+        unsigned char pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ long NewPosition ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall get_MidPoint (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MidPoint (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_BlendType (
+        /*[out,retval]*/ enum cdrFountainFillBlendType * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlendType (
+        /*[in]*/ enum cdrFountainFillBlendType pVal ) = 0;
+      virtual HRESULT __stdcall get_Opacity (
+        /*[out,retval]*/ unsigned char * pVal ) = 0;
+      virtual HRESULT __stdcall put_Opacity (
+        /*[in]*/ unsigned char pVal ) = 0;
+};
+
+struct __declspec(uuid("b058003b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGFountainColors : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem,put=PutItem))
+    IVGFountainColorPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetGrayLevel,put=PutGrayLevel))
+    long GrayLevel[];
+    __declspec(property(get=GetFirst))
+    IVGFountainColorPtr First;
+    __declspec(property(get=GetLast))
+    IVGFountainColorPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGFountainColorPtr GetItem (
+        long Index );
+    void PutItem (
+        long Index,
+        struct IVGFountainColor * ppVal );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    HRESULT Add (
+        struct IVGColor * Color,
+        long Position );
+    long GetGrayLevel (
+        long Index );
+    void PutGrayLevel (
+        long Index,
+        long pVal );
+    HRESULT AddGrayLevel (
+        long GrayLevel,
+        long Position );
+    IVGFountainColorPtr GetFirst ( );
+    IVGFountainColorPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGFountainColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGFountainColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ long Position ) = 0;
+      virtual HRESULT __stdcall get_GrayLevel (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_GrayLevel (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddGrayLevel (
+        /*[in]*/ long GrayLevel,
+        /*[in]*/ long Position ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGFountainColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGFountainColor * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058003c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGFountainFill : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrFountainFillType Type;
+    __declspec(property(get=GetSkew,put=PutSkew))
+    double Skew;
+    __declspec(property(get=GetStartX,put=PutStartX))
+    double StartX;
+    __declspec(property(get=GetBlendAcceleration,put=PutBlendAcceleration))
+    double BlendAcceleration;
+    __declspec(property(get=GetStartY,put=PutStartY))
+    double StartY;
+    __declspec(property(get=GetEndX,put=PutEndX))
+    double EndX;
+    __declspec(property(get=GetHasHSBBlends))
+    VARIANT_BOOL HasHSBBlends;
+    __declspec(property(get=GetEndY,put=PutEndY))
+    double EndY;
+    __declspec(property(get=GetHasNonLinearBlends))
+    VARIANT_BOOL HasNonLinearBlends;
+    __declspec(property(get=GetAngle))
+    double Angle;
+    __declspec(property(get=GetEnd2X,put=PutEnd2X))
+    double End2X;
+    __declspec(property(get=GetEnd2Y,put=PutEnd2Y))
+    double End2Y;
+    __declspec(property(get=GetEdgePad))
+    long EdgePad;
+    __declspec(property(get=GetSteps,put=PutSteps))
+    long Steps;
+    __declspec(property(get=GetBlendType,put=PutBlendType))
+    enum cdrFountainFillBlendType BlendType;
+    __declspec(property(get=GetMidPoint,put=PutMidPoint))
+    long MidPoint;
+    __declspec(property(get=GetColors,put=PutColors))
+    IVGFountainColorsPtr Colors;
+    __declspec(property(get=GetStartColor,put=PutStartColor))
+    IVGColorPtr StartColor;
+    __declspec(property(get=GetEndColor,put=PutEndColor))
+    IVGColorPtr EndColor;
+    __declspec(property(get=GetCenterOffsetX,put=PutCenterOffsetX))
+    double CenterOffsetX;
+    __declspec(property(get=GetCenterOffsetY,put=PutCenterOffsetY))
+    double CenterOffsetY;
+    __declspec(property(get=GetSmoothBlend,put=PutSmoothBlend))
+    VARIANT_BOOL SmoothBlend;
+    __declspec(property(get=GetSpreadMethod,put=PutSpreadMethod))
+    enum cdrFountainFillSpreadMethod SpreadMethod;
+    __declspec(property(get=GetAnisotropic,put=PutAnisotropic))
+    VARIANT_BOOL Anisotropic;
+    __declspec(property(get=GetIsTransparent))
+    VARIANT_BOOL IsTransparent;
+    __declspec(property(get=GetMergeMode,put=PutMergeMode))
+    enum cdrMergeMode MergeMode;
+    __declspec(property(get=GetScaleX,put=PutScaleX))
+    double ScaleX;
+    __declspec(property(get=GetScaleY,put=PutScaleY))
+    double ScaleY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrFountainFillType GetType ( );
+    void PutType (
+        enum cdrFountainFillType pVal );
+    double GetStartX ( );
+    void PutStartX (
+        double pVal );
+    double GetStartY ( );
+    void PutStartY (
+        double pVal );
+    double GetEndX ( );
+    void PutEndX (
+        double pVal );
+    double GetEndY ( );
+    void PutEndY (
+        double pVal );
+    double GetAngle ( );
+    HRESULT SetAngle (
+        double Angle );
+    HRESULT Translate (
+        double x,
+        double y );
+    long GetEdgePad ( );
+    long GetSteps ( );
+    void PutSteps (
+        long pVal );
+    enum cdrFountainFillBlendType GetBlendType ( );
+    void PutBlendType (
+        enum cdrFountainFillBlendType pVal );
+    long GetMidPoint ( );
+    void PutMidPoint (
+        long pVal );
+    IVGFountainColorsPtr GetColors ( );
+    IVGColorPtr GetStartColor ( );
+    void PutStartColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetEndColor ( );
+    void PutEndColor (
+        struct IVGColor * ppVal );
+    void PutColors (
+        struct IVGFountainColors * ppVal );
+    HRESULT SetEdgePad (
+        long EdgePad );
+    double GetCenterOffsetX ( );
+    void PutCenterOffsetX (
+        double pVal );
+    double GetCenterOffsetY ( );
+    void PutCenterOffsetY (
+        double pVal );
+    VARIANT_BOOL GetSmoothBlend ( );
+    void PutSmoothBlend (
+        VARIANT_BOOL pVal );
+    enum cdrFountainFillSpreadMethod GetSpreadMethod ( );
+    void PutSpreadMethod (
+        enum cdrFountainFillSpreadMethod pVal );
+    VARIANT_BOOL GetAnisotropic ( );
+    void PutAnisotropic (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetIsTransparent ( );
+    enum cdrMergeMode GetMergeMode ( );
+    void PutMergeMode (
+        enum cdrMergeMode pVal );
+    double GetScaleX ( );
+    void PutScaleX (
+        double pVal );
+    double GetScaleY ( );
+    void PutScaleY (
+        double pVal );
+    double GetSkew ( );
+    void PutSkew (
+        double pVal );
+    double GetBlendAcceleration ( );
+    void PutBlendAcceleration (
+        double pVal );
+    HRESULT MakeOpaque ( );
+    HRESULT GetTransformations (
+        double * d11,
+        double * d12,
+        double * d21,
+        double * d22 );
+    HRESULT SetTransformations (
+        double d11,
+        double d12,
+        double d21,
+        double d22 );
+    VARIANT_BOOL GetHasHSBBlends ( );
+    VARIANT_BOOL GetHasNonLinearBlends ( );
+    double GetEnd2X ( );
+    void PutEnd2X (
+        double pVal );
+    double GetEnd2Y ( );
+    void PutEnd2Y (
+        double pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrFountainFillType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrFountainFillType pVal ) = 0;
+      virtual HRESULT __stdcall get_StartX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_StartY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetAngle (
+        /*[in]*/ double Angle ) = 0;
+      virtual HRESULT __stdcall raw_Translate (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall get_EdgePad (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Steps (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Steps (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_BlendType (
+        /*[out,retval]*/ enum cdrFountainFillBlendType * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlendType (
+        /*[in]*/ enum cdrFountainFillBlendType pVal ) = 0;
+      virtual HRESULT __stdcall get_MidPoint (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MidPoint (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Colors (
+        /*[out,retval]*/ struct IVGFountainColors * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StartColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_StartColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_EndColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Colors (
+        /*[in]*/ struct IVGFountainColors * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetEdgePad (
+        /*[in]*/ long EdgePad ) = 0;
+      virtual HRESULT __stdcall get_CenterOffsetX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterOffsetX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterOffsetY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterOffsetY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SmoothBlend (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_SmoothBlend (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_SpreadMethod (
+        /*[out,retval]*/ enum cdrFountainFillSpreadMethod * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpreadMethod (
+        /*[in]*/ enum cdrFountainFillSpreadMethod pVal ) = 0;
+      virtual HRESULT __stdcall get_Anisotropic (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Anisotropic (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_IsTransparent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_MergeMode (
+        /*[out,retval]*/ enum cdrMergeMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_MergeMode (
+        /*[in]*/ enum cdrMergeMode pVal ) = 0;
+      virtual HRESULT __stdcall get_ScaleX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScaleX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_ScaleY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScaleY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Skew (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Skew (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_BlendAcceleration (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlendAcceleration (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_MakeOpaque ( ) = 0;
+      virtual HRESULT __stdcall raw_GetTransformations (
+        /*[out]*/ double * d11,
+        /*[out]*/ double * d12,
+        /*[out]*/ double * d21,
+        /*[out]*/ double * d22 ) = 0;
+      virtual HRESULT __stdcall raw_SetTransformations (
+        /*[in]*/ double d11,
+        /*[in]*/ double d12,
+        /*[in]*/ double d21,
+        /*[in]*/ double d22 ) = 0;
+      virtual HRESULT __stdcall get_HasHSBBlends (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasNonLinearBlends (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_End2X (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_End2X (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_End2Y (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_End2Y (
+        /*[in]*/ double pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580050-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPatternFill : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrPatternFillType Type;
+    __declspec(property(get=GetMirrorFillY,put=PutMirrorFillY))
+    VARIANT_BOOL MirrorFillY;
+    __declspec(property(get=GetFrontColor,put=PutFrontColor))
+    IVGColorPtr FrontColor;
+    __declspec(property(get=GetBackColor,put=PutBackColor))
+    IVGColorPtr BackColor;
+    __declspec(property(get=GetCanvas,put=PutCanvas))
+    IVGPatternCanvasPtr Canvas;
+    __declspec(property(get=GetFilePath))
+    _bstr_t FilePath;
+    __declspec(property(get=GetOriginX,put=PutOriginX))
+    double OriginX;
+    __declspec(property(get=GetOriginY,put=PutOriginY))
+    double OriginY;
+    __declspec(property(get=GetTileWidth,put=PutTileWidth))
+    double TileWidth;
+    __declspec(property(get=GetTileHeight,put=PutTileHeight))
+    double TileHeight;
+    __declspec(property(get=GetTileOffsetType,put=PutTileOffsetType))
+    enum cdrTileOffsetType TileOffsetType;
+    __declspec(property(get=GetTileOffset,put=PutTileOffset))
+    long TileOffset;
+    __declspec(property(get=GetSkewAngle,put=PutSkewAngle))
+    double SkewAngle;
+    __declspec(property(get=GetRotationAngle,put=PutRotationAngle))
+    double RotationAngle;
+    __declspec(property(get=GetTransformWithShape,put=PutTransformWithShape))
+    VARIANT_BOOL TransformWithShape;
+    __declspec(property(get=GetMirrorFill,put=PutMirrorFill))
+    VARIANT_BOOL MirrorFill;
+    __declspec(property(get=GetMirrorFillX,put=PutMirrorFillX))
+    VARIANT_BOOL MirrorFillX;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrPatternFillType GetType ( );
+    void PutType (
+        enum cdrPatternFillType pVal );
+    IVGColorPtr GetFrontColor ( );
+    void PutFrontColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetBackColor ( );
+    void PutBackColor (
+        struct IVGColor * ppVal );
+    IVGPatternCanvasPtr GetCanvas ( );
+    void PutCanvas (
+        struct IVGPatternCanvas * ppVal );
+    _bstr_t GetFilePath ( );
+    double GetOriginX ( );
+    void PutOriginX (
+        double pVal );
+    double GetOriginY ( );
+    void PutOriginY (
+        double pVal );
+    double GetTileWidth ( );
+    void PutTileWidth (
+        double pVal );
+    double GetTileHeight ( );
+    void PutTileHeight (
+        double pVal );
+    enum cdrTileOffsetType GetTileOffsetType ( );
+    void PutTileOffsetType (
+        enum cdrTileOffsetType pVal );
+    long GetTileOffset ( );
+    void PutTileOffset (
+        long pVal );
+    double GetSkewAngle ( );
+    void PutSkewAngle (
+        double pVal );
+    double GetRotationAngle ( );
+    void PutRotationAngle (
+        double pVal );
+    VARIANT_BOOL GetTransformWithShape ( );
+    void PutTransformWithShape (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL Load (
+        _bstr_t FileName );
+    VARIANT_BOOL GetMirrorFill ( );
+    void PutMirrorFill (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMirrorFillX ( );
+    void PutMirrorFillX (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMirrorFillY ( );
+    void PutMirrorFillY (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrPatternFillType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrPatternFillType pVal ) = 0;
+      virtual HRESULT __stdcall get_FrontColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_FrontColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BackColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_BackColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Canvas (
+        /*[out,retval]*/ struct IVGPatternCanvas * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Canvas (
+        /*[in]*/ struct IVGPatternCanvas * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FilePath (
+        /*[out,retval]*/ BSTR * FileName ) = 0;
+      virtual HRESULT __stdcall get_OriginX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOffsetType (
+        /*[out,retval]*/ enum cdrTileOffsetType * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOffsetType (
+        /*[in]*/ enum cdrTileOffsetType pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOffset (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOffset (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_SkewAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SkewAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TransformWithShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TransformWithShape (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Load (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFillX (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFillX (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFillY (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFillY (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580045-9aa4-44fd-9547-4f91eb757ac4"))
+IVGOutline : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetWidth,put=PutWidth))
+    double Width;
+    __declspec(property(get=GetDashDotLength,put=PutDashDotLength))
+    double DashDotLength;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrOutlineType Type;
+    __declspec(property(get=GetPenWidth,put=PutPenWidth))
+    double PenWidth;
+    __declspec(property(get=GetStyle,put=PutStyle))
+    IVGOutlineStylePtr Style;
+    __declspec(property(get=GetMiterLimit,put=PutMiterLimit))
+    double MiterLimit;
+    __declspec(property(get=GetStartArrow,put=PutStartArrow))
+    IVGArrowHeadPtr StartArrow;
+    __declspec(property(get=GetStartArrowOptions,put=PutStartArrowOptions))
+    IVGArrowHeadOptionsPtr StartArrowOptions;
+    __declspec(property(get=GetEndArrow,put=PutEndArrow))
+    IVGArrowHeadPtr EndArrow;
+    __declspec(property(get=GetEndArrowOptions,put=PutEndArrowOptions))
+    IVGArrowHeadOptionsPtr EndArrowOptions;
+    __declspec(property(get=GetNibStretch,put=PutNibStretch))
+    long NibStretch;
+    __declspec(property(get=GetJustification,put=PutJustification))
+    enum cdrOutlineJustification Justification;
+    __declspec(property(get=GetNibAngle,put=PutNibAngle))
+    double NibAngle;
+    __declspec(property(get=GetBehindFill,put=PutBehindFill))
+    VARIANT_BOOL BehindFill;
+    __declspec(property(get=GetAdjustDashes,put=PutAdjustDashes))
+    enum cdrOutlineDashAdjust AdjustDashes;
+    __declspec(property(get=GetLineCaps,put=PutLineCaps))
+    enum cdrOutlineLineCaps LineCaps;
+    __declspec(property(get=GetLineJoin,put=PutLineJoin))
+    enum cdrOutlineLineJoin LineJoin;
+    __declspec(property(get=GetScaleWithShape,put=PutScaleWithShape))
+    VARIANT_BOOL ScaleWithShape;
+    __declspec(property(get=GetSize,put=PutSize))
+    double Size;
+    __declspec(property(get=GetPSScreen))
+    IVGPSScreenOptionsPtr PSScreen;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double GetWidth ( );
+    void PutWidth (
+        double pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    IVGShapePtr ConvertToObject ( );
+    enum cdrOutlineType GetType ( );
+    void PutType (
+        enum cdrOutlineType Type );
+    IVGOutlineStylePtr GetStyle ( );
+    void PutStyle (
+        struct IVGOutlineStyle * ppStyle );
+    IVGArrowHeadPtr GetStartArrow ( );
+    void PutStartArrow (
+        struct IVGArrowHead * ppArrowHead );
+    IVGArrowHeadPtr GetEndArrow ( );
+    void PutEndArrow (
+        struct IVGArrowHead * ppArrowHead );
+    long GetNibStretch ( );
+    void PutNibStretch (
+        long pVal );
+    double GetNibAngle ( );
+    void PutNibAngle (
+        double pVal );
+    VARIANT_BOOL GetBehindFill ( );
+    void PutBehindFill (
+        VARIANT_BOOL pVal );
+    enum cdrOutlineLineCaps GetLineCaps ( );
+    void PutLineCaps (
+        enum cdrOutlineLineCaps pVal );
+    enum cdrOutlineLineJoin GetLineJoin ( );
+    void PutLineJoin (
+        enum cdrOutlineLineJoin pVal );
+    VARIANT_BOOL GetScaleWithShape ( );
+    void PutScaleWithShape (
+        VARIANT_BOOL pVal );
+    HRESULT SetProperties (
+        double Width,
+        struct IVGOutlineStyle * Style,
+        struct IVGColor * Color,
+        struct IVGArrowHead * StartArrow,
+        struct IVGArrowHead * EndArrow,
+        enum cdrTriState BehindFill,
+        enum cdrTriState ScaleWithShape,
+        enum cdrOutlineLineCaps LineCaps,
+        enum cdrOutlineLineJoin LineJoin,
+        double NibAngle,
+        long NibStretch,
+        double DashDotLength,
+        double PenWidth,
+        double MiterLimit );
+    double GetSize ( );
+    void PutSize (
+        double pVal );
+    IVGOutlinePtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct IVGOutline * SourceOutline );
+    VARIANT_BOOL UserAssign (
+        long ParentWindowHandle );
+    IVGPSScreenOptionsPtr GetPSScreen ( );
+    VARIANT_BOOL CompareWith (
+        struct IVGOutline * Outline );
+    double GetDashDotLength ( );
+    void PutDashDotLength (
+        double pVal );
+    _bstr_t ToString ( );
+    VARIANT_BOOL StringAssign (
+        _bstr_t OutlineString );
+    double GetPenWidth ( );
+    void PutPenWidth (
+        double pVal );
+    double GetMiterLimit ( );
+    void PutMiterLimit (
+        double pVal );
+    HRESULT SetNoOutline ( );
+    IVGArrowHeadOptionsPtr GetStartArrowOptions ( );
+    void PutStartArrowOptions (
+        struct IVGArrowHeadOptions * ppVal );
+    IVGArrowHeadOptionsPtr GetEndArrowOptions ( );
+    void PutEndArrowOptions (
+        struct IVGArrowHeadOptions * ppVal );
+    enum cdrOutlineJustification GetJustification ( );
+    void PutJustification (
+        enum cdrOutlineJustification pVal );
+    HRESULT SetPropertiesEx (
+        double Width,
+        struct IVGOutlineStyle * Style,
+        struct IVGColor * Color,
+        struct IVGArrowHead * StartArrow,
+        struct IVGArrowHead * EndArrow,
+        enum cdrTriState BehindFill,
+        enum cdrTriState ScaleWithShape,
+        enum cdrOutlineLineCaps LineCaps,
+        enum cdrOutlineLineJoin LineJoin,
+        double NibAngle,
+        long NibStretch,
+        double DashDotLength,
+        double PenWidth,
+        double MiterLimit,
+        enum cdrOutlineJustification Justification );
+    enum cdrOutlineDashAdjust GetAdjustDashes ( );
+    void PutAdjustDashes (
+        enum cdrOutlineDashAdjust pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToObject (
+        /*[out,retval]*/ struct IVGShape * * ppRetVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrOutlineType * Type ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrOutlineType Type ) = 0;
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGOutlineStyle * * ppStyle ) = 0;
+      virtual HRESULT __stdcall put_Style (
+        /*[in]*/ struct IVGOutlineStyle * ppStyle ) = 0;
+      virtual HRESULT __stdcall get_StartArrow (
+        /*[out,retval]*/ struct IVGArrowHead * * ppArrowHead ) = 0;
+      virtual HRESULT __stdcall put_StartArrow (
+        /*[in]*/ struct IVGArrowHead * ppArrowHead ) = 0;
+      virtual HRESULT __stdcall get_EndArrow (
+        /*[out,retval]*/ struct IVGArrowHead * * ppArrowHead ) = 0;
+      virtual HRESULT __stdcall put_EndArrow (
+        /*[in]*/ struct IVGArrowHead * ppArrowHead ) = 0;
+      virtual HRESULT __stdcall get_NibStretch (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_NibStretch (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_NibAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_NibAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_BehindFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_BehindFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_LineCaps (
+        /*[out,retval]*/ enum cdrOutlineLineCaps * pVal ) = 0;
+      virtual HRESULT __stdcall put_LineCaps (
+        /*[in]*/ enum cdrOutlineLineCaps pVal ) = 0;
+      virtual HRESULT __stdcall get_LineJoin (
+        /*[out,retval]*/ enum cdrOutlineLineJoin * pVal ) = 0;
+      virtual HRESULT __stdcall put_LineJoin (
+        /*[in]*/ enum cdrOutlineLineJoin pVal ) = 0;
+      virtual HRESULT __stdcall get_ScaleWithShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScaleWithShape (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetProperties (
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGArrowHead * StartArrow,
+        /*[in]*/ struct IVGArrowHead * EndArrow,
+        /*[in]*/ enum cdrTriState BehindFill,
+        /*[in]*/ enum cdrTriState ScaleWithShape,
+        /*[in]*/ enum cdrOutlineLineCaps LineCaps,
+        /*[in]*/ enum cdrOutlineLineJoin LineJoin,
+        /*[in]*/ double NibAngle,
+        /*[in]*/ long NibStretch,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth,
+        /*[in]*/ double MiterLimit ) = 0;
+      virtual HRESULT __stdcall get_Size (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Size (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGOutline * SourceOutline ) = 0;
+      virtual HRESULT __stdcall raw_UserAssign (
+        /*[in]*/ long ParentWindowHandle,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_PSScreen (
+        /*[out,retval]*/ struct IVGPSScreenOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CompareWith (
+        /*[in]*/ struct IVGOutline * Outline,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_DashDotLength (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_DashDotLength (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToString (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_StringAssign (
+        /*[in]*/ BSTR OutlineString,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_PenWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PenWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_MiterLimit (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_MiterLimit (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetNoOutline ( ) = 0;
+      virtual HRESULT __stdcall get_StartArrowOptions (
+        /*[out,retval]*/ struct IVGArrowHeadOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_StartArrowOptions (
+        /*[in]*/ struct IVGArrowHeadOptions * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndArrowOptions (
+        /*[out,retval]*/ struct IVGArrowHeadOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_EndArrowOptions (
+        /*[in]*/ struct IVGArrowHeadOptions * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Justification (
+        /*[out,retval]*/ enum cdrOutlineJustification * pVal ) = 0;
+      virtual HRESULT __stdcall put_Justification (
+        /*[in]*/ enum cdrOutlineJustification pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetPropertiesEx (
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGArrowHead * StartArrow,
+        /*[in]*/ struct IVGArrowHead * EndArrow,
+        /*[in]*/ enum cdrTriState BehindFill,
+        /*[in]*/ enum cdrTriState ScaleWithShape,
+        /*[in]*/ enum cdrOutlineLineCaps LineCaps,
+        /*[in]*/ enum cdrOutlineLineJoin LineJoin,
+        /*[in]*/ double NibAngle,
+        /*[in]*/ long NibStretch,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth,
+        /*[in]*/ double MiterLimit,
+        /*[in]*/ enum cdrOutlineJustification Justification ) = 0;
+      virtual HRESULT __stdcall get_AdjustDashes (
+        /*[out,retval]*/ enum cdrOutlineDashAdjust * pVal ) = 0;
+      virtual HRESULT __stdcall put_AdjustDashes (
+        /*[in]*/ enum cdrOutlineDashAdjust pVal ) = 0;
+};
+
+struct __declspec(uuid("b058009c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGHatchPattern : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetAngle,put=PutAngle))
+    double Angle;
+    __declspec(property(get=GetOriginX,put=PutOriginX))
+    double OriginX;
+    __declspec(property(get=GetOriginY,put=PutOriginY))
+    double OriginY;
+    __declspec(property(get=GetSpacing,put=PutSpacing))
+    double Spacing;
+    __declspec(property(get=GetShift,put=PutShift))
+    double Shift;
+    __declspec(property(get=GetShiftPercent,put=PutShiftPercent))
+    double ShiftPercent;
+    __declspec(property(get=GetOutline))
+    IVGOutlinePtr Outline;
+    __declspec(property(get=GetIndex))
+    long Index;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    double GetAngle ( );
+    void PutAngle (
+        double pVal );
+    double GetOriginX ( );
+    void PutOriginX (
+        double pVal );
+    double GetOriginY ( );
+    void PutOriginY (
+        double pVal );
+    double GetSpacing ( );
+    void PutSpacing (
+        double pVal );
+    double GetShift ( );
+    void PutShift (
+        double pVal );
+    double GetShiftPercent ( );
+    void PutShiftPercent (
+        double pVal );
+    IVGOutlinePtr GetOutline ( );
+    long GetIndex ( );
+    HRESULT Delete ( );
+    HRESULT SetOrigin (
+        double OriginX,
+        double OriginY );
+    HRESULT GetOrigin (
+        double * OriginX,
+        double * OriginY );
+    HRESULT SetProperties (
+        const _variant_t & Angle,
+        double Spacing,
+        const _variant_t & Shift,
+        const _variant_t & OriginX,
+        const _variant_t & OriginY,
+        double Width,
+        struct IVGColor * Color,
+        struct IVGOutlineStyle * Style,
+        double DashDotLength,
+        double PenWidth );
+    HRESULT Reset ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Angle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Spacing (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Spacing (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Shift (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Shift (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_ShiftPercent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShiftPercent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Outline (
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_SetOrigin (
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY ) = 0;
+      virtual HRESULT __stdcall raw_GetOrigin (
+        /*[out]*/ double * OriginX,
+        /*[out]*/ double * OriginY ) = 0;
+      virtual HRESULT __stdcall raw_SetProperties (
+        /*[in]*/ VARIANT Angle,
+        /*[in]*/ double Spacing,
+        /*[in]*/ VARIANT Shift,
+        /*[in]*/ VARIANT OriginX,
+        /*[in]*/ VARIANT OriginY,
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth ) = 0;
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+};
+
+struct __declspec(uuid("b058009b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGHatchPatterns : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGHatchPatternPtr Item[];
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    IVGHatchPatternPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    HRESULT Reset ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGHatchPattern * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Reset ( ) = 0;
+};
+
+struct __declspec(uuid("b05800d8-9aa4-44fd-9547-4f91eb757ac4"))
+IVGImage : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrImageType Type;
+    __declspec(property(get=GetWidth))
+    long Width;
+    __declspec(property(get=GetHeight))
+    long Height;
+    __declspec(property(get=GetPixel))
+    IVGColorPtr Pixel[][];
+    __declspec(property(get=GetReadOnly))
+    VARIANT_BOOL ReadOnly;
+    __declspec(property(get=GetTiles))
+    IVGImageTilesPtr Tiles;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrImageType GetType ( );
+    long GetWidth ( );
+    long GetHeight ( );
+    IVGColorPtr GetPixel (
+        long x,
+        long y );
+    IVGImagePtr GetCopy ( );
+    VARIANT_BOOL GetReadOnly ( );
+    IVGImageTilesPtr GetTiles ( );
+    HRESULT Blit (
+        long DestX,
+        long DestY,
+        long DestWidth,
+        long DestHeight,
+        struct IVGImage * SrcImage,
+        long SrcX,
+        long SrcY,
+        long SrcWidth,
+        long SrcHeight,
+        enum cdrMergeMode MergeMode );
+    HRESULT FillArea (
+        long x,
+        long y,
+        long Width,
+        long Height,
+        struct IVGColor * Color );
+    HRESULT FlipArea (
+        long x,
+        long y,
+        long Width,
+        long Height,
+        enum cdrFlipAxes Axes );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrImageType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Pixel (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGImage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ReadOnly (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Tiles (
+        /*[out,retval]*/ struct IVGImageTiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Blit (
+        /*[in]*/ long DestX,
+        /*[in]*/ long DestY,
+        /*[in]*/ long DestWidth,
+        /*[in]*/ long DestHeight,
+        /*[in]*/ struct IVGImage * SrcImage,
+        /*[in]*/ long SrcX,
+        /*[in]*/ long SrcY,
+        /*[in]*/ long SrcWidth,
+        /*[in]*/ long SrcHeight,
+        /*[in]*/ enum cdrMergeMode MergeMode ) = 0;
+      virtual HRESULT __stdcall raw_FillArea (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[in]*/ long Width,
+        /*[in]*/ long Height,
+        /*[in]*/ struct IVGColor * Color ) = 0;
+      virtual HRESULT __stdcall raw_FlipArea (
+        /*[in]*/ long x,
+        /*[in]*/ long y,
+        /*[in]*/ long Width,
+        /*[in]*/ long Height,
+        /*[in]*/ enum cdrFlipAxes Axes ) = 0;
+};
+
+struct __declspec(uuid("b058007d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTransparency : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetType))
+    enum cdrTransparencyType Type;
+    __declspec(property(get=GetUniform,put=PutUniform))
+    long Uniform;
+    __declspec(property(get=GetFountain,put=PutFountain))
+    IVGFountainFillPtr Fountain;
+    __declspec(property(get=GetPattern,put=PutPattern))
+    IVGPatternFillPtr Pattern;
+    __declspec(property(get=GetTexture,put=PutTexture))
+    IVGTextureFillPtr Texture;
+    __declspec(property(get=GetStart,put=PutStart))
+    long Start;
+    __declspec(property(get=GetEnd,put=PutEnd))
+    long End;
+    __declspec(property(get=GetFrozen))
+    VARIANT_BOOL Frozen;
+    __declspec(property(get=GetAppliedTo,put=PutAppliedTo))
+    enum cdrTransparencyAppliedTo AppliedTo;
+    __declspec(property(get=GetMergeMode,put=PutMergeMode))
+    enum cdrMergeMode MergeMode;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    enum cdrTransparencyType GetType ( );
+    long GetUniform ( );
+    void PutUniform (
+        long pVal );
+    IVGFountainFillPtr GetFountain ( );
+    void PutFountain (
+        struct IVGFountainFill * ppVal );
+    IVGPatternFillPtr GetPattern ( );
+    void PutPattern (
+        struct IVGPatternFill * ppVal );
+    IVGTextureFillPtr GetTexture ( );
+    void PutTexture (
+        struct IVGTextureFill * ppVal );
+    long GetStart ( );
+    void PutStart (
+        long pVal );
+    long GetEnd ( );
+    void PutEnd (
+        long pVal );
+    VARIANT_BOOL GetFrozen ( );
+    HRESULT ApplyNoTransparency ( );
+    HRESULT ApplyUniformTransparency (
+        long Value );
+    IVGFountainFillPtr ApplyFountainTransparency (
+        long Start,
+        long End,
+        enum cdrFountainFillType Type,
+        double Angle,
+        long Steps,
+        long EdgePad,
+        long MidPoint,
+        double CenterOffsetX,
+        double CenterOffsetY );
+    IVGPatternFillPtr ApplyPatternTransparency (
+        enum cdrPatternFillType Type,
+        _bstr_t FileName,
+        long PatternCanvasIndex,
+        long Front,
+        long Back,
+        VARIANT_BOOL TransformWithShape );
+    IVGTextureFillPtr ApplyTextureTransparency (
+        _bstr_t TextureName,
+        _bstr_t LibraryName,
+        long Front,
+        long Back );
+    HRESULT Freeze ( );
+    HRESULT Unfreeze ( );
+    enum cdrTransparencyAppliedTo GetAppliedTo ( );
+    void PutAppliedTo (
+        enum cdrTransparencyAppliedTo pVal );
+    enum cdrMergeMode GetMergeMode ( );
+    void PutMergeMode (
+        enum cdrMergeMode pVal );
+    VARIANT_BOOL UserAssign (
+        enum cdrTransparencyType TransparencyType,
+        enum cdrPatternFillType PatternType,
+        long ParentWindowHandle );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrTransparencyType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Uniform (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Uniform (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Fountain (
+        /*[out,retval]*/ struct IVGFountainFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Fountain (
+        /*[in]*/ struct IVGFountainFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Pattern (
+        /*[out,retval]*/ struct IVGPatternFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Pattern (
+        /*[in]*/ struct IVGPatternFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Texture (
+        /*[out,retval]*/ struct IVGTextureFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Texture (
+        /*[in]*/ struct IVGTextureFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Start (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Start (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_End (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_End (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Frozen (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyNoTransparency ( ) = 0;
+      virtual HRESULT __stdcall raw_ApplyUniformTransparency (
+        long Value ) = 0;
+      virtual HRESULT __stdcall raw_ApplyFountainTransparency (
+        /*[in]*/ long Start,
+        /*[in]*/ long End,
+        /*[in]*/ enum cdrFountainFillType Type,
+        /*[in]*/ double Angle,
+        /*[in]*/ long Steps,
+        /*[in]*/ long EdgePad,
+        /*[in]*/ long MidPoint,
+        /*[in]*/ double CenterOffsetX,
+        /*[in]*/ double CenterOffsetY,
+        /*[out,retval]*/ struct IVGFountainFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyPatternTransparency (
+        /*[in]*/ enum cdrPatternFillType Type,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ long PatternCanvasIndex,
+        /*[in]*/ long Front,
+        /*[in]*/ long Back,
+        /*[in]*/ VARIANT_BOOL TransformWithShape,
+        /*[out,retval]*/ struct IVGPatternFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyTextureTransparency (
+        /*[in]*/ BSTR TextureName,
+        /*[in]*/ BSTR LibraryName,
+        /*[in]*/ long Front,
+        /*[in]*/ long Back,
+        /*[out,retval]*/ struct IVGTextureFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Freeze ( ) = 0;
+      virtual HRESULT __stdcall raw_Unfreeze ( ) = 0;
+      virtual HRESULT __stdcall get_AppliedTo (
+        /*[out,retval]*/ enum cdrTransparencyAppliedTo * pVal ) = 0;
+      virtual HRESULT __stdcall put_AppliedTo (
+        /*[in]*/ enum cdrTransparencyAppliedTo pVal ) = 0;
+      virtual HRESULT __stdcall get_MergeMode (
+        /*[out,retval]*/ enum cdrMergeMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_MergeMode (
+        /*[in]*/ enum cdrMergeMode pVal ) = 0;
+      virtual HRESULT __stdcall raw_UserAssign (
+        /*[in]*/ enum cdrTransparencyType TransparencyType,
+        /*[in]*/ enum cdrPatternFillType PatternType,
+        /*[in]*/ long ParentWindowHandle,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580021-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDimension : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrDimensionType Type;
+    __declspec(property(get=GetLinear))
+    IVGDimensionLinearPtr Linear;
+    __declspec(property(get=GetAngular))
+    IVGDimensionAngularPtr Angular;
+    __declspec(property(get=GetPrecision,put=PutPrecision))
+    long Precision;
+    __declspec(property(get=GetBoxedText,put=PutBoxedText))
+    VARIANT_BOOL BoxedText;
+    __declspec(property(get=GetLeadingZero,put=PutLeadingZero))
+    VARIANT_BOOL LeadingZero;
+    __declspec(property(get=GetTextShape))
+    IVGShapePtr TextShape;
+    __declspec(property(get=GetPrefix,put=PutPrefix))
+    _bstr_t Prefix;
+    __declspec(property(get=GetSuffix,put=PutSuffix))
+    _bstr_t Suffix;
+    __declspec(property(get=GetOutline))
+    IVGOutlinePtr Outline;
+    __declspec(property(get=GetTextCentered,put=PutTextCentered))
+    VARIANT_BOOL TextCentered;
+    __declspec(property(get=GetShowUnits,put=PutShowUnits))
+    VARIANT_BOOL ShowUnits;
+    __declspec(property(get=GetPlacement,put=PutPlacement))
+    enum cdrDimensionPlacement Placement;
+    __declspec(property(get=GetHorizontalText,put=PutHorizontalText))
+    VARIANT_BOOL HorizontalText;
+    __declspec(property(get=GetDynamicText,put=PutDynamicText))
+    VARIANT_BOOL DynamicText;
+    __declspec(property(get=GetDistanceFromObject))
+    double DistanceFromObject;
+    __declspec(property(get=GetUseDistanceFromObject,put=PutUseDistanceFromObject))
+    VARIANT_BOOL UseDistanceFromObject;
+    __declspec(property(get=GetOverhang))
+    double Overhang;
+    __declspec(property(get=GetUseOverhang,put=PutUseOverhang))
+    VARIANT_BOOL UseOverhang;
+    __declspec(property(get=GetTextLabelGap))
+    double TextLabelGap;
+    __declspec(property(get=GetUseTextLabelGap,put=PutUseTextLabelGap))
+    VARIANT_BOOL UseTextLabelGap;
+    __declspec(property(get=GetExtensionLinesVisible,put=PutExtensionLinesVisible))
+    VARIANT_BOOL ExtensionLinesVisible;
+    __declspec(property(get=GetInnerExtensionLinesVisible,put=PutInnerExtensionLinesVisible))
+    VARIANT_BOOL InnerExtensionLinesVisible;
+    __declspec(property(get=GetGapOnFreeExtensionVisible,put=PutGapOnFreeExtensionVisible))
+    VARIANT_BOOL GapOnFreeExtensionVisible;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrDimensionType GetType ( );
+    IVGDimensionLinearPtr GetLinear ( );
+    IVGDimensionAngularPtr GetAngular ( );
+    long GetPrecision ( );
+    void PutPrecision (
+        long pVal );
+    VARIANT_BOOL GetBoxedText ( );
+    void PutBoxedText (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetLeadingZero ( );
+    void PutLeadingZero (
+        VARIANT_BOOL pVal );
+    IVGShapePtr GetTextShape ( );
+    _bstr_t GetPrefix ( );
+    void PutPrefix (
+        _bstr_t pVal );
+    _bstr_t GetSuffix ( );
+    void PutSuffix (
+        _bstr_t pVal );
+    IVGOutlinePtr GetOutline ( );
+    VARIANT_BOOL GetTextCentered ( );
+    void PutTextCentered (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetShowUnits ( );
+    void PutShowUnits (
+        VARIANT_BOOL pVal );
+    enum cdrDimensionPlacement GetPlacement ( );
+    void PutPlacement (
+        enum cdrDimensionPlacement pVal );
+    VARIANT_BOOL GetHorizontalText ( );
+    void PutHorizontalText (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDynamicText ( );
+    void PutDynamicText (
+        VARIANT_BOOL pVal );
+    double GetDistanceFromObject ( );
+    VARIANT_BOOL GetUseDistanceFromObject ( );
+    void PutUseDistanceFromObject (
+        VARIANT_BOOL pVal );
+    HRESULT SetDistanceFromObject (
+        double Distance );
+    double GetOverhang ( );
+    VARIANT_BOOL GetUseOverhang ( );
+    void PutUseOverhang (
+        VARIANT_BOOL pVal );
+    HRESULT SetOverhang (
+        double Overhang );
+    double GetTextLabelGap ( );
+    VARIANT_BOOL GetUseTextLabelGap ( );
+    void PutUseTextLabelGap (
+        VARIANT_BOOL pVal );
+    HRESULT SetTextLabelGap (
+        double Gap );
+    VARIANT_BOOL GetExtensionLinesVisible ( );
+    void PutExtensionLinesVisible (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetInnerExtensionLinesVisible ( );
+    void PutInnerExtensionLinesVisible (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetGapOnFreeExtensionVisible ( );
+    void PutGapOnFreeExtensionVisible (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrDimensionType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Linear (
+        /*[out,retval]*/ struct IVGDimensionLinear * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Angular (
+        /*[out,retval]*/ struct IVGDimensionAngular * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Precision (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Precision (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_BoxedText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_BoxedText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_LeadingZero (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_LeadingZero (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TextShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Prefix (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Prefix (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Suffix (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Suffix (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Outline (
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TextCentered (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextCentered (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ShowUnits (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShowUnits (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Placement (
+        /*[out,retval]*/ enum cdrDimensionPlacement * pVal ) = 0;
+      virtual HRESULT __stdcall put_Placement (
+        /*[in]*/ enum cdrDimensionPlacement pVal ) = 0;
+      virtual HRESULT __stdcall get_HorizontalText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_HorizontalText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DynamicText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DynamicText (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DistanceFromObject (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_UseDistanceFromObject (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseDistanceFromObject (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetDistanceFromObject (
+        /*[in]*/ double Distance ) = 0;
+      virtual HRESULT __stdcall get_Overhang (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_UseOverhang (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseOverhang (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetOverhang (
+        /*[in]*/ double Overhang ) = 0;
+      virtual HRESULT __stdcall get_TextLabelGap (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_UseTextLabelGap (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseTextLabelGap (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetTextLabelGap (
+        /*[in]*/ double Gap ) = 0;
+      virtual HRESULT __stdcall get_ExtensionLinesVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ExtensionLinesVisible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_InnerExtensionLinesVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_InnerExtensionLinesVisible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_GapOnFreeExtensionVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_GapOnFreeExtensionVisible (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800e8-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCommentAnnotation : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetEndArrowVisible,put=PutEndArrowVisible))
+    VARIANT_BOOL EndArrowVisible;
+    __declspec(property(get=GetCurve,put=PutCurve))
+    IVGCurvePtr Curve;
+    __declspec(property(get=GetOutlineWidth,put=PutOutlineWidth))
+    long OutlineWidth;
+    __declspec(property(get=GetFillColor,put=PutFillColor))
+    IVGColorPtr FillColor;
+    __declspec(property(get=GetOutlineColor,put=PutOutlineColor))
+    IVGColorPtr OutlineColor;
+    __declspec(property(get=GetType))
+    enum cdrCommentAnnotationType Type;
+    __declspec(property(get=GetStartArrowVisible,put=PutStartArrowVisible))
+    VARIANT_BOOL StartArrowVisible;
+    __declspec(property(get=GetSizeWidth,put=PutSizeWidth))
+    double SizeWidth;
+    __declspec(property(get=GetSizeHeight,put=PutSizeHeight))
+    double SizeHeight;
+    __declspec(property(get=GetLeftX,put=PutLeftX))
+    double LeftX;
+    __declspec(property(get=GetRightX,put=PutRightX))
+    double RightX;
+    __declspec(property(get=GetTopY,put=PutTopY))
+    double TopY;
+    __declspec(property(get=GetBottomY,put=PutBottomY))
+    double BottomY;
+    __declspec(property(get=GetCenterX,put=PutCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY,put=PutCenterY))
+    double CenterY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetEndArrowVisible ( );
+    void PutEndArrowVisible (
+        VARIANT_BOOL pRet );
+    IVGCurvePtr GetCurve ( );
+    void PutCurve (
+        struct IVGCurve * pRet );
+    long GetOutlineWidth ( );
+    void PutOutlineWidth (
+        long pRet );
+    IVGColorPtr GetFillColor ( );
+    void PutFillColor (
+        struct IVGColor * pRet );
+    IVGColorPtr GetOutlineColor ( );
+    void PutOutlineColor (
+        struct IVGColor * pRet );
+    enum cdrCommentAnnotationType GetType ( );
+    VARIANT_BOOL GetStartArrowVisible ( );
+    void PutStartArrowVisible (
+        VARIANT_BOOL pRet );
+    HRESULT Move (
+        double DeltaX,
+        double DeltaY );
+    double GetSizeWidth ( );
+    void PutSizeWidth (
+        double pVal );
+    double GetSizeHeight ( );
+    void PutSizeHeight (
+        double pVal );
+    double GetLeftX ( );
+    void PutLeftX (
+        double pVal );
+    double GetRightX ( );
+    void PutRightX (
+        double pVal );
+    double GetTopY ( );
+    void PutTopY (
+        double pVal );
+    double GetBottomY ( );
+    void PutBottomY (
+        double pVal );
+    double GetCenterX ( );
+    void PutCenterX (
+        double pVal );
+    double GetCenterY ( );
+    void PutCenterY (
+        double pVal );
+    HRESULT SetPosition (
+        enum cdrReferencePoint ReferencePoint,
+        double x,
+        double y );
+    HRESULT GetPosition (
+        enum cdrReferencePoint ReferencePoint,
+        double * x,
+        double * y );
+    HRESULT SetSize (
+        enum cdrReferencePoint ReferencePoint,
+        double Width,
+        double Height );
+    HRESULT GetSize (
+        double * Width,
+        double * Height );
+    HRESULT GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    HRESULT SetBoundingBox (
+        double x,
+        double y,
+        double Width,
+        double Height,
+        VARIANT_BOOL KeepAspect,
+        enum cdrReferencePoint ReferencePoint );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_EndArrowVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pRet ) = 0;
+      virtual HRESULT __stdcall put_EndArrowVisible (
+        /*[in]*/ VARIANT_BOOL pRet ) = 0;
+      virtual HRESULT __stdcall get_Curve (
+        /*[out,retval]*/ struct IVGCurve * * pRet ) = 0;
+      virtual HRESULT __stdcall put_Curve (
+        /*[in]*/ struct IVGCurve * pRet ) = 0;
+      virtual HRESULT __stdcall get_OutlineWidth (
+        /*[out,retval]*/ long * pRet ) = 0;
+      virtual HRESULT __stdcall put_OutlineWidth (
+        /*[in]*/ long pRet ) = 0;
+      virtual HRESULT __stdcall get_FillColor (
+        /*[out,retval]*/ struct IVGColor * * pRet ) = 0;
+      virtual HRESULT __stdcall put_FillColor (
+        /*[in]*/ struct IVGColor * pRet ) = 0;
+      virtual HRESULT __stdcall get_OutlineColor (
+        /*[out,retval]*/ struct IVGColor * * pRet ) = 0;
+      virtual HRESULT __stdcall put_OutlineColor (
+        /*[in]*/ struct IVGColor * pRet ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrCommentAnnotationType * pRet ) = 0;
+      virtual HRESULT __stdcall get_StartArrowVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pRet ) = 0;
+      virtual HRESULT __stdcall put_StartArrowVisible (
+        /*[in]*/ VARIANT_BOOL pRet ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double DeltaX,
+        /*[in]*/ double DeltaY ) = 0;
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_LeftX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_LeftX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RightX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RightX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TopY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TopY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_BottomY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BottomY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_GetPosition (
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[out]*/ double * x,
+        /*[out]*/ double * y ) = 0;
+      virtual HRESULT __stdcall raw_SetSize (
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall raw_GetSize (
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall raw_SetBoundingBox (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[in]*/ VARIANT_BOOL KeepAspect,
+        /*[in]*/ enum cdrReferencePoint ReferencePoint ) = 0;
+};
+
+struct __declspec(uuid("b05800b0-9aa4-44fd-9547-4f91eb757ac4"))
+IVGColorContext : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetRGBColorProfile,put=PutRGBColorProfile))
+    IVGColorProfilePtr RGBColorProfile;
+    __declspec(property(get=GetCMYKColorProfile,put=PutCMYKColorProfile))
+    IVGColorProfilePtr CMYKColorProfile;
+    __declspec(property(get=GetGrayscaleColorProfile,put=PutGrayscaleColorProfile))
+    IVGColorProfilePtr GrayscaleColorProfile;
+    __declspec(property(get=GetRenderingIntent,put=PutRenderingIntent))
+    enum clrRenderingIntent RenderingIntent;
+    __declspec(property(get=GetBlendingColorModel,put=PutBlendingColorModel))
+    enum clrColorModel BlendingColorModel;
+    __declspec(property(get=GetColorProfile,put=PutColorProfile))
+    IVGColorProfilePtr ColorProfile[];
+    __declspec(property(get=GetColorProfiles))
+    IVGColorProfilesPtr ColorProfiles;
+    __declspec(property(get=GetReadOnly))
+    VARIANT_BOOL ReadOnly;
+    __declspec(property(get=GetColorProfileNameList))
+    _bstr_t ColorProfileNameList;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGColorProfilePtr GetRGBColorProfile ( );
+    void PutRGBColorProfile (
+        struct IVGColorProfile * ppVal );
+    IVGColorProfilePtr GetCMYKColorProfile ( );
+    void PutCMYKColorProfile (
+        struct IVGColorProfile * ppVal );
+    IVGColorProfilePtr GetGrayscaleColorProfile ( );
+    void PutGrayscaleColorProfile (
+        struct IVGColorProfile * ppVal );
+    enum clrRenderingIntent GetRenderingIntent ( );
+    void PutRenderingIntent (
+        enum clrRenderingIntent pVal );
+    enum clrColorModel GetBlendingColorModel ( );
+    void PutBlendingColorModel (
+        enum clrColorModel pVal );
+    IVGColorContextPtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct IVGColorContext * ColorContext );
+    IVGColorProfilePtr GetColorProfile (
+        enum clrColorModel ColorModel );
+    void PutColorProfile (
+        enum clrColorModel ColorModel,
+        struct IVGColorProfile * ppVal );
+    VARIANT_BOOL Merge (
+        struct IVGColorContext * ColorContext );
+    VARIANT_BOOL IsSame (
+        struct IVGColorContext * ColorContext );
+    IVGColorProfilesPtr GetColorProfiles ( );
+    VARIANT_BOOL GetReadOnly ( );
+    _bstr_t GetColorProfileNameList ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_RGBColorProfile (
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_RGBColorProfile (
+        /*[in]*/ struct IVGColorProfile * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CMYKColorProfile (
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_CMYKColorProfile (
+        /*[in]*/ struct IVGColorProfile * ppVal ) = 0;
+      virtual HRESULT __stdcall get_GrayscaleColorProfile (
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_GrayscaleColorProfile (
+        /*[in]*/ struct IVGColorProfile * ppVal ) = 0;
+      virtual HRESULT __stdcall get_RenderingIntent (
+        /*[out,retval]*/ enum clrRenderingIntent * pVal ) = 0;
+      virtual HRESULT __stdcall put_RenderingIntent (
+        /*[in]*/ enum clrRenderingIntent pVal ) = 0;
+      virtual HRESULT __stdcall get_BlendingColorModel (
+        /*[out,retval]*/ enum clrColorModel * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlendingColorModel (
+        /*[in]*/ enum clrColorModel pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGColorContext * ColorContext ) = 0;
+      virtual HRESULT __stdcall get_ColorProfile (
+        /*[in]*/ enum clrColorModel ColorModel,
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_ColorProfile (
+        /*[in]*/ enum clrColorModel ColorModel,
+        /*[in]*/ struct IVGColorProfile * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Merge (
+        /*[in]*/ struct IVGColorContext * ColorContext,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsSame (
+        /*[in]*/ struct IVGColorContext * ColorContext,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorProfiles (
+        /*[out,retval]*/ struct IVGColorProfiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ReadOnly (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorProfileNameList (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580098-9aa4-44fd-9547-4f91eb757ac4"))
+IVGColorProfile : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetFileName))
+    _bstr_t FileName;
+    __declspec(property(get=GetManufacturer))
+    _bstr_t Manufacturer;
+    __declspec(property(get=GetDeviceModel))
+    _bstr_t DeviceModel;
+    __declspec(property(get=GetDeviceType))
+    enum clrDeviceType DeviceType;
+    __declspec(property(get=GetSelected))
+    VARIANT_BOOL Selected;
+    __declspec(property(get=GetGeneric))
+    VARIANT_BOOL Generic;
+    __declspec(property(get=GetInstalled))
+    VARIANT_BOOL Installed;
+    __declspec(property(get=GetID))
+    _bstr_t ID;
+    __declspec(property(get=GetColorModel))
+    enum clrColorModel ColorModel;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    _bstr_t GetFileName ( );
+    _bstr_t GetManufacturer ( );
+    _bstr_t GetDeviceModel ( );
+    enum clrDeviceType GetDeviceType ( );
+    VARIANT_BOOL GetSelected ( );
+    HRESULT Select ( );
+    VARIANT_BOOL GetGeneric ( );
+    VARIANT_BOOL GetInstalled ( );
+    _bstr_t GetID ( );
+    enum clrColorModel GetColorModel ( );
+    IVGColorContextPtr CreateColorContext (
+        enum clrRenderingIntent RenderingIntent );
+    VARIANT_BOOL IsSame (
+        struct IVGColorProfile * ColorProfile );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_FileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Manufacturer (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_DeviceModel (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_DeviceType (
+        /*[out,retval]*/ enum clrDeviceType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Selected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Select ( ) = 0;
+      virtual HRESULT __stdcall get_Generic (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Installed (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ID (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorModel (
+        /*[out,retval]*/ enum clrColorModel * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateColorContext (
+        /*[in]*/ enum clrRenderingIntent RenderingIntent,
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IsSame (
+        /*[in]*/ struct IVGColorProfile * ColorProfile,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580099-9aa4-44fd-9547-4f91eb757ac4"))
+IVGColorProfiles : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGColorProfilePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetDeviceType))
+    enum clrDeviceType DeviceType;
+    __declspec(property(get=GetGenericProfile))
+    IVGColorProfilePtr GenericProfile;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGColorProfilePtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+    enum clrDeviceType GetDeviceType ( );
+    VARIANT_BOOL SelectByName (
+        _bstr_t Name );
+    VARIANT_BOOL Install (
+        _bstr_t FileName );
+    IVGColorProfilePtr GetGenericProfile ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_DeviceType (
+        /*[out,retval]*/ enum clrDeviceType * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SelectByName (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Install (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_GenericProfile (
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800b6-9aa4-44fd-9547-4f91eb757ac4"))
+IVGProofColorSettings : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetColorContext,put=PutColorContext))
+    IVGColorContextPtr ColorContext;
+    __declspec(property(get=GetShowOutOfGamutWarning,put=PutShowOutOfGamutWarning))
+    VARIANT_BOOL ShowOutOfGamutWarning;
+    __declspec(property(get=GetOutOfGamutColor,put=PutOutOfGamutColor))
+    IVGColorPtr OutOfGamutColor;
+    __declspec(property(get=GetOutOfGamutTransparency,put=PutOutOfGamutTransparency))
+    double OutOfGamutTransparency;
+    __declspec(property(get=GetPreserveColorValues,put=PutPreserveColorValues))
+    VARIANT_BOOL PreserveColorValues;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGColorContextPtr GetColorContext ( );
+    void PutColorContext (
+        struct IVGColorContext * ppVal );
+    VARIANT_BOOL GetShowOutOfGamutWarning ( );
+    void PutShowOutOfGamutWarning (
+        VARIANT_BOOL pVal );
+    IVGColorPtr GetOutOfGamutColor ( );
+    void PutOutOfGamutColor (
+        struct IVGColor * ppVal );
+    double GetOutOfGamutTransparency ( );
+    void PutOutOfGamutTransparency (
+        double pVal );
+    VARIANT_BOOL GetPreserveColorValues ( );
+    void PutPreserveColorValues (
+        VARIANT_BOOL pVal );
+    IVGProofColorSettingsPtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct IVGProofColorSettings * Source );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ColorContext (
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_ColorContext (
+        /*[in]*/ struct IVGColorContext * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ShowOutOfGamutWarning (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShowOutOfGamutWarning (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OutOfGamutColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_OutOfGamutColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OutOfGamutTransparency (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OutOfGamutTransparency (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PreserveColorValues (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PreserveColorValues (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGProofColorSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGProofColorSettings * Source ) = 0;
+};
+
+struct __declspec(uuid("b0580063-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructExportOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetSizeX,put=PutSizeX))
+    long SizeX;
+    __declspec(property(get=GetMatteMaskedOnly,put=PutMatteMaskedOnly))
+    VARIANT_BOOL MatteMaskedOnly;
+    __declspec(property(get=GetSizeY,put=PutSizeY))
+    long SizeY;
+    __declspec(property(get=GetAlwaysOverprintBlack,put=PutAlwaysOverprintBlack))
+    VARIANT_BOOL AlwaysOverprintBlack;
+    __declspec(property(get=GetResolutionX,put=PutResolutionX))
+    long ResolutionX;
+    __declspec(property(get=GetProofColorSettings,put=PutProofColorSettings))
+    IVGProofColorSettingsPtr ProofColorSettings;
+    __declspec(property(get=GetResolutionY,put=PutResolutionY))
+    long ResolutionY;
+    __declspec(property(get=GetAntiAliasingType,put=PutAntiAliasingType))
+    enum cdrAntiAliasingType AntiAliasingType;
+    __declspec(property(get=GetOverwrite,put=PutOverwrite))
+    VARIANT_BOOL Overwrite;
+    __declspec(property(get=GetImageType,put=PutImageType))
+    enum cdrImageType ImageType;
+    __declspec(property(get=GetDithered,put=PutDithered))
+    VARIANT_BOOL Dithered;
+    __declspec(property(get=GetTransparent,put=PutTransparent))
+    VARIANT_BOOL Transparent;
+    __declspec(property(get=GetUseColorProfile,put=PutUseColorProfile))
+    VARIANT_BOOL UseColorProfile;
+    __declspec(property(get=GetCompression,put=PutCompression))
+    enum cdrCompressionType Compression;
+    __declspec(property(get=GetMaintainLayers,put=PutMaintainLayers))
+    VARIANT_BOOL MaintainLayers;
+    __declspec(property(get=GetMaintainAspect,put=PutMaintainAspect))
+    VARIANT_BOOL MaintainAspect;
+    __declspec(property(get=GetMatted,put=PutMatted))
+    VARIANT_BOOL Matted;
+    __declspec(property(get=GetMatteColor,put=PutMatteColor))
+    IVGColorPtr MatteColor;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    void PutSizeX (
+        long pVal );
+    long GetSizeX ( );
+    void PutSizeY (
+        long pVal );
+    long GetSizeY ( );
+    void PutResolutionX (
+        long pVal );
+    long GetResolutionX ( );
+    void PutResolutionY (
+        long pVal );
+    long GetResolutionY ( );
+    void PutAntiAliasingType (
+        enum cdrAntiAliasingType pVal );
+    enum cdrAntiAliasingType GetAntiAliasingType ( );
+    void PutOverwrite (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetOverwrite ( );
+    void PutImageType (
+        enum cdrImageType pVal );
+    enum cdrImageType GetImageType ( );
+    void PutDithered (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDithered ( );
+    void PutTransparent (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetTransparent ( );
+    void PutUseColorProfile (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetUseColorProfile ( );
+    void PutCompression (
+        enum cdrCompressionType pVal );
+    enum cdrCompressionType GetCompression ( );
+    void PutMaintainLayers (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMaintainLayers ( );
+    void PutMaintainAspect (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMaintainAspect ( );
+    IVGRectPtr GetExportArea ( );
+    void PutRefExportArea (
+        struct IVGRect * * ppVal );
+    void PutMatted (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMatted ( );
+    IVGColorPtr GetMatteColor ( );
+    void PutMatteColor (
+        struct IVGColor * ppVal );
+    void PutMatteMaskedOnly (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMatteMaskedOnly ( );
+    void PutAlwaysOverprintBlack (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAlwaysOverprintBlack ( );
+    IVGProofColorSettingsPtr GetProofColorSettings ( );
+    void PutProofColorSettings (
+        struct IVGProofColorSettings * ppVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall put_SizeX (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeY (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ResolutionX (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ResolutionX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ResolutionY (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ResolutionY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_AntiAliasingType (
+        /*[in]*/ enum cdrAntiAliasingType pVal ) = 0;
+      virtual HRESULT __stdcall get_AntiAliasingType (
+        /*[out,retval]*/ enum cdrAntiAliasingType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Overwrite (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Overwrite (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ImageType (
+        /*[in]*/ enum cdrImageType pVal ) = 0;
+      virtual HRESULT __stdcall get_ImageType (
+        /*[out,retval]*/ enum cdrImageType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Dithered (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Dithered (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Transparent (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Transparent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseColorProfile (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_UseColorProfile (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Compression (
+        /*[in]*/ enum cdrCompressionType pVal ) = 0;
+      virtual HRESULT __stdcall get_Compression (
+        /*[out,retval]*/ enum cdrCompressionType * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaintainLayers (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MaintainLayers (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaintainAspect (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MaintainAspect (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ExportArea (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall putref_ExportArea (
+        /*[in]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Matted (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Matted (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_MatteColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_MatteColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall put_MatteMaskedOnly (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MatteMaskedOnly (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AlwaysOverprintBlack (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AlwaysOverprintBlack (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ProofColorSettings (
+        /*[out,retval]*/ struct IVGProofColorSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_ProofColorSettings (
+        /*[in]*/ struct IVGProofColorSettings * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580097-9aa4-44fd-9547-4f91eb757ac4"))
+IVGColorManager : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetScannerCalibrated,put=PutScannerCalibrated))
+    VARIANT_BOOL ScannerCalibrated;
+    __declspec(property(get=GetSeparationPrinterCalibrated,put=PutSeparationPrinterCalibrated))
+    VARIANT_BOOL SeparationPrinterCalibrated;
+    __declspec(property(get=GetCompositePrinterCalibrated))
+    VARIANT_BOOL CompositePrinterCalibrated;
+    __declspec(property(get=GetCompositePrinterCalibration,put=PutCompositePrinterCalibration))
+    enum clrCompPrnCalibration CompositePrinterCalibration;
+    __declspec(property(get=GetMonitorCalibration,put=PutMonitorCalibration))
+    enum clrMonitorCalibration MonitorCalibration;
+    __declspec(property(get=GetCompositePrinterSimulatesSeparation))
+    VARIANT_BOOL CompositePrinterSimulatesSeparation;
+    __declspec(property(get=GetShowOutOfGamut,put=PutShowOutOfGamut))
+    VARIANT_BOOL ShowOutOfGamut;
+    __declspec(property(get=GetOutOfGamutColor,put=PutOutOfGamutColor))
+    IVGColorPtr OutOfGamutColor;
+    __declspec(property(get=GetOutOfGamutTransparency,put=PutOutOfGamutTransparency))
+    long OutOfGamutTransparency;
+    __declspec(property(get=GetCMYKInPercents,put=PutCMYKInPercents))
+    VARIANT_BOOL CMYKInPercents;
+    __declspec(property(get=GetCMYKGamutForSpotColors,put=PutCMYKGamutForSpotColors))
+    VARIANT_BOOL CMYKGamutForSpotColors;
+    __declspec(property(get=GetRenderingIntent,put=PutRenderingIntent))
+    enum clrRenderingIntent RenderingIntent;
+    __declspec(property(get=GetColorEngine,put=PutColorEngine))
+    enum clrColorEngine ColorEngine;
+    __declspec(property(get=GetStyleCount))
+    long StyleCount;
+    __declspec(property(get=GetStyleByIndex))
+    _bstr_t StyleByIndex[];
+    __declspec(property(get=GetCurrentProfile))
+    IVGColorProfilePtr CurrentProfile[];
+    __declspec(property(get=GetInstalledProfiles))
+    IVGColorProfilesPtr InstalledProfiles[];
+    __declspec(property(get=GetIsICM2Available))
+    VARIANT_BOOL IsICM2Available;
+    __declspec(property(get=GetUnsavedStyleName))
+    _bstr_t UnsavedStyleName;
+    __declspec(property(get=GetGenericProfileName))
+    _bstr_t GenericProfileName[];
+    __declspec(property(get=GetIsCompositePrinterCMYK))
+    VARIANT_BOOL IsCompositePrinterCMYK;
+    __declspec(property(get=GetColorCorrectionOnImport,put=PutColorCorrectionOnImport))
+    enum clrImportColorCorrection ColorCorrectionOnImport;
+    __declspec(property(get=GetColorCorrectionOnExport,put=PutColorCorrectionOnExport))
+    enum clrExportColorCorrection ColorCorrectionOnExport;
+    __declspec(property(get=GetMonitorColorProfiles))
+    IVGColorProfilesPtr MonitorColorProfiles;
+    __declspec(property(get=GetDefaultColorContext))
+    IVGColorContextPtr DefaultColorContext;
+    __declspec(property(get=GetMapGrayToCMYKBlack,put=PutMapGrayToCMYKBlack))
+    VARIANT_BOOL MapGrayToCMYKBlack;
+    __declspec(property(get=GetPreservePureBlack,put=PutPreservePureBlack))
+    VARIANT_BOOL PreservePureBlack;
+    __declspec(property(get=GetSpotColorDefinition,put=PutSpotColorDefinition))
+    enum clrColorModel SpotColorDefinition;
+    __declspec(property(get=GetColorProfiles))
+    IVGColorProfilesPtr ColorProfiles;
+    __declspec(property(get=GetPolicyForOpen))
+    IVGColorManagementPolicyPtr PolicyForOpen;
+    __declspec(property(get=GetPolicyForImport))
+    IVGColorManagementPolicyPtr PolicyForImport;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    VARIANT_BOOL GetScannerCalibrated ( );
+    void PutScannerCalibrated (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetSeparationPrinterCalibrated ( );
+    void PutSeparationPrinterCalibrated (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetCompositePrinterCalibrated ( );
+    enum clrCompPrnCalibration GetCompositePrinterCalibration ( );
+    void PutCompositePrinterCalibration (
+        enum clrCompPrnCalibration pVal );
+    enum clrMonitorCalibration GetMonitorCalibration ( );
+    void PutMonitorCalibration (
+        enum clrMonitorCalibration pVal );
+    VARIANT_BOOL GetCompositePrinterSimulatesSeparation ( );
+    VARIANT_BOOL GetShowOutOfGamut ( );
+    void PutShowOutOfGamut (
+        VARIANT_BOOL pVal );
+    IVGColorPtr GetOutOfGamutColor ( );
+    void PutOutOfGamutColor (
+        struct IVGColor * ppVal );
+    long GetOutOfGamutTransparency ( );
+    void PutOutOfGamutTransparency (
+        long pVal );
+    VARIANT_BOOL GetCMYKInPercents ( );
+    void PutCMYKInPercents (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetCMYKGamutForSpotColors ( );
+    void PutCMYKGamutForSpotColors (
+        VARIANT_BOOL pVal );
+    enum clrRenderingIntent GetRenderingIntent ( );
+    void PutRenderingIntent (
+        enum clrRenderingIntent pVal );
+    enum clrColorEngine GetColorEngine ( );
+    void PutColorEngine (
+        enum clrColorEngine pVal );
+    long GetStyleCount ( );
+    _bstr_t GetStyleByIndex (
+        long Index );
+    IVGColorProfilePtr GetCurrentProfile (
+        enum clrDeviceType DeviceType );
+    IVGColorProfilesPtr GetInstalledProfiles (
+        enum clrDeviceType DeviceType );
+    VARIANT_BOOL LoadStyle (
+        _bstr_t StyleName );
+    VARIANT_BOOL DeleteStyle (
+        _bstr_t StyleName );
+    VARIANT_BOOL SaveStyle (
+        _bstr_t StyleName );
+    VARIANT_BOOL GetIsICM2Available ( );
+    _bstr_t GetUnsavedStyleName ( );
+    _bstr_t GetGenericProfileName (
+        enum clrDeviceType DeviceType );
+    VARIANT_BOOL GetIsCompositePrinterCMYK ( );
+    enum clrImportColorCorrection GetColorCorrectionOnImport ( );
+    void PutColorCorrectionOnImport (
+        enum clrImportColorCorrection pVal );
+    enum clrExportColorCorrection GetColorCorrectionOnExport ( );
+    void PutColorCorrectionOnExport (
+        enum clrExportColorCorrection pVal );
+    IVGColorProfilePtr GetDefaultImportProfile ( );
+    void PutRefDefaultImportProfile (
+        struct IVGColorProfile * * ppVal );
+    IVGColorProfilePtr GetCustomImportProfile ( );
+    void PutRefCustomImportProfile (
+        struct IVGColorProfile * * ppVal );
+    IVGColorProfilePtr GetCustomExportProfile ( );
+    void PutRefCustomExportProfile (
+        struct IVGColorProfile * * ppVal );
+    IVGColorProfilesPtr GetMonitorColorProfiles ( );
+    IVGColorProfilesPtr GetProfilesByColorModel (
+        enum clrColorModel ColorModel );
+    IVGColorProfilesPtr GetProfilesForDevice (
+        enum clrDeviceType DeviceType,
+        _bstr_t DeviceName );
+    IVGColorContextPtr GetDefaultColorContext ( );
+    VARIANT_BOOL ColorEnginePresent (
+        enum clrColorEngine ColorEngine );
+    VARIANT_BOOL CanDeleteStyle (
+        _bstr_t StyleName );
+    VARIANT_BOOL GetMapGrayToCMYKBlack ( );
+    void PutMapGrayToCMYKBlack (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetPreservePureBlack ( );
+    void PutPreservePureBlack (
+        VARIANT_BOOL pVal );
+    enum clrColorModel GetSpotColorDefinition ( );
+    void PutSpotColorDefinition (
+        enum clrColorModel pVal );
+    IVGColorProfilesPtr GetColorProfiles ( );
+    IVGColorManagementPolicyPtr GetPolicyForOpen ( );
+    IVGColorManagementPolicyPtr GetPolicyForImport ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ScannerCalibrated (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScannerCalibrated (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_SeparationPrinterCalibrated (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_SeparationPrinterCalibrated (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_CompositePrinterCalibrated (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CompositePrinterCalibration (
+        /*[out,retval]*/ enum clrCompPrnCalibration * pVal ) = 0;
+      virtual HRESULT __stdcall put_CompositePrinterCalibration (
+        /*[in]*/ enum clrCompPrnCalibration pVal ) = 0;
+      virtual HRESULT __stdcall get_MonitorCalibration (
+        /*[out,retval]*/ enum clrMonitorCalibration * pVal ) = 0;
+      virtual HRESULT __stdcall put_MonitorCalibration (
+        /*[in]*/ enum clrMonitorCalibration pVal ) = 0;
+      virtual HRESULT __stdcall get_CompositePrinterSimulatesSeparation (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ShowOutOfGamut (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShowOutOfGamut (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_OutOfGamutColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_OutOfGamutColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OutOfGamutTransparency (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_OutOfGamutTransparency (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_CMYKInPercents (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYKInPercents (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_CMYKGamutForSpotColors (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_CMYKGamutForSpotColors (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RenderingIntent (
+        /*[out,retval]*/ enum clrRenderingIntent * pVal ) = 0;
+      virtual HRESULT __stdcall put_RenderingIntent (
+        /*[in]*/ enum clrRenderingIntent pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorEngine (
+        /*[out,retval]*/ enum clrColorEngine * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorEngine (
+        /*[in]*/ enum clrColorEngine pVal ) = 0;
+      virtual HRESULT __stdcall get_StyleCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_StyleByIndex (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_CurrentProfile (
+        /*[in]*/ enum clrDeviceType DeviceType,
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_InstalledProfiles (
+        /*[in]*/ enum clrDeviceType DeviceType,
+        /*[out,retval]*/ struct IVGColorProfiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_LoadStyle (
+        /*[in]*/ BSTR StyleName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_DeleteStyle (
+        /*[in]*/ BSTR StyleName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SaveStyle (
+        /*[in]*/ BSTR StyleName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsICM2Available (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_UnsavedStyleName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_GenericProfileName (
+        /*[in]*/ enum clrDeviceType DeviceType,
+        /*[out,retval]*/ BSTR * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsCompositePrinterCMYK (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorCorrectionOnImport (
+        /*[out,retval]*/ enum clrImportColorCorrection * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorCorrectionOnImport (
+        /*[in]*/ enum clrImportColorCorrection pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorCorrectionOnExport (
+        /*[out,retval]*/ enum clrExportColorCorrection * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorCorrectionOnExport (
+        /*[in]*/ enum clrExportColorCorrection pVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultImportProfile (
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall putref_DefaultImportProfile (
+        /*[in]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CustomImportProfile (
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall putref_CustomImportProfile (
+        /*[in]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CustomExportProfile (
+        /*[out,retval]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall putref_CustomExportProfile (
+        /*[in]*/ struct IVGColorProfile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_MonitorColorProfiles (
+        /*[out,retval]*/ struct IVGColorProfiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetProfilesByColorModel (
+        /*[in]*/ enum clrColorModel ColorModel,
+        /*[out,retval]*/ struct IVGColorProfiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetProfilesForDevice (
+        /*[in]*/ enum clrDeviceType DeviceType,
+        /*[in]*/ BSTR DeviceName,
+        /*[out,retval]*/ struct IVGColorProfiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultColorContext (
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ColorEnginePresent (
+        /*[in]*/ enum clrColorEngine ColorEngine,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CanDeleteStyle (
+        /*[in]*/ BSTR StyleName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_MapGrayToCMYKBlack (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MapGrayToCMYKBlack (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PreservePureBlack (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PreservePureBlack (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_SpotColorDefinition (
+        /*[out,retval]*/ enum clrColorModel * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpotColorDefinition (
+        /*[in]*/ enum clrColorModel pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorProfiles (
+        /*[out,retval]*/ struct IVGColorProfiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PolicyForOpen (
+        /*[out,retval]*/ struct IVGColorManagementPolicy * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PolicyForImport (
+        /*[out,retval]*/ struct IVGColorManagementPolicy * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800b4-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructCreateOptions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetColorContext,put=PutColorContext))
+    IVGColorContextPtr ColorContext;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetPageWidth,put=PutPageWidth))
+    double PageWidth;
+    __declspec(property(get=GetPageHeight,put=PutPageHeight))
+    double PageHeight;
+    __declspec(property(get=GetUnits,put=PutUnits))
+    enum cdrUnit Units;
+    __declspec(property(get=GetResolution,put=PutResolution))
+    double Resolution;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGColorContextPtr GetColorContext ( );
+    void PutColorContext (
+        struct IVGColorContext * ppVal );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    double GetPageWidth ( );
+    void PutPageWidth (
+        double pVal );
+    double GetPageHeight ( );
+    void PutPageHeight (
+        double pVal );
+    enum cdrUnit GetUnits ( );
+    void PutUnits (
+        enum cdrUnit pVal );
+    double GetResolution ( );
+    void PutResolution (
+        double pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_ColorContext (
+        /*[out,retval]*/ struct IVGColorContext * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_ColorContext (
+        /*[in]*/ struct IVGColorContext * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_PageWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PageWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PageHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PageHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Units (
+        /*[out,retval]*/ enum cdrUnit * pVal ) = 0;
+      virtual HRESULT __stdcall put_Units (
+        /*[in]*/ enum cdrUnit pVal ) = 0;
+      virtual HRESULT __stdcall get_Resolution (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Resolution (
+        /*[in]*/ double pVal ) = 0;
+};
+
+struct __declspec(uuid("b058004c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPalette : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetType))
+    enum cdrPaletteType Type;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color[];
+    __declspec(property(get=GetDuplicatePresent))
+    VARIANT_BOOL DuplicatePresent;
+    __declspec(property(get=GetColorCount))
+    long ColorCount;
+    __declspec(property(get=GetPaletteID))
+    enum cdrPaletteID PaletteID;
+    __declspec(property(get=GetFileName))
+    _bstr_t FileName;
+    __declspec(property(get=GetDocument))
+    IVGDocumentPtr Document;
+    __declspec(property(get=GetIdentifier))
+    _bstr_t Identifier;
+    __declspec(property(get=GetIsEmpty))
+    VARIANT_BOOL IsEmpty;
+    __declspec(property(get=GetLocked))
+    VARIANT_BOOL Locked;
+    __declspec(property(get=GetDefault))
+    VARIANT_BOOL Default;
+    __declspec(property(get=GetIsOpen))
+    VARIANT_BOOL IsOpen;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t Name );
+    HRESULT Close ( );
+    enum cdrPaletteType GetType ( );
+    IVGColorsPtr Colors ( );
+    IVGColorPtr GetColor (
+        long Index );
+    void PutColor (
+        long Index,
+        struct IVGColor * Color );
+    HRESULT AddColor (
+        struct IVGColor * Color );
+    HRESULT InsertColor (
+        long Index,
+        struct IVGColor * Color );
+    HRESULT RemoveColor (
+        long Index );
+    long GetIndexOfColor (
+        struct IVGColor * Color );
+    VARIANT_BOOL GetDuplicatePresent ( );
+    long GetColorCount ( );
+    HRESULT Save ( );
+    enum cdrPaletteID GetPaletteID ( );
+    _bstr_t GetFileName ( );
+    long MatchColor (
+        struct IVGColor * Color );
+    long FindColor (
+        _bstr_t Name );
+    HRESULT SaveAs (
+        _bstr_t FileName,
+        _bstr_t Name,
+        enum cdrPaletteVersion Version );
+    IVGDocumentPtr GetDocument ( );
+    _bstr_t GetIdentifier ( );
+    VARIANT_BOOL GetIsEmpty ( );
+    VARIANT_BOOL GetLocked ( );
+    VARIANT_BOOL GetDefault ( );
+    VARIANT_BOOL GetIsOpen ( );
+    HRESULT Open ( );
+    HRESULT MakeDefault ( );
+    VARIANT_BOOL Delete ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * Name ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR Name ) = 0;
+      virtual HRESULT __stdcall raw_Close ( ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrPaletteType * Type ) = 0;
+      virtual HRESULT __stdcall raw_Colors (
+        /*[out,retval]*/ struct IVGColors * * Colors ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGColor * * Color ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGColor * Color ) = 0;
+      virtual HRESULT __stdcall raw_AddColor (
+        /*[in]*/ struct IVGColor * Color ) = 0;
+      virtual HRESULT __stdcall raw_InsertColor (
+        /*[in]*/ long Index,
+        /*[in]*/ struct IVGColor * Color ) = 0;
+      virtual HRESULT __stdcall raw_RemoveColor (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_GetIndexOfColor (
+        /*[in]*/ struct IVGColor * Color,
+        /*[out,retval]*/ long * Index ) = 0;
+      virtual HRESULT __stdcall get_DuplicatePresent (
+        /*[out,retval]*/ VARIANT_BOOL * Duplicate ) = 0;
+      virtual HRESULT __stdcall get_ColorCount (
+        /*[out,retval]*/ long * Count ) = 0;
+      virtual HRESULT __stdcall raw_Save ( ) = 0;
+      virtual HRESULT __stdcall get_PaletteID (
+        /*[out,retval]*/ enum cdrPaletteID * pVal ) = 0;
+      virtual HRESULT __stdcall get_FileName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MatchColor (
+        /*[in]*/ struct IVGColor * Color,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindColor (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SaveAs (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrPaletteVersion Version ) = 0;
+      virtual HRESULT __stdcall get_Document (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Identifier (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEmpty (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Locked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Default (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsOpen (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Open ( ) = 0;
+      virtual HRESULT __stdcall raw_MakeDefault ( ) = 0;
+      virtual HRESULT __stdcall raw_Delete (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580013-9aa4-44fd-9547-4f91eb757ac4"))
+IVGColors : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IVGPalettePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGColorPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IVGPalettePtr GetParent ( );
+    IVGColorPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058004d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPalettes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGPalettePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    IVGPalettePtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGPalettePtr Open (
+        _bstr_t FileName );
+    IVGPalettePtr OpenFixed (
+        enum cdrPaletteID PaletteID );
+    IVGPalettePtr CreateFromDocument (
+        _bstr_t Name,
+        _bstr_t FileName,
+        VARIANT_BOOL Overwrite );
+    IVGPalettePtr CreateFromSelection (
+        _bstr_t Name,
+        _bstr_t FileName,
+        VARIANT_BOOL Overwrite );
+    IVGPalettePtr Create (
+        _bstr_t Name,
+        _bstr_t FileName,
+        VARIANT_BOOL Overwrite );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Open (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ struct IVGPalette * * ppPalette ) = 0;
+      virtual HRESULT __stdcall raw_OpenFixed (
+        /*[in]*/ enum cdrPaletteID PaletteID,
+        /*[out,retval]*/ struct IVGPalette * * ppPalette ) = 0;
+      virtual HRESULT __stdcall raw_CreateFromDocument (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL Overwrite,
+        /*[out,retval]*/ struct IVGPalette * * ppPalette ) = 0;
+      virtual HRESULT __stdcall raw_CreateFromSelection (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL Overwrite,
+        /*[out,retval]*/ struct IVGPalette * * ppPalette ) = 0;
+      virtual HRESULT __stdcall raw_Create (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL Overwrite,
+        /*[out,retval]*/ struct IVGPalette * * ppPalette ) = 0;
+};
+
+struct __declspec(uuid("b05800b7-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPaletteManager : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPaletteCount))
+    long PaletteCount;
+    __declspec(property(get=GetDefaultPalette))
+    IVGPalettePtr DefaultPalette;
+    __declspec(property(get=GetOpenPalettes))
+    IVGPalettesPtr OpenPalettes;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetPaletteCount ( );
+    IVGPalettePtr GetPalette (
+        const _variant_t & IndexOrName );
+    IVGPalettePtr GetDefaultPalette ( );
+    IVGPalettesPtr GetOpenPalettes ( );
+    IUnknownPtr Get_NewEnum ( );
+    HRESULT LoadAllPalettes ( );
+    IVGPalettePtr LoadPalette (
+        _bstr_t FileName );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_PaletteCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPalette (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultPalette (
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OpenPalettes (
+        /*[out,retval]*/ struct IVGPalettes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_LoadAllPalettes ( ) = 0;
+      virtual HRESULT __stdcall raw_LoadPalette (
+        /*[in]*/ BSTR FileName,
+        /*[out,retval]*/ struct IVGPalette * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a1-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTraceSettings : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetTraceType,put=PutTraceType))
+    enum cdrTraceType TraceType;
+    __declspec(property(get=GetSmoothing,put=PutSmoothing))
+    short Smoothing;
+    __declspec(property(get=GetDetailLevel,put=PutDetailLevel))
+    short DetailLevel;
+    __declspec(property(get=GetColorMode))
+    enum cdrColorType ColorMode;
+    __declspec(property(get=GetPaletteID))
+    enum cdrPaletteID PaletteID;
+    __declspec(property(get=GetColorCount))
+    long ColorCount;
+    __declspec(property(get=GetColor))
+    IVGColorPtr Color[];
+    __declspec(property(get=GetDeleteOriginalObject,put=PutDeleteOriginalObject))
+    VARIANT_BOOL DeleteOriginalObject;
+    __declspec(property(get=GetRemoveBackground,put=PutRemoveBackground))
+    VARIANT_BOOL RemoveBackground;
+    __declspec(property(get=GetRemoveEntireBackColor,put=PutRemoveEntireBackColor))
+    VARIANT_BOOL RemoveEntireBackColor;
+    __declspec(property(get=GetBackgroundRemovalMode,put=PutBackgroundRemovalMode))
+    enum cdrTraceBackgroundMode BackgroundRemovalMode;
+    __declspec(property(get=GetBackgroundColor))
+    IVGColorPtr BackgroundColor;
+    __declspec(property(get=GetCurveCount))
+    long CurveCount;
+    __declspec(property(get=GetNodeCount))
+    long NodeCount;
+    __declspec(property(get=GetBitmapWidth))
+    long BitmapWidth;
+    __declspec(property(get=GetBitmapHeight))
+    long BitmapHeight;
+    __declspec(property(get=GetDetailLevelPercent,put=PutDetailLevelPercent))
+    short DetailLevelPercent;
+    __declspec(property(get=GetMaxDetailLevel))
+    short MaxDetailLevel;
+    __declspec(property(get=GetMinDetailLevel))
+    short MinDetailLevel;
+    __declspec(property(get=GetCornerSmoothness,put=PutCornerSmoothness))
+    short CornerSmoothness;
+    __declspec(property(get=GetMergeAdjacentObjects,put=PutMergeAdjacentObjects))
+    VARIANT_BOOL MergeAdjacentObjects;
+    __declspec(property(get=GetRemoveOverlap,put=PutRemoveOverlap))
+    VARIANT_BOOL RemoveOverlap;
+    __declspec(property(get=GetGroupObjectsByColor,put=PutGroupObjectsByColor))
+    VARIANT_BOOL GroupObjectsByColor;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrTraceType GetTraceType ( );
+    void PutTraceType (
+        enum cdrTraceType pVal );
+    short GetSmoothing ( );
+    void PutSmoothing (
+        short pVal );
+    short GetDetailLevel ( );
+    void PutDetailLevel (
+        short pVal );
+    enum cdrColorType GetColorMode ( );
+    enum cdrPaletteID GetPaletteID ( );
+    long GetColorCount ( );
+    IVGColorPtr GetColor (
+        long Index );
+    VARIANT_BOOL GetDeleteOriginalObject ( );
+    void PutDeleteOriginalObject (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetRemoveBackground ( );
+    void PutRemoveBackground (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetRemoveEntireBackColor ( );
+    void PutRemoveEntireBackColor (
+        VARIANT_BOOL pVal );
+    enum cdrTraceBackgroundMode GetBackgroundRemovalMode ( );
+    void PutBackgroundRemovalMode (
+        enum cdrTraceBackgroundMode pVal );
+    IVGColorPtr GetBackgroundColor ( );
+    long GetCurveCount ( );
+    long GetNodeCount ( );
+    long GetBitmapWidth ( );
+    long GetBitmapHeight ( );
+    long SetColorCount (
+        long ColorCount );
+    IVGShapeRangePtr Finish ( );
+    VARIANT_BOOL ShowDialog (
+        long ParentWindowHandle );
+    HRESULT ApplyChanges ( );
+    HRESULT SetColorMode (
+        enum cdrColorType ColorMode,
+        enum cdrPaletteID PaletteID );
+    short GetDetailLevelPercent ( );
+    void PutDetailLevelPercent (
+        short pVal );
+    short GetMaxDetailLevel ( );
+    short GetMinDetailLevel ( );
+    short GetCornerSmoothness ( );
+    void PutCornerSmoothness (
+        short pVal );
+    VARIANT_BOOL GetMergeAdjacentObjects ( );
+    void PutMergeAdjacentObjects (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetRemoveOverlap ( );
+    void PutRemoveOverlap (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetGroupObjectsByColor ( );
+    void PutGroupObjectsByColor (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_TraceType (
+        /*[out,retval]*/ enum cdrTraceType * pVal ) = 0;
+      virtual HRESULT __stdcall put_TraceType (
+        /*[in]*/ enum cdrTraceType pVal ) = 0;
+      virtual HRESULT __stdcall get_Smoothing (
+        /*[out,retval]*/ short * pVal ) = 0;
+      virtual HRESULT __stdcall put_Smoothing (
+        /*[in]*/ short pVal ) = 0;
+      virtual HRESULT __stdcall get_DetailLevel (
+        /*[out,retval]*/ short * pVal ) = 0;
+      virtual HRESULT __stdcall put_DetailLevel (
+        /*[in]*/ short pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorMode (
+        /*[out,retval]*/ enum cdrColorType * pVal ) = 0;
+      virtual HRESULT __stdcall get_PaletteID (
+        /*[out,retval]*/ enum cdrPaletteID * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DeleteOriginalObject (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DeleteOriginalObject (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RemoveBackground (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RemoveBackground (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RemoveEntireBackColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RemoveEntireBackColor (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BackgroundRemovalMode (
+        /*[out,retval]*/ enum cdrTraceBackgroundMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_BackgroundRemovalMode (
+        /*[in]*/ enum cdrTraceBackgroundMode pVal ) = 0;
+      virtual HRESULT __stdcall get_BackgroundColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CurveCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_NodeCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_BitmapWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_BitmapHeight (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetColorCount (
+        /*[in]*/ long ColorCount,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Finish (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ShowDialog (
+        /*[in]*/ long ParentWindowHandle,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyChanges ( ) = 0;
+      virtual HRESULT __stdcall raw_SetColorMode (
+        /*[in]*/ enum cdrColorType ColorMode,
+        /*[in]*/ enum cdrPaletteID PaletteID ) = 0;
+      virtual HRESULT __stdcall get_DetailLevelPercent (
+        /*[out,retval]*/ short * pVal ) = 0;
+      virtual HRESULT __stdcall put_DetailLevelPercent (
+        /*[in]*/ short pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxDetailLevel (
+        /*[out,retval]*/ short * pVal ) = 0;
+      virtual HRESULT __stdcall get_MinDetailLevel (
+        /*[out,retval]*/ short * pVal ) = 0;
+      virtual HRESULT __stdcall get_CornerSmoothness (
+        /*[out,retval]*/ short * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerSmoothness (
+        /*[in]*/ short pVal ) = 0;
+      virtual HRESULT __stdcall get_MergeAdjacentObjects (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MergeAdjacentObjects (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RemoveOverlap (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RemoveOverlap (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_GroupObjectsByColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_GroupObjectsByColor (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b058005e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGShapeRange : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGApplicationPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGShapePtr Item[];
+    __declspec(property(get=GetCenterX,put=PutCenterX))
+    double CenterX;
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetCenterY,put=PutCenterY))
+    double CenterY;
+    __declspec(property(get=GetRotationCenterY,put=PutRotationCenterY))
+    double RotationCenterY;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+    __declspec(property(get=GetReverseRange))
+    IVGShapeRangePtr ReverseRange;
+    __declspec(property(get=GetLeftX,put=PutLeftX))
+    double LeftX;
+    __declspec(property(get=GetRightX,put=PutRightX))
+    double RightX;
+    __declspec(property(get=GetTopY,put=PutTopY))
+    double TopY;
+    __declspec(property(get=GetBottomY,put=PutBottomY))
+    double BottomY;
+    __declspec(property(get=GetShapes))
+    IVGShapesPtr Shapes;
+    __declspec(property(get=GetPositionX,put=PutPositionX))
+    double PositionX;
+    __declspec(property(get=GetFirstShape))
+    IVGShapePtr FirstShape;
+    __declspec(property(get=GetPositionY,put=PutPositionY))
+    double PositionY;
+    __declspec(property(get=GetLastShape))
+    IVGShapePtr LastShape;
+    __declspec(property(get=GetSizeWidth,put=PutSizeWidth))
+    double SizeWidth;
+    __declspec(property(get=GetSizeHeight,put=PutSizeHeight))
+    double SizeHeight;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+    __declspec(property(get=GetRotationCenterX,put=PutRotationCenterX))
+    double RotationCenterX;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGApplicationPtr GetParent ( );
+    IVGShapePtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    HRESULT Add (
+        struct IVGShape * Shape );
+    HRESULT Remove (
+        long Index );
+    long IndexOf (
+        struct IVGShape * Shape );
+    HRESULT AddToSelection ( );
+    HRESULT ConvertToCurves ( );
+    IVGShapePtr ConvertToBitmap (
+        long BitDepth,
+        VARIANT_BOOL Grayscale,
+        VARIANT_BOOL Dithered,
+        VARIANT_BOOL TransparentBG,
+        long Resolution,
+        enum cdrAntiAliasingType AntiAliasing,
+        VARIANT_BOOL UseColorProfile,
+        VARIANT_BOOL MultiChannel,
+        VARIANT_BOOL AlwaysOverprintBlack,
+        long OverprintBlackLimit );
+    HRESULT Copy ( );
+    HRESULT Cut ( );
+    HRESULT Delete ( );
+    HRESULT GetPosition (
+        double * PositionX,
+        double * PositionY );
+    HRESULT GetSize (
+        double * Width,
+        double * Height );
+    HRESULT Move (
+        double DeltaX,
+        double DeltaY );
+    IVGShapeRangePtr Duplicate (
+        double OffsetX,
+        double OffsetY );
+    IVGShapeRangePtr Clone (
+        double OffsetX,
+        double OffsetY );
+    IVGShapePtr Group ( );
+    HRESULT RemoveAll ( );
+    HRESULT OrderToFront ( );
+    HRESULT OrderToBack ( );
+    HRESULT OrderForwardOne ( );
+    HRESULT OrderBackOne ( );
+    HRESULT OrderFrontOf (
+        struct IVGShape * Shape );
+    HRESULT OrderBackOf (
+        struct IVGShape * Shape );
+    HRESULT OrderReverse ( );
+    HRESULT Rotate (
+        double Angle );
+    HRESULT RotateEx (
+        double Angle,
+        double CenterX,
+        double CenterY );
+    HRESULT Skew (
+        double AngleX,
+        double AngleY );
+    HRESULT SkewEx (
+        double AngleX,
+        double AngleY,
+        double CenterX,
+        double CenterY );
+    HRESULT UngroupAll ( );
+    HRESULT Flip (
+        enum cdrFlipAxes Axes );
+    double GetPositionX ( );
+    void PutPositionX (
+        double pVal );
+    double GetPositionY ( );
+    void PutPositionY (
+        double pVal );
+    double GetSizeWidth ( );
+    void PutSizeWidth (
+        double pVal );
+    double GetSizeHeight ( );
+    void PutSizeHeight (
+        double pVal );
+    double GetRotationCenterX ( );
+    void PutRotationCenterX (
+        double pVal );
+    double GetRotationCenterY ( );
+    void PutRotationCenterY (
+        double pVal );
+    HRESULT AddToPowerClip (
+        struct IVGShape * Shape,
+        enum cdrTriState CenterInContainer );
+    HRESULT RemoveFromContainer (
+        long Level );
+    HRESULT AddRange (
+        struct IVGShapeRange * ShapeRange );
+    HRESULT SetPosition (
+        double PositionX,
+        double PositionY );
+    HRESULT SetSize (
+        double Width,
+        double Height );
+    IVGShapePtr ConvertToBitmapEx (
+        enum cdrImageType Mode,
+        VARIANT_BOOL Dithered,
+        VARIANT_BOOL Transparent,
+        long Resolution,
+        enum cdrAntiAliasingType AntiAliasing,
+        VARIANT_BOOL UseColorProfile,
+        VARIANT_BOOL AlwaysOverprintBlack,
+        long OverprintBlackLimit );
+    IVGShapePtr Combine ( );
+    HRESULT SetBoundingBox (
+        double x,
+        double y,
+        double Width,
+        double Height,
+        VARIANT_BOOL KeepAspect,
+        enum cdrReferencePoint ReferencePoint );
+    HRESULT ApplyNoFill ( );
+    HRESULT ApplyUniformFill (
+        struct IVGColor * Color );
+    HRESULT ApplyFountainFill (
+        struct IVGColor * StartColor,
+        struct IVGColor * EndColor,
+        enum cdrFountainFillType Type,
+        double Angle,
+        long Steps,
+        long EdgePad,
+        long MidPoint,
+        enum cdrFountainFillBlendType BlendType,
+        double CenterOffsetX,
+        double CenterOffsetY );
+    HRESULT ApplyPatternFill (
+        enum cdrPatternFillType Type,
+        _bstr_t FileName,
+        long PatternCanvasIndex,
+        struct IVGColor * FrontColor,
+        struct IVGColor * EndColor,
+        VARIANT_BOOL TransformWithShape );
+    HRESULT ApplyTextureFill (
+        _bstr_t TextureName,
+        _bstr_t LibraryName );
+    HRESULT ApplyPostscriptFill (
+        const _variant_t & IndexOrName );
+    IVGShapeRangePtr ConvertOutlineToObject ( );
+    HRESULT SetOutlineProperties (
+        double Width,
+        struct IVGOutlineStyle * Style,
+        struct IVGColor * Color,
+        struct IVGArrowHead * StartArrow,
+        struct IVGArrowHead * EndArrow,
+        enum cdrTriState BehindFill,
+        enum cdrTriState ScaleWithShape,
+        enum cdrOutlineLineCaps LineCaps,
+        enum cdrOutlineLineJoin LineJoin,
+        double NibAngle,
+        long NibStretch,
+        double DashDotLength,
+        double PenWidth,
+        double MiterLimit );
+    HRESULT CreateSelection ( );
+    HRESULT RemoveFromSelection ( );
+    HRESULT SetRotationCenter (
+        double x,
+        double y );
+    HRESULT Stretch (
+        double StretchX,
+        double StretchY,
+        VARIANT_BOOL StretchCharactersSize );
+    HRESULT StretchEx (
+        double CenterX,
+        double CenterY,
+        double StretchX,
+        double StretchY,
+        VARIANT_BOOL StretchCharactersSize );
+    HRESULT SetSizeEx (
+        double CenterX,
+        double CenterY,
+        double Width,
+        double Height );
+    HRESULT GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height,
+        VARIANT_BOOL UseOutline );
+    HRESULT RestoreCloneLink (
+        enum cdrCloneLinkType LinkToRestore );
+    HRESULT ClearEffect (
+        enum cdrEffectType Type );
+    HRESULT RemoveRange (
+        struct IVGShapeRange * Range );
+    HRESULT DeleteItem (
+        long Index );
+    _variant_t CustomCommand (
+        _bstr_t ComponentID,
+        _bstr_t CommandID,
+        SAFEARRAY * * Parameters );
+    HRESULT AlignToShape (
+        enum cdrAlignType Type,
+        struct IVGShape * Shape,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToShapeRange (
+        enum cdrAlignType Type,
+        struct IVGShapeRange * ShapeRange,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToPage (
+        enum cdrAlignType Type,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToPageCenter (
+        enum cdrAlignType Type,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToGrid (
+        enum cdrAlignType Type,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT AlignToPoint (
+        enum cdrAlignType Type,
+        double x,
+        double y,
+        enum cdrTextAlignOrigin TextAlignOrigin );
+    HRESULT Distribute (
+        enum cdrDistributeType Type,
+        VARIANT_BOOL PageExtent );
+    IVGShapePtr ConvertToSymbol (
+        _bstr_t Name );
+    HRESULT Ungroup ( );
+    IVGShapeRangePtr UngroupEx ( );
+    IVGShapeRangePtr UngroupAllEx ( );
+    IVGShapeRangePtr Range (
+        SAFEARRAY * * IndexArray );
+    IVGShapeRangePtr All ( );
+    IVGShapeRangePtr AllExcluding (
+        SAFEARRAY * * IndexArray );
+    HRESULT BreakApart ( );
+    IVGShapeRangePtr BreakApartEx ( );
+    HRESULT MoveToLayer (
+        struct IVGLayer * Layer );
+    IVGShapeRangePtr CopyToLayer (
+        struct IVGLayer * Layer );
+    HRESULT ClearTransformations ( );
+    HRESULT Lock ( );
+    HRESULT Unlock ( );
+    HRESULT AlignRangeToShape (
+        enum cdrAlignType Type,
+        struct IVGShape * Shape );
+    HRESULT AlignRangeToShapeRange (
+        enum cdrAlignType Type,
+        struct IVGShapeRange * ShapeRange );
+    HRESULT AlignRangeToPage (
+        enum cdrAlignType Type );
+    HRESULT AlignRangeToPageCenter (
+        enum cdrAlignType Type );
+    HRESULT AlignRangeToGrid (
+        enum cdrAlignType Type );
+    HRESULT AlignRangeToPoint (
+        enum cdrAlignType Type,
+        double x,
+        double y );
+    HRESULT ApplyEffectInvert ( );
+    HRESULT ApplyEffectPosterize (
+        long Level );
+    HRESULT ApplyEffectBCI (
+        long Brighness,
+        long Contrast,
+        long Intensity );
+    HRESULT ApplyEffectColorBalance (
+        long CyanRed,
+        long MagentaGreen,
+        long YellowBlue,
+        VARIANT_BOOL ApplyToShadows,
+        VARIANT_BOOL ApplyToMidtones,
+        VARIANT_BOOL ApplyToHighlights,
+        VARIANT_BOOL PreserveLuminance );
+    HRESULT ApplyEffectGamma (
+        double Gamma );
+    HRESULT ApplyEffectHSL (
+        const _variant_t & Hue,
+        const _variant_t & Saturation,
+        const _variant_t & Lightness );
+    HRESULT AffineTransform (
+        double d11,
+        double d12,
+        double d21,
+        double d22,
+        double CenterX,
+        double CenterY );
+    HRESULT ApplyFill (
+        struct IVGFill * Fill );
+    HRESULT ApplyOutline (
+        struct IVGOutline * Outline );
+    IVGShapeRangePtr GetReverseRange ( );
+    HRESULT Fillet (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT Chamfer (
+        double DistanceA,
+        double DistanceB,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT Scallop (
+        double Radius,
+        VARIANT_BOOL CombineSmoothSegments );
+    HRESULT SetFillMode (
+        enum cdrFillMode Mode );
+    HRESULT ApplyCustomHatchFill (
+        double Angle,
+        double Spacing,
+        double Shift,
+        double OriginX,
+        double OriginY,
+        double Width,
+        struct IVGColor * Color,
+        struct IVGOutlineStyle * Style,
+        double DashDotLength,
+        double PenWidth,
+        struct IVGColor * BackColor,
+        VARIANT_BOOL TransformWithShape,
+        VARIANT_BOOL ScaleLinesWithShape,
+        VARIANT_BOOL UseWorldCoordinates,
+        double FillScale,
+        double LineScale,
+        double FillAngle,
+        double FillSkew );
+    HRESULT ApplyHatchFill (
+        _bstr_t LibraryName,
+        const _variant_t & HatchNameOrIndex,
+        struct IVGColor * BackColor,
+        VARIANT_BOOL TransformWithShape,
+        VARIANT_BOOL ScaleLinesWithShape,
+        VARIANT_BOOL UseWorldCoordinates,
+        double FillScale,
+        double LineScale,
+        double FillAngle,
+        double FillSkew );
+    double GetLeftX ( );
+    double GetRightX ( );
+    double GetTopY ( );
+    double GetBottomY ( );
+    IVGShapesPtr GetShapes ( );
+    IVGShapePtr GetFirstShape ( );
+    IVGShapePtr GetLastShape ( );
+    IVGShapeRangePtr StepAndRepeat (
+        long NumCopies,
+        double DistanceX,
+        double DistanceY,
+        enum cdrDistanceMode ModeX,
+        enum cdrDirection DirectionX,
+        enum cdrDistanceMode ModeY,
+        enum cdrDirection DirectionY );
+    VARIANT_BOOL Exists (
+        struct IVGShape * Shape );
+    VARIANT_BOOL ExistsAnyOfType (
+        SAFEARRAY * * TypeList );
+    long CountAnyOfType (
+        SAFEARRAY * * TypeList );
+    IVGShapeRangePtr FindAnyOfType (
+        SAFEARRAY * * TypeList );
+    IVGShapeRangePtr GetLinkedShapes (
+        enum cdrShapeLinkType LinkType );
+    IVGRectPtr GetBoundingBox ( );
+    HRESULT GetPositionEx (
+        enum cdrReferencePoint ReferencePoint,
+        double * x,
+        double * y );
+    HRESULT SetPositionEx (
+        enum cdrReferencePoint ReferencePoint,
+        double x,
+        double y );
+    double GetCenterX ( );
+    void PutCenterX (
+        double pVal );
+    double GetCenterY ( );
+    void PutCenterY (
+        double pVal );
+    void PutLeftX (
+        double pVal );
+    void PutRightX (
+        double pVal );
+    void PutTopY (
+        double pVal );
+    void PutBottomY (
+        double pVal );
+    VARIANT_BOOL CopyPropertiesFrom (
+        struct IVGShape * Source,
+        enum cdrCopyProperties Properties );
+    enum cdrOverprintState GetOverprintFillState ( );
+    enum cdrOverprintState GetOverprintOutlineState ( );
+    HRESULT Sort (
+        _bstr_t CompareExpression,
+        long StartIndex,
+        long EndIndex,
+        const _variant_t & Data = vtMissing );
+    HRESULT SetPixelAlignedRendering (
+        VARIANT_BOOL PixelAligned );
+    IVGDocumentPtr CreateDocumentFrom (
+        VARIANT_BOOL TemporaryDocument );
+    HRESULT AlignAndDistribute (
+        enum cdrAlignDistributeH MethodH,
+        enum cdrAlignDistributeV MethodV,
+        enum cdrAlignShapesTo AlignTo,
+        enum cdrDistributeArea DistributeArea,
+        VARIANT_BOOL UseOutline,
+        enum cdrTextAlignOrigin TextAlignOrigin,
+        double PointX,
+        double PointY,
+        struct IVGRect * DistributeRect );
+    HRESULT SetOutlinePropertiesEx (
+        double Width,
+        struct IVGOutlineStyle * Style,
+        struct IVGColor * Color,
+        struct IVGArrowHead * StartArrow,
+        struct IVGArrowHead * EndArrow,
+        enum cdrTriState BehindFill,
+        enum cdrTriState ScaleWithShape,
+        enum cdrOutlineLineCaps LineCaps,
+        enum cdrOutlineLineJoin LineJoin,
+        double NibAngle,
+        long NibStretch,
+        double DashDotLength,
+        double PenWidth,
+        double MiterLimit,
+        enum cdrOutlineJustification Justification );
+    IVGShapePtr CreateBoundary (
+        double x,
+        double y,
+        VARIANT_BOOL PlaceOnTop,
+        VARIANT_BOOL DeleteSource );
+    IVGShapeRangePtr EqualDivide (
+        long Divisions,
+        double Gap,
+        VARIANT_BOOL Group,
+        VARIANT_BOOL Combine,
+        VARIANT_BOOL DeleteSource );
+    IVGShapeRangePtr Project (
+        enum cdrProjectPlane Plane,
+        enum cdrReferencePoint ReferencePoint,
+        VARIANT_BOOL ApplyToDuplicate );
+    IVGShapeRangePtr Unproject (
+        enum cdrProjectPlane Plane,
+        enum cdrReferencePoint ReferencePoint,
+        VARIANT_BOOL ApplyToDuplicate );
+    HRESULT Show ( );
+    HRESULT Hide ( );
+    IVGShapeRangePtr GetToolShapes (
+        _bstr_t ShapeGuid );
+    HRESULT ModifyToolShapeProperties (
+        struct IVGProperties * ShapePropertiesToModify );
+    IVGShapeRangePtr CreateParallelCurves (
+        long Count,
+        double distanceBetweenCurves );
+    SAFEARRAY * GetColorTypes ( );
+    SAFEARRAY * GetColors (
+        long MaxBitmapColors );
+    HRESULT FlattenEffects ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_Remove (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_IndexOf (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddToSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToCurves ( ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToBitmap (
+        /*[in]*/ long BitDepth,
+        /*[in]*/ VARIANT_BOOL Grayscale,
+        /*[in]*/ VARIANT_BOOL Dithered,
+        /*[in]*/ VARIANT_BOOL TransparentBG,
+        /*[in]*/ long Resolution,
+        /*[in]*/ enum cdrAntiAliasingType AntiAliasing,
+        /*[in]*/ VARIANT_BOOL UseColorProfile,
+        /*[in]*/ VARIANT_BOOL MultiChannel,
+        /*[in]*/ VARIANT_BOOL AlwaysOverprintBlack,
+        /*[in]*/ long OverprintBlackLimit,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Copy ( ) = 0;
+      virtual HRESULT __stdcall raw_Cut ( ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_GetPosition (
+        /*[out]*/ double * PositionX,
+        /*[out]*/ double * PositionY ) = 0;
+      virtual HRESULT __stdcall raw_GetSize (
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall raw_Move (
+        /*[in]*/ double DeltaX,
+        /*[in]*/ double DeltaY ) = 0;
+      virtual HRESULT __stdcall raw_Duplicate (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Clone (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Group (
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_RemoveAll ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderToFront ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderToBack ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderForwardOne ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderBackOne ( ) = 0;
+      virtual HRESULT __stdcall raw_OrderFrontOf (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_OrderBackOf (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_OrderReverse ( ) = 0;
+      virtual HRESULT __stdcall raw_Rotate (
+        /*[in]*/ double Angle ) = 0;
+      virtual HRESULT __stdcall raw_RotateEx (
+        /*[in]*/ double Angle,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY ) = 0;
+      virtual HRESULT __stdcall raw_Skew (
+        /*[in]*/ double AngleX,
+        /*[in]*/ double AngleY ) = 0;
+      virtual HRESULT __stdcall raw_SkewEx (
+        /*[in]*/ double AngleX,
+        /*[in]*/ double AngleY,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY ) = 0;
+      virtual HRESULT __stdcall raw_UngroupAll ( ) = 0;
+      virtual HRESULT __stdcall raw_Flip (
+        /*[in]*/ enum cdrFlipAxes Axes ) = 0;
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SizeHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationCenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationCenterX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationCenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationCenterY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddToPowerClip (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ enum cdrTriState CenterInContainer ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromContainer (
+        /*[in]*/ long Level ) = 0;
+      virtual HRESULT __stdcall raw_AddRange (
+        /*[in]*/ struct IVGShapeRange * ShapeRange ) = 0;
+      virtual HRESULT __stdcall raw_SetPosition (
+        /*[in]*/ double PositionX,
+        /*[in]*/ double PositionY ) = 0;
+      virtual HRESULT __stdcall raw_SetSize (
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToBitmapEx (
+        /*[in]*/ enum cdrImageType Mode,
+        /*[in]*/ VARIANT_BOOL Dithered,
+        /*[in]*/ VARIANT_BOOL Transparent,
+        /*[in]*/ long Resolution,
+        /*[in]*/ enum cdrAntiAliasingType AntiAliasing,
+        /*[in]*/ VARIANT_BOOL UseColorProfile,
+        /*[in]*/ VARIANT_BOOL AlwaysOverprintBlack,
+        /*[in]*/ long OverprintBlackLimit,
+        /*[out,retval]*/ struct IVGShape * * ppRet ) = 0;
+      virtual HRESULT __stdcall raw_Combine (
+        /*[out,retval]*/ struct IVGShape * * ppRetVal ) = 0;
+      virtual HRESULT __stdcall raw_SetBoundingBox (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[in]*/ VARIANT_BOOL KeepAspect,
+        /*[in]*/ enum cdrReferencePoint ReferencePoint ) = 0;
+      virtual HRESULT __stdcall raw_ApplyNoFill ( ) = 0;
+      virtual HRESULT __stdcall raw_ApplyUniformFill (
+        /*[in]*/ struct IVGColor * Color ) = 0;
+      virtual HRESULT __stdcall raw_ApplyFountainFill (
+        /*[in]*/ struct IVGColor * StartColor,
+        /*[in]*/ struct IVGColor * EndColor,
+        /*[in]*/ enum cdrFountainFillType Type,
+        /*[in]*/ double Angle,
+        /*[in]*/ long Steps,
+        /*[in]*/ long EdgePad,
+        /*[in]*/ long MidPoint,
+        /*[in]*/ enum cdrFountainFillBlendType BlendType,
+        /*[in]*/ double CenterOffsetX,
+        /*[in]*/ double CenterOffsetY ) = 0;
+      virtual HRESULT __stdcall raw_ApplyPatternFill (
+        /*[in]*/ enum cdrPatternFillType Type,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ long PatternCanvasIndex,
+        /*[in]*/ struct IVGColor * FrontColor,
+        /*[in]*/ struct IVGColor * EndColor,
+        /*[in]*/ VARIANT_BOOL TransformWithShape ) = 0;
+      virtual HRESULT __stdcall raw_ApplyTextureFill (
+        /*[in]*/ BSTR TextureName,
+        /*[in]*/ BSTR LibraryName ) = 0;
+      virtual HRESULT __stdcall raw_ApplyPostscriptFill (
+        /*[in]*/ VARIANT IndexOrName ) = 0;
+      virtual HRESULT __stdcall raw_ConvertOutlineToObject (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetOutlineProperties (
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGArrowHead * StartArrow,
+        /*[in]*/ struct IVGArrowHead * EndArrow,
+        /*[in]*/ enum cdrTriState BehindFill,
+        /*[in]*/ enum cdrTriState ScaleWithShape,
+        /*[in]*/ enum cdrOutlineLineCaps LineCaps,
+        /*[in]*/ enum cdrOutlineLineJoin LineJoin,
+        /*[in]*/ double NibAngle,
+        /*[in]*/ long NibStretch,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth,
+        /*[in]*/ double MiterLimit ) = 0;
+      virtual HRESULT __stdcall raw_CreateSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_RemoveFromSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_SetRotationCenter (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_Stretch (
+        /*[in]*/ double StretchX,
+        /*[in]*/ double StretchY,
+        /*[in]*/ VARIANT_BOOL StretchCharactersSize ) = 0;
+      virtual HRESULT __stdcall raw_StretchEx (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double StretchX,
+        /*[in]*/ double StretchY,
+        /*[in]*/ VARIANT_BOOL StretchCharactersSize ) = 0;
+      virtual HRESULT __stdcall raw_SetSizeEx (
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height,
+        /*[in]*/ VARIANT_BOOL UseOutline ) = 0;
+      virtual HRESULT __stdcall raw_RestoreCloneLink (
+        /*[in]*/ enum cdrCloneLinkType LinkToRestore ) = 0;
+      virtual HRESULT __stdcall raw_ClearEffect (
+        /*[in]*/ enum cdrEffectType Type ) = 0;
+      virtual HRESULT __stdcall raw_RemoveRange (
+        /*[in]*/ struct IVGShapeRange * Range ) = 0;
+      virtual HRESULT __stdcall raw_DeleteItem (
+        /*[in]*/ long Index ) = 0;
+      virtual HRESULT __stdcall raw_CustomCommand (
+        /*[in]*/ BSTR ComponentID,
+        /*[in]*/ BSTR CommandID,
+        /*[in]*/ SAFEARRAY * * Parameters,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AlignToShape (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToShapeRange (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ struct IVGShapeRange * ShapeRange,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToPage (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToPageCenter (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToGrid (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_AlignToPoint (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin ) = 0;
+      virtual HRESULT __stdcall raw_Distribute (
+        /*[in]*/ enum cdrDistributeType Type,
+        /*[in]*/ VARIANT_BOOL PageExtent ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToSymbol (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Ungroup ( ) = 0;
+      virtual HRESULT __stdcall raw_UngroupEx (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_UngroupAllEx (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Range (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_All (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AllExcluding (
+        /*[in]*/ SAFEARRAY * * IndexArray,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BreakApart ( ) = 0;
+      virtual HRESULT __stdcall raw_BreakApartEx (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_MoveToLayer (
+        /*[in]*/ struct IVGLayer * Layer ) = 0;
+      virtual HRESULT __stdcall raw_CopyToLayer (
+        /*[in]*/ struct IVGLayer * Layer,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ClearTransformations ( ) = 0;
+      virtual HRESULT __stdcall raw_Lock ( ) = 0;
+      virtual HRESULT __stdcall raw_Unlock ( ) = 0;
+      virtual HRESULT __stdcall raw_AlignRangeToShape (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_AlignRangeToShapeRange (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ struct IVGShapeRange * ShapeRange ) = 0;
+      virtual HRESULT __stdcall raw_AlignRangeToPage (
+        /*[in]*/ enum cdrAlignType Type ) = 0;
+      virtual HRESULT __stdcall raw_AlignRangeToPageCenter (
+        /*[in]*/ enum cdrAlignType Type ) = 0;
+      virtual HRESULT __stdcall raw_AlignRangeToGrid (
+        /*[in]*/ enum cdrAlignType Type ) = 0;
+      virtual HRESULT __stdcall raw_AlignRangeToPoint (
+        /*[in]*/ enum cdrAlignType Type,
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectInvert ( ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectPosterize (
+        /*[in]*/ long Level ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectBCI (
+        /*[in]*/ long Brighness,
+        /*[in]*/ long Contrast,
+        /*[in]*/ long Intensity ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectColorBalance (
+        /*[in]*/ long CyanRed,
+        /*[in]*/ long MagentaGreen,
+        /*[in]*/ long YellowBlue,
+        /*[in]*/ VARIANT_BOOL ApplyToShadows,
+        /*[in]*/ VARIANT_BOOL ApplyToMidtones,
+        /*[in]*/ VARIANT_BOOL ApplyToHighlights,
+        /*[in]*/ VARIANT_BOOL PreserveLuminance ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectGamma (
+        /*[in]*/ double Gamma ) = 0;
+      virtual HRESULT __stdcall raw_ApplyEffectHSL (
+        /*[in]*/ VARIANT Hue,
+        /*[in]*/ VARIANT Saturation,
+        /*[in]*/ VARIANT Lightness ) = 0;
+      virtual HRESULT __stdcall raw_AffineTransform (
+        /*[in]*/ double d11,
+        /*[in]*/ double d12,
+        /*[in]*/ double d21,
+        /*[in]*/ double d22,
+        /*[in]*/ double CenterX,
+        /*[in]*/ double CenterY ) = 0;
+      virtual HRESULT __stdcall raw_ApplyFill (
+        /*[in]*/ struct IVGFill * Fill ) = 0;
+      virtual HRESULT __stdcall raw_ApplyOutline (
+        /*[in]*/ struct IVGOutline * Outline ) = 0;
+      virtual HRESULT __stdcall get_ReverseRange (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Fillet (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_Chamfer (
+        /*[in]*/ double DistanceA,
+        /*[in]*/ double DistanceB,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_Scallop (
+        /*[in]*/ double Radius,
+        /*[in]*/ VARIANT_BOOL CombineSmoothSegments ) = 0;
+      virtual HRESULT __stdcall raw_SetFillMode (
+        /*[in]*/ enum cdrFillMode Mode ) = 0;
+      virtual HRESULT __stdcall raw_ApplyCustomHatchFill (
+        /*[in]*/ double Angle,
+        /*[in]*/ double Spacing,
+        /*[in]*/ double Shift,
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth,
+        /*[in]*/ struct IVGColor * BackColor,
+        /*[in]*/ VARIANT_BOOL TransformWithShape,
+        /*[in]*/ VARIANT_BOOL ScaleLinesWithShape,
+        /*[in]*/ VARIANT_BOOL UseWorldCoordinates,
+        /*[in]*/ double FillScale,
+        /*[in]*/ double LineScale,
+        /*[in]*/ double FillAngle,
+        /*[in]*/ double FillSkew ) = 0;
+      virtual HRESULT __stdcall raw_ApplyHatchFill (
+        /*[in]*/ BSTR LibraryName,
+        /*[in]*/ VARIANT HatchNameOrIndex,
+        /*[in]*/ struct IVGColor * BackColor,
+        /*[in]*/ VARIANT_BOOL TransformWithShape,
+        /*[in]*/ VARIANT_BOOL ScaleLinesWithShape,
+        /*[in]*/ VARIANT_BOOL UseWorldCoordinates,
+        /*[in]*/ double FillScale,
+        /*[in]*/ double LineScale,
+        /*[in]*/ double FillAngle,
+        /*[in]*/ double FillSkew ) = 0;
+      virtual HRESULT __stdcall get_LeftX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_RightX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_TopY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_BottomY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_Shapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FirstShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LastShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_StepAndRepeat (
+        /*[in]*/ long NumCopies,
+        /*[in]*/ double DistanceX,
+        /*[in]*/ double DistanceY,
+        /*[in]*/ enum cdrDistanceMode ModeX,
+        /*[in]*/ enum cdrDirection DirectionX,
+        /*[in]*/ enum cdrDistanceMode ModeY,
+        /*[in]*/ enum cdrDirection DirectionY,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Exists (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ExistsAnyOfType (
+        /*[in]*/ SAFEARRAY * * TypeList,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CountAnyOfType (
+        /*[in]*/ SAFEARRAY * * TypeList,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindAnyOfType (
+        /*[in]*/ SAFEARRAY * * TypeList,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetLinkedShapes (
+        /*[in]*/ enum cdrShapeLinkType LinkType,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPositionEx (
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[out]*/ double * x,
+        /*[out]*/ double * y ) = 0;
+      virtual HRESULT __stdcall raw_SetPositionEx (
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_CenterY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_LeftX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_RightX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_TopY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall put_BottomY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyPropertiesFrom (
+        /*[in]*/ struct IVGShape * Source,
+        /*[in]*/ enum cdrCopyProperties Properties,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetOverprintFillState (
+        /*[out,retval]*/ enum cdrOverprintState * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetOverprintOutlineState (
+        /*[out,retval]*/ enum cdrOverprintState * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Sort (
+        /*[in]*/ BSTR CompareExpression,
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long EndIndex,
+        /*[in]*/ VARIANT Data = vtMissing ) = 0;
+      virtual HRESULT __stdcall raw_SetPixelAlignedRendering (
+        /*[in]*/ VARIANT_BOOL PixelAligned ) = 0;
+      virtual HRESULT __stdcall raw_CreateDocumentFrom (
+        /*[in]*/ VARIANT_BOOL TemporaryDocument,
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AlignAndDistribute (
+        /*[in]*/ enum cdrAlignDistributeH MethodH,
+        /*[in]*/ enum cdrAlignDistributeV MethodV,
+        /*[in]*/ enum cdrAlignShapesTo AlignTo,
+        /*[in]*/ enum cdrDistributeArea DistributeArea,
+        /*[in]*/ VARIANT_BOOL UseOutline,
+        /*[in]*/ enum cdrTextAlignOrigin TextAlignOrigin,
+        /*[in]*/ double PointX,
+        /*[in]*/ double PointY,
+        /*[in]*/ struct IVGRect * DistributeRect ) = 0;
+      virtual HRESULT __stdcall raw_SetOutlinePropertiesEx (
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGArrowHead * StartArrow,
+        /*[in]*/ struct IVGArrowHead * EndArrow,
+        /*[in]*/ enum cdrTriState BehindFill,
+        /*[in]*/ enum cdrTriState ScaleWithShape,
+        /*[in]*/ enum cdrOutlineLineCaps LineCaps,
+        /*[in]*/ enum cdrOutlineLineJoin LineJoin,
+        /*[in]*/ double NibAngle,
+        /*[in]*/ long NibStretch,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth,
+        /*[in]*/ double MiterLimit,
+        /*[in]*/ enum cdrOutlineJustification Justification ) = 0;
+      virtual HRESULT __stdcall raw_CreateBoundary (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ VARIANT_BOOL PlaceOnTop,
+        /*[in]*/ VARIANT_BOOL DeleteSource,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_EqualDivide (
+        /*[in]*/ long Divisions,
+        /*[in]*/ double Gap,
+        /*[in]*/ VARIANT_BOOL Group,
+        /*[in]*/ VARIANT_BOOL Combine,
+        /*[in]*/ VARIANT_BOOL DeleteSource,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Project (
+        /*[in]*/ enum cdrProjectPlane Plane,
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ VARIANT_BOOL ApplyToDuplicate,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRetVal ) = 0;
+      virtual HRESULT __stdcall raw_Unproject (
+        /*[in]*/ enum cdrProjectPlane Plane,
+        /*[in]*/ enum cdrReferencePoint ReferencePoint,
+        /*[in]*/ VARIANT_BOOL ApplyToDuplicate,
+        /*[out,retval]*/ struct IVGShapeRange * * ppRetVal ) = 0;
+      virtual HRESULT __stdcall raw_Show ( ) = 0;
+      virtual HRESULT __stdcall raw_Hide ( ) = 0;
+      virtual HRESULT __stdcall raw_GetToolShapes (
+        /*[in]*/ BSTR ShapeGuid,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ModifyToolShapeProperties (
+        /*[in]*/ struct IVGProperties * ShapePropertiesToModify ) = 0;
+      virtual HRESULT __stdcall raw_CreateParallelCurves (
+        /*[in]*/ long Count,
+        /*[in]*/ double distanceBetweenCurves,
+        /*[out,retval]*/ struct IVGShapeRange * * ppParallels ) = 0;
+      virtual HRESULT __stdcall raw_GetColorTypes (
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetColors (
+        /*[in]*/ long MaxBitmapColors,
+        /*[out,retval]*/ SAFEARRAY * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FlattenEffects ( ) = 0;
+};
+
+struct __declspec(uuid("b0580053-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPowerClip : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGShapePtr Parent;
+    __declspec(property(get=GetShapes))
+    IVGShapesPtr Shapes;
+    __declspec(property(get=GetContentsLocked,put=PutContentsLocked))
+    VARIANT_BOOL ContentsLocked;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGShapePtr GetParent ( );
+    IVGShapesPtr GetShapes ( );
+    VARIANT_BOOL GetContentsLocked ( );
+    void PutContentsLocked (
+        VARIANT_BOOL pVal );
+    HRESULT EnterEditMode ( );
+    HRESULT LeaveEditMode ( );
+    IVGShapeRangePtr ExtractShapes ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Shapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ContentsLocked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ContentsLocked (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_EnterEditMode ( ) = 0;
+      virtual HRESULT __stdcall raw_LeaveEditMode ( ) = 0;
+      virtual HRESULT __stdcall raw_ExtractShapes (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580038-9aa4-44fd-9547-4f91eb757ac4"))
+IVGFill : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrFillType Type;
+    __declspec(property(get=GetUniformColor,put=PutUniformColor))
+    IVGColorPtr UniformColor;
+    __declspec(property(get=GetFountain,put=PutFountain))
+    IVGFountainFillPtr Fountain;
+    __declspec(property(get=GetPattern,put=PutPattern))
+    IVGPatternFillPtr Pattern;
+    __declspec(property(get=GetTexture,put=PutTexture))
+    IVGTextureFillPtr Texture;
+    __declspec(property(get=GetPostScript,put=PutPostScript))
+    IVGPostScriptFillPtr PostScript;
+    __declspec(property(get=GetPSScreen))
+    IVGPSScreenOptionsPtr PSScreen;
+    __declspec(property(get=GetHatch,put=PutHatch))
+    IVGHatchFillPtr Hatch;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrFillType GetType ( );
+    IVGColorPtr GetUniformColor ( );
+    void PutUniformColor (
+        struct IVGColor * ppVal );
+    IVGFountainFillPtr GetFountain ( );
+    void PutFountain (
+        struct IVGFountainFill * ppVal );
+    IVGPatternFillPtr GetPattern ( );
+    void PutPattern (
+        struct IVGPatternFill * ppVal );
+    IVGTextureFillPtr GetTexture ( );
+    void PutTexture (
+        struct IVGTextureFill * ppVal );
+    IVGPostScriptFillPtr GetPostScript ( );
+    void PutPostScript (
+        struct IVGPostScriptFill * ppVal );
+    HRESULT ApplyNoFill ( );
+    HRESULT ApplyUniformFill (
+        struct IVGColor * Color );
+    IVGFountainFillPtr ApplyFountainFill (
+        struct IVGColor * StartColor,
+        struct IVGColor * EndColor,
+        enum cdrFountainFillType Type,
+        double Angle,
+        long Steps,
+        long EdgePad,
+        long MidPoint,
+        enum cdrFountainFillBlendType BlendType,
+        double CenterOffsetX,
+        double CenterOffsetY );
+    IVGPatternFillPtr ApplyPatternFill (
+        enum cdrPatternFillType Type,
+        _bstr_t FileName,
+        long PatternCanvasIndex,
+        struct IVGColor * FrontColor,
+        struct IVGColor * EndColor,
+        VARIANT_BOOL TransformWithShape );
+    IVGTextureFillPtr ApplyTextureFill (
+        _bstr_t TextureName,
+        _bstr_t LibraryName );
+    IVGPostScriptFillPtr ApplyPostscriptFill (
+        const _variant_t & IndexOrName );
+    IVGFillPtr GetCopy ( );
+    HRESULT CopyAssign (
+        struct IVGFill * SourceFill );
+    VARIANT_BOOL UserAssign (
+        enum cdrFillType FillType,
+        enum cdrPatternFillType PatternType,
+        long ParentWindowHandle );
+    IVGPSScreenOptionsPtr GetPSScreen ( );
+    IVGHatchFillPtr GetHatch ( );
+    void PutHatch (
+        struct IVGHatchFill * ppVal );
+    VARIANT_BOOL CompareWith (
+        struct IVGFill * Fill );
+    IVGHatchFillPtr ApplyCustomHatchFill (
+        double Angle,
+        double Spacing,
+        double Shift,
+        double OriginX,
+        double OriginY,
+        double Width,
+        struct IVGColor * Color,
+        struct IVGOutlineStyle * Style,
+        double DashDotLength,
+        double PenWidth,
+        struct IVGColor * BackColor,
+        VARIANT_BOOL TransformWithShape,
+        VARIANT_BOOL ScaleLinesWithShape,
+        VARIANT_BOOL UseWorldCoordinates,
+        double FillScale,
+        double LineScale,
+        double FillAngle,
+        double FillSkew );
+    IVGHatchFillPtr ApplyHatchFill (
+        _bstr_t LibraryName,
+        const _variant_t & HatchNameOrIndex,
+        struct IVGColor * BackColor,
+        VARIANT_BOOL TransformWithShape,
+        VARIANT_BOOL ScaleLinesWithShape,
+        VARIANT_BOOL UseWorldCoordinates,
+        double FillScale,
+        double LineScale,
+        double FillAngle,
+        double FillSkew );
+    _bstr_t ToString ( );
+    VARIANT_BOOL StringAssign (
+        _bstr_t FillString );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrFillType * Type ) = 0;
+      virtual HRESULT __stdcall get_UniformColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_UniformColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Fountain (
+        /*[out,retval]*/ struct IVGFountainFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Fountain (
+        /*[in]*/ struct IVGFountainFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Pattern (
+        /*[out,retval]*/ struct IVGPatternFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Pattern (
+        /*[in]*/ struct IVGPatternFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Texture (
+        /*[out,retval]*/ struct IVGTextureFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Texture (
+        /*[in]*/ struct IVGTextureFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PostScript (
+        /*[out,retval]*/ struct IVGPostScriptFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_PostScript (
+        /*[in]*/ struct IVGPostScriptFill * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyNoFill ( ) = 0;
+      virtual HRESULT __stdcall raw_ApplyUniformFill (
+        /*[in]*/ struct IVGColor * Color ) = 0;
+      virtual HRESULT __stdcall raw_ApplyFountainFill (
+        /*[in]*/ struct IVGColor * StartColor,
+        /*[in]*/ struct IVGColor * EndColor,
+        /*[in]*/ enum cdrFountainFillType Type,
+        /*[in]*/ double Angle,
+        /*[in]*/ long Steps,
+        /*[in]*/ long EdgePad,
+        /*[in]*/ long MidPoint,
+        /*[in]*/ enum cdrFountainFillBlendType BlendType,
+        /*[in]*/ double CenterOffsetX,
+        /*[in]*/ double CenterOffsetY,
+        /*[out,retval]*/ struct IVGFountainFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyPatternFill (
+        /*[in]*/ enum cdrPatternFillType Type,
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ long PatternCanvasIndex,
+        /*[in]*/ struct IVGColor * FrontColor,
+        /*[in]*/ struct IVGColor * EndColor,
+        /*[in]*/ VARIANT_BOOL TransformWithShape,
+        /*[out,retval]*/ struct IVGPatternFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyTextureFill (
+        /*[in]*/ BSTR TextureName,
+        /*[in]*/ BSTR LibraryName,
+        /*[out,retval]*/ struct IVGTextureFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyPostscriptFill (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGPostScriptFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAssign (
+        /*[in]*/ struct IVGFill * SourceFill ) = 0;
+      virtual HRESULT __stdcall raw_UserAssign (
+        /*[in]*/ enum cdrFillType FillType,
+        /*[in]*/ enum cdrPatternFillType PatternType,
+        /*[in]*/ long ParentWindowHandle,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_PSScreen (
+        /*[out,retval]*/ struct IVGPSScreenOptions * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Hatch (
+        /*[out,retval]*/ struct IVGHatchFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Hatch (
+        /*[in]*/ struct IVGHatchFill * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CompareWith (
+        /*[in]*/ struct IVGFill * Fill,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyCustomHatchFill (
+        /*[in]*/ double Angle,
+        /*[in]*/ double Spacing,
+        /*[in]*/ double Shift,
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth,
+        /*[in]*/ struct IVGColor * BackColor,
+        /*[in]*/ VARIANT_BOOL TransformWithShape,
+        /*[in]*/ VARIANT_BOOL ScaleLinesWithShape,
+        /*[in]*/ VARIANT_BOOL UseWorldCoordinates,
+        /*[in]*/ double FillScale,
+        /*[in]*/ double LineScale,
+        /*[in]*/ double FillAngle,
+        /*[in]*/ double FillSkew,
+        /*[out,retval]*/ struct IVGHatchFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyHatchFill (
+        /*[in]*/ BSTR LibraryName,
+        /*[in]*/ VARIANT HatchNameOrIndex,
+        /*[in]*/ struct IVGColor * BackColor,
+        /*[in]*/ VARIANT_BOOL TransformWithShape,
+        /*[in]*/ VARIANT_BOOL ScaleLinesWithShape,
+        /*[in]*/ VARIANT_BOOL UseWorldCoordinates,
+        /*[in]*/ double FillScale,
+        /*[in]*/ double LineScale,
+        /*[in]*/ double FillAngle,
+        /*[in]*/ double FillSkew,
+        /*[out,retval]*/ struct IVGHatchFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ToString (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_StringAssign (
+        /*[in]*/ BSTR FillString,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058009f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGHatchFills : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGFillPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGFillPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+    IVGFillPtr Find (
+        _bstr_t Name );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058009e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGHatchLibrary : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetFills))
+    IVGHatchFillsPtr Fills;
+    __declspec(property(get=GetActive))
+    VARIANT_BOOL Active;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetDisplayName))
+    _bstr_t DisplayName;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    IVGHatchFillsPtr GetFills ( );
+    VARIANT_BOOL GetActive ( );
+    long GetIndex ( );
+    HRESULT Activate ( );
+    _bstr_t GetDisplayName ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Fills (
+        /*[out,retval]*/ struct IVGHatchFills * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Active (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall get_DisplayName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058009a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGHatchFill : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetBackColor,put=PutBackColor))
+    IVGColorPtr BackColor;
+    __declspec(property(get=GetHasBackground))
+    VARIANT_BOOL HasBackground;
+    __declspec(property(get=GetTransformWithShape,put=PutTransformWithShape))
+    VARIANT_BOOL TransformWithShape;
+    __declspec(property(get=GetScaleLinesWithShape,put=PutScaleLinesWithShape))
+    VARIANT_BOOL ScaleLinesWithShape;
+    __declspec(property(get=GetUseWorldCoordinates,put=PutUseWorldCoordinates))
+    VARIANT_BOOL UseWorldCoordinates;
+    __declspec(property(get=GetLibraryName))
+    _bstr_t LibraryName;
+    __declspec(property(get=GetHatchName))
+    _bstr_t HatchName;
+    __declspec(property(get=GetPatterns))
+    IVGHatchPatternsPtr Patterns;
+    __declspec(property(get=GetFillScaleX,put=PutFillScaleX))
+    double FillScaleX;
+    __declspec(property(get=GetFillScaleY,put=PutFillScaleY))
+    double FillScaleY;
+    __declspec(property(get=GetRotationAngle,put=PutRotationAngle))
+    double RotationAngle;
+    __declspec(property(get=GetSkewAngle,put=PutSkewAngle))
+    double SkewAngle;
+    __declspec(property(get=GetIsFromLibrary))
+    VARIANT_BOOL IsFromLibrary;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetLibrary))
+    IVGHatchLibraryPtr Library;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGColorPtr GetBackColor ( );
+    void PutBackColor (
+        struct IVGColor * ppVal );
+    VARIANT_BOOL GetHasBackground ( );
+    VARIANT_BOOL GetTransformWithShape ( );
+    void PutTransformWithShape (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetScaleLinesWithShape ( );
+    void PutScaleLinesWithShape (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetUseWorldCoordinates ( );
+    void PutUseWorldCoordinates (
+        VARIANT_BOOL pVal );
+    _bstr_t GetLibraryName ( );
+    _bstr_t GetHatchName ( );
+    IVGHatchPatternsPtr GetPatterns ( );
+    double GetFillScaleX ( );
+    void PutFillScaleX (
+        double pVal );
+    double GetFillScaleY ( );
+    void PutFillScaleY (
+        double pVal );
+    double GetRotationAngle ( );
+    void PutRotationAngle (
+        double pVal );
+    double GetSkewAngle ( );
+    void PutSkewAngle (
+        double pVal );
+    HRESULT SetNoBackColor ( );
+    HRESULT SetFillScale (
+        double FillScale );
+    double GetFillScale ( );
+    HRESULT SetLineScale (
+        double LineScale );
+    double GetLineScale ( );
+    IVGHatchPatternPtr AddPattern (
+        double Angle,
+        double Spacing,
+        double Shift,
+        double OriginX,
+        double OriginY,
+        double Width,
+        struct IVGColor * Color,
+        struct IVGOutlineStyle * Style,
+        double DashDotLength,
+        double PenWidth );
+    HRESULT AddToLibrary (
+        _bstr_t LibraryName,
+        _bstr_t HatchName );
+    HRESULT Select (
+        _bstr_t LibraryName,
+        const _variant_t & HatchNameOrIndex,
+        struct IVGColor * BackColor,
+        VARIANT_BOOL TransformWithShape,
+        VARIANT_BOOL ScaleLinesWithShape,
+        VARIANT_BOOL UseWorldCoordinates,
+        double FillScale,
+        double LineScale,
+        double FillAngle,
+        double FillSkew );
+    VARIANT_BOOL GetIsFromLibrary ( );
+    long GetIndex ( );
+    IVGHatchLibraryPtr GetLibrary ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_BackColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_BackColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_HasBackground (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_TransformWithShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TransformWithShape (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ScaleLinesWithShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScaleLinesWithShape (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_UseWorldCoordinates (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseWorldCoordinates (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_LibraryName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_HatchName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Patterns (
+        /*[out,retval]*/ struct IVGHatchPatterns * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FillScaleX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FillScaleX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FillScaleY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FillScaleY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SkewAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SkewAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetNoBackColor ( ) = 0;
+      virtual HRESULT __stdcall raw_SetFillScale (
+        /*[in]*/ double FillScale ) = 0;
+      virtual HRESULT __stdcall raw_GetFillScale (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetLineScale (
+        /*[in]*/ double LineScale ) = 0;
+      virtual HRESULT __stdcall raw_GetLineScale (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddPattern (
+        /*[in]*/ double Angle,
+        /*[in]*/ double Spacing,
+        /*[in]*/ double Shift,
+        /*[in]*/ double OriginX,
+        /*[in]*/ double OriginY,
+        /*[in]*/ double Width,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ struct IVGOutlineStyle * Style,
+        /*[in]*/ double DashDotLength,
+        /*[in]*/ double PenWidth,
+        /*[out,retval]*/ struct IVGHatchPattern * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddToLibrary (
+        /*[in]*/ BSTR LibraryName,
+        /*[in]*/ BSTR HatchName ) = 0;
+      virtual HRESULT __stdcall raw_Select (
+        /*[in]*/ BSTR LibraryName,
+        /*[in]*/ VARIANT HatchNameOrIndex,
+        /*[in]*/ struct IVGColor * BackColor,
+        /*[in]*/ VARIANT_BOOL TransformWithShape,
+        /*[in]*/ VARIANT_BOOL ScaleLinesWithShape,
+        /*[in]*/ VARIANT_BOOL UseWorldCoordinates,
+        /*[in]*/ double FillScale,
+        /*[in]*/ double LineScale,
+        /*[in]*/ double FillAngle,
+        /*[in]*/ double FillSkew ) = 0;
+      virtual HRESULT __stdcall get_IsFromLibrary (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Library (
+        /*[out,retval]*/ struct IVGHatchLibrary * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580064-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStructFontProperties : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetStyle,put=PutStyle))
+    enum cdrFontStyle Style;
+    __declspec(property(get=GetSize,put=PutSize))
+    float Size;
+    __declspec(property(get=GetUnderline,put=PutUnderline))
+    enum cdrFontLine Underline;
+    __declspec(property(get=GetOverscore,put=PutOverscore))
+    enum cdrFontLine Overscore;
+    __declspec(property(get=GetStrikethru,put=PutStrikethru))
+    enum cdrFontLine Strikethru;
+    __declspec(property(get=GetUppercase,put=PutUppercase))
+    enum cdrFontCase Uppercase;
+    __declspec(property(get=GetPosition,put=PutPosition))
+    enum cdrFontPosition Position;
+    __declspec(property(get=GetRangeKerning,put=PutRangeKerning))
+    long RangeKerning;
+    __declspec(property(get=GetFill,put=PutFill))
+    IVGFillPtr Fill;
+    __declspec(property(get=GetOutline,put=PutOutline))
+    IVGOutlinePtr Outline;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    void PutName (
+        _bstr_t pVal );
+    _bstr_t GetName ( );
+    void PutStyle (
+        enum cdrFontStyle pVal );
+    enum cdrFontStyle GetStyle ( );
+    void PutSize (
+        float pVal );
+    float GetSize ( );
+    void PutUnderline (
+        enum cdrFontLine pVal );
+    enum cdrFontLine GetUnderline ( );
+    void PutOverscore (
+        enum cdrFontLine pVal );
+    enum cdrFontLine GetOverscore ( );
+    void PutStrikethru (
+        enum cdrFontLine pVal );
+    enum cdrFontLine GetStrikethru ( );
+    void PutUppercase (
+        enum cdrFontCase pVal );
+    enum cdrFontCase GetUppercase ( );
+    void PutPosition (
+        enum cdrFontPosition pVal );
+    enum cdrFontPosition GetPosition ( );
+    void PutRangeKerning (
+        long pVal );
+    long GetRangeKerning ( );
+    void PutFill (
+        struct IVGFill * ppVal );
+    IVGFillPtr GetFill ( );
+    void PutOutline (
+        struct IVGOutline * ppVal );
+    IVGOutlinePtr GetOutline ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Style (
+        /*[in]*/ enum cdrFontStyle pVal ) = 0;
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ enum cdrFontStyle * pVal ) = 0;
+      virtual HRESULT __stdcall put_Size (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_Size (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_Underline (
+        /*[in]*/ enum cdrFontLine pVal ) = 0;
+      virtual HRESULT __stdcall get_Underline (
+        /*[out,retval]*/ enum cdrFontLine * pVal ) = 0;
+      virtual HRESULT __stdcall put_Overscore (
+        /*[in]*/ enum cdrFontLine pVal ) = 0;
+      virtual HRESULT __stdcall get_Overscore (
+        /*[out,retval]*/ enum cdrFontLine * pVal ) = 0;
+      virtual HRESULT __stdcall put_Strikethru (
+        /*[in]*/ enum cdrFontLine pVal ) = 0;
+      virtual HRESULT __stdcall get_Strikethru (
+        /*[out,retval]*/ enum cdrFontLine * pVal ) = 0;
+      virtual HRESULT __stdcall put_Uppercase (
+        /*[in]*/ enum cdrFontCase pVal ) = 0;
+      virtual HRESULT __stdcall get_Uppercase (
+        /*[out,retval]*/ enum cdrFontCase * pVal ) = 0;
+      virtual HRESULT __stdcall put_Position (
+        /*[in]*/ enum cdrFontPosition pVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ enum cdrFontPosition * pVal ) = 0;
+      virtual HRESULT __stdcall put_RangeKerning (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_RangeKerning (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Fill (
+        /*[in]*/ struct IVGFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Fill (
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Outline (
+        /*[in]*/ struct IVGOutline * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Outline (
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058009d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGHatchLibraries : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGHatchLibraryPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetActiveLibrary))
+    IVGHatchLibraryPtr ActiveLibrary;
+    __declspec(property(get=GetDefaultLibrary))
+    IVGHatchLibraryPtr DefaultLibrary;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGHatchLibraryPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IVGHatchLibraryPtr Find (
+        _bstr_t Name );
+    IUnknownPtr Get_NewEnum ( );
+    IVGHatchLibraryPtr GetActiveLibrary ( );
+    IVGHatchLibraryPtr GetDefaultLibrary ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGHatchLibrary * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGHatchLibrary * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveLibrary (
+        /*[out,retval]*/ struct IVGHatchLibrary * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultLibrary (
+        /*[out,retval]*/ struct IVGHatchLibrary * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580071-9aa4-44fd-9547-4f91eb757ac4"))
+IVGText : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrTextType Type;
+    __declspec(property(get=GetFramesInLink))
+    long FramesInLink;
+    __declspec(property(get=GetUnusedFramesInLink))
+    long UnusedFramesInLink;
+    __declspec(property(get=GetOverflow))
+    VARIANT_BOOL Overflow;
+    __declspec(property(get=GetFontProperties,put=PutFontProperties))
+    IVGStructFontPropertiesPtr FontProperties[];
+    __declspec(property(get=GetSelection))
+    IVGTextRangePtr Selection;
+    __declspec(property(get=GetFontPropertiesInRange,put=PutFontPropertiesInRange))
+    IVGStructFontPropertiesPtr FontPropertiesInRange[][][];
+    __declspec(property(get=GetIsEditing))
+    VARIANT_BOOL IsEditing;
+    __declspec(property(get=GetAlignProperties,put=PutAlignProperties))
+    IVGStructAlignPropertiesPtr AlignProperties[];
+    __declspec(property(get=GetFrame))
+    IVGTextFramePtr Frame;
+    __declspec(property(get=GetAlignPropertiesInRange,put=PutAlignPropertiesInRange))
+    IVGStructAlignPropertiesPtr AlignPropertiesInRange[][][];
+    __declspec(property(get=GetFrames))
+    IVGTextFramesPtr Frames;
+    __declspec(property(get=GetSpaceProperties,put=PutSpaceProperties))
+    IVGStructSpacePropertiesPtr SpaceProperties[];
+    __declspec(property(get=GetIsArtisticText))
+    VARIANT_BOOL IsArtisticText;
+    __declspec(property(get=GetSpacePropertiesInRange,put=PutSpacePropertiesInRange))
+    IVGStructSpacePropertiesPtr SpacePropertiesInRange[][][];
+    __declspec(property(get=GetHyphenationSettings,put=PutHyphenationSettings))
+    IVGStructHyphenationSettingsPtr HyphenationSettings[];
+    __declspec(property(get=GetHyphenationSettingsInRange,put=PutHyphenationSettingsInRange))
+    IVGStructHyphenationSettingsPtr HyphenationSettingsInRange[][][];
+    __declspec(property(get=GetContents,put=PutContents))
+    _bstr_t Contents[];
+    __declspec(property(get=GetIsHTMLCompatible))
+    VARIANT_BOOL IsHTMLCompatible;
+    __declspec(property(get=GetStory))
+    IVGTextRangePtr Story;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrTextType GetType ( );
+    long GetFramesInLink ( );
+    long GetUnusedFramesInLink ( );
+    VARIANT_BOOL GetOverflow ( );
+    IVGStructFontPropertiesPtr GetFontProperties (
+        enum cdrTextFrames Frames );
+    void PutFontProperties (
+        enum cdrTextFrames Frames,
+        struct IVGStructFontProperties * ppVal );
+    IVGStructFontPropertiesPtr GetFontPropertiesInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType );
+    void PutFontPropertiesInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType,
+        struct IVGStructFontProperties * ppVal );
+    IVGStructAlignPropertiesPtr GetAlignProperties (
+        enum cdrTextFrames Frames );
+    void PutAlignProperties (
+        enum cdrTextFrames Frames,
+        struct IVGStructAlignProperties * ppVal );
+    IVGStructAlignPropertiesPtr GetAlignPropertiesInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType );
+    void PutAlignPropertiesInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType,
+        struct IVGStructAlignProperties * ppVal );
+    IVGStructSpacePropertiesPtr GetSpaceProperties (
+        enum cdrTextFrames Frames );
+    void PutSpaceProperties (
+        enum cdrTextFrames Frames,
+        struct IVGStructSpaceProperties * ppVal );
+    IVGStructSpacePropertiesPtr GetSpacePropertiesInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType );
+    void PutSpacePropertiesInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType,
+        struct IVGStructSpaceProperties * ppVal );
+    IVGStructHyphenationSettingsPtr GetHyphenationSettings (
+        enum cdrTextFrames Frames );
+    void PutHyphenationSettings (
+        enum cdrTextFrames Frames,
+        struct IVGStructHyphenationSettings * ppVal );
+    IVGStructHyphenationSettingsPtr GetHyphenationSettingsInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType );
+    void PutHyphenationSettingsInRange (
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType,
+        struct IVGStructHyphenationSettings * ppVal );
+    _bstr_t GetContents (
+        enum cdrTextFrames Frames );
+    void PutContents (
+        enum cdrTextFrames Frames,
+        _bstr_t pVal );
+    IVGEffectPtr FitToPath (
+        struct IVGShape * Path );
+    long Find (
+        _bstr_t Text,
+        VARIANT_BOOL CaseSensitive,
+        long StartIndex,
+        VARIANT_BOOL WrapAround,
+        enum cdrTextIndexingType IndexingType );
+    HRESULT Replace (
+        _bstr_t OldText,
+        _bstr_t NewText,
+        VARIANT_BOOL CaseSensitive,
+        long StartIndex,
+        VARIANT_BOOL ReplaceAll,
+        VARIANT_BOOL WrapAround,
+        enum cdrTextIndexingType IndexingType );
+    HRESULT ImportFromFile (
+        _bstr_t FileName,
+        long StartIndex,
+        enum cdrTextIndexingType IndexingType );
+    HRESULT ExportToFile (
+        _bstr_t FileName,
+        long StartIndex,
+        long Count,
+        enum cdrTextIndexingType IndexingType );
+    HRESULT ConvertToArtistic ( );
+    HRESULT ConvertToParagraph ( );
+    VARIANT_BOOL GetIsHTMLCompatible ( );
+    VARIANT_BOOL MakeHTMLCompatible (
+        VARIANT_BOOL HTML );
+    IVGTextRangePtr GetStory ( );
+    IVGTextRangePtr GetSelection ( );
+    IVGTextRangePtr Range (
+        long Start,
+        long End );
+    VARIANT_BOOL GetIsEditing ( );
+    HRESULT BeginEdit ( );
+    IVGTextFramePtr GetFrame ( );
+    IVGTextFramesPtr GetFrames ( );
+    VARIANT_BOOL GetIsArtisticText ( );
+    HRESULT FitTextToFrame ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrTextType * pVal ) = 0;
+      virtual HRESULT __stdcall get_FramesInLink (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_UnusedFramesInLink (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Overflow (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_FontProperties (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[out,retval]*/ struct IVGStructFontProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_FontProperties (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[in]*/ struct IVGStructFontProperties * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FontPropertiesInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[out,retval]*/ struct IVGStructFontProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_FontPropertiesInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[in]*/ struct IVGStructFontProperties * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AlignProperties (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[out,retval]*/ struct IVGStructAlignProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_AlignProperties (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[in]*/ struct IVGStructAlignProperties * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AlignPropertiesInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[out,retval]*/ struct IVGStructAlignProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_AlignPropertiesInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[in]*/ struct IVGStructAlignProperties * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SpaceProperties (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[out,retval]*/ struct IVGStructSpaceProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_SpaceProperties (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[in]*/ struct IVGStructSpaceProperties * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SpacePropertiesInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[out,retval]*/ struct IVGStructSpaceProperties * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_SpacePropertiesInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[in]*/ struct IVGStructSpaceProperties * ppVal ) = 0;
+      virtual HRESULT __stdcall get_HyphenationSettings (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[out,retval]*/ struct IVGStructHyphenationSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenationSettings (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[in]*/ struct IVGStructHyphenationSettings * ppVal ) = 0;
+      virtual HRESULT __stdcall get_HyphenationSettingsInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[out,retval]*/ struct IVGStructHyphenationSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenationSettingsInRange (
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[in]*/ struct IVGStructHyphenationSettings * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Contents (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Contents (
+        /*[in]*/ enum cdrTextFrames Frames,
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall raw_FitToPath (
+        /*[in]*/ struct IVGShape * Path,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ VARIANT_BOOL CaseSensitive,
+        /*[in]*/ long StartIndex,
+        /*[in]*/ VARIANT_BOOL WrapAround,
+        /*[in]*/ enum cdrTextIndexingType IndexingType,
+        /*[out,retval]*/ long * IndexFound ) = 0;
+      virtual HRESULT __stdcall raw_Replace (
+        /*[in]*/ BSTR OldText,
+        /*[in]*/ BSTR NewText,
+        /*[in]*/ VARIANT_BOOL CaseSensitive,
+        /*[in]*/ long StartIndex,
+        /*[in]*/ VARIANT_BOOL ReplaceAll,
+        /*[in]*/ VARIANT_BOOL WrapAround,
+        /*[in]*/ enum cdrTextIndexingType IndexingType ) = 0;
+      virtual HRESULT __stdcall raw_ImportFromFile (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ long StartIndex,
+        /*[in]*/ enum cdrTextIndexingType IndexingType ) = 0;
+      virtual HRESULT __stdcall raw_ExportToFile (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ long StartIndex,
+        /*[in]*/ long Count,
+        /*[in]*/ enum cdrTextIndexingType IndexingType ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToArtistic ( ) = 0;
+      virtual HRESULT __stdcall raw_ConvertToParagraph ( ) = 0;
+      virtual HRESULT __stdcall get_IsHTMLCompatible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MakeHTMLCompatible (
+        /*[in]*/ VARIANT_BOOL HTML,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Story (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Selection (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Range (
+        /*[in]*/ long Start,
+        /*[in]*/ long End,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsEditing (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_BeginEdit ( ) = 0;
+      virtual HRESULT __stdcall get_Frame (
+        /*[out,retval]*/ struct IVGTextFrame * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Frames (
+        /*[out,retval]*/ struct IVGTextFrames * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsArtisticText (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FitTextToFrame ( ) = 0;
+};
+
+struct __declspec(uuid("b0580026-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffect : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectsPtr Parent;
+    __declspec(property(get=GetType))
+    enum cdrEffectType Type;
+    __declspec(property(get=GetBlend))
+    IVGEffectBlendPtr Blend;
+    __declspec(property(get=GetControlPath))
+    IVGEffectControlPathPtr ControlPath;
+    __declspec(property(get=GetExtrude))
+    IVGEffectExtrudePtr Extrude;
+    __declspec(property(get=GetEnvelope))
+    IVGEffectEnvelopePtr Envelope;
+    __declspec(property(get=GetTextOnPath))
+    IVGEffectTextOnPathPtr TextOnPath;
+    __declspec(property(get=GetDropShadow))
+    IVGEffectDropShadowPtr DropShadow;
+    __declspec(property(get=GetContour))
+    IVGEffectContourPtr Contour;
+    __declspec(property(get=GetDistortion))
+    IVGEffectDistortionPtr Distortion;
+    __declspec(property(get=GetLens))
+    IVGEffectLensPtr Lens;
+    __declspec(property(get=GetPerspective))
+    IVGEffectPerspectivePtr Perspective;
+    __declspec(property(get=GetClones))
+    IVGEffectsPtr Clones;
+    __declspec(property(get=GetCloneParent))
+    IVGEffectPtr CloneParent;
+    __declspec(property(get=GetCustom))
+    IVGCustomEffectPtr Custom;
+    __declspec(property(get=GetInnerShadow))
+    IVGEffectInnerShadowPtr InnerShadow;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectsPtr GetParent ( );
+    enum cdrEffectType GetType ( );
+    IVGEffectBlendPtr GetBlend ( );
+    IVGEffectControlPathPtr GetControlPath ( );
+    IVGEffectExtrudePtr GetExtrude ( );
+    IVGEffectEnvelopePtr GetEnvelope ( );
+    IVGEffectTextOnPathPtr GetTextOnPath ( );
+    IVGEffectDropShadowPtr GetDropShadow ( );
+    IVGEffectContourPtr GetContour ( );
+    IVGEffectDistortionPtr GetDistortion ( );
+    IVGEffectLensPtr GetLens ( );
+    IVGEffectPerspectivePtr GetPerspective ( );
+    IVGEffectsPtr GetClones ( );
+    IVGEffectPtr GetCloneParent ( );
+    HRESULT Clear ( );
+    IVGShapeRangePtr Separate ( );
+    IVGCustomEffectPtr GetCustom ( );
+    IVGEffectInnerShadowPtr GetInnerShadow ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrEffectType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Blend (
+        /*[out,retval]*/ struct IVGEffectBlend * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ControlPath (
+        /*[out,retval]*/ struct IVGEffectControlPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Extrude (
+        /*[out,retval]*/ struct IVGEffectExtrude * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Envelope (
+        /*[out,retval]*/ struct IVGEffectEnvelope * * pVal ) = 0;
+      virtual HRESULT __stdcall get_TextOnPath (
+        /*[out,retval]*/ struct IVGEffectTextOnPath * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DropShadow (
+        /*[out,retval]*/ struct IVGEffectDropShadow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Contour (
+        /*[out,retval]*/ struct IVGEffectContour * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Distortion (
+        /*[out,retval]*/ struct IVGEffectDistortion * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Lens (
+        /*[out,retval]*/ struct IVGEffectLens * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Perspective (
+        /*[out,retval]*/ struct IVGEffectPerspective * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Clones (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CloneParent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall raw_Separate (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Custom (
+        /*[out,retval]*/ struct IVGCustomEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_InnerShadow (
+        /*[out,retval]*/ struct IVGEffectInnerShadow * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580036-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffects : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGShapePtr Parent;
+    __declspec(property(get=GetItem))
+    IVGEffectPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetBlendEffects))
+    IVGEffectsPtr BlendEffects;
+    __declspec(property(get=GetCustomEffects))
+    IVGEffectsPtr CustomEffects;
+    __declspec(property(get=GetDistortionEffects))
+    IVGEffectsPtr DistortionEffects;
+    __declspec(property(get=GetEnvelopeEffects))
+    IVGEffectsPtr EnvelopeEffects;
+    __declspec(property(get=GetPerspectiveEffects))
+    IVGEffectsPtr PerspectiveEffects;
+    __declspec(property(get=GetContourEffect))
+    IVGEffectPtr ContourEffect;
+    __declspec(property(get=GetControlPathEffect))
+    IVGEffectPtr ControlPathEffect;
+    __declspec(property(get=GetDropShadowEffect))
+    IVGEffectPtr DropShadowEffect;
+    __declspec(property(get=GetExtrudeEffect))
+    IVGEffectPtr ExtrudeEffect;
+    __declspec(property(get=GetLensEffect))
+    IVGEffectPtr LensEffect;
+    __declspec(property(get=GetTextOnPathEffect))
+    IVGEffectPtr TextOnPathEffect;
+    __declspec(property(get=GetInnerShadowEffect))
+    IVGEffectPtr InnerShadowEffect;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGShapePtr GetParent ( );
+    IVGEffectPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGEffectsPtr GetBlendEffects ( );
+    IVGEffectsPtr GetCustomEffects ( );
+    IVGEffectsPtr GetDistortionEffects ( );
+    IVGEffectsPtr GetEnvelopeEffects ( );
+    IVGEffectsPtr GetPerspectiveEffects ( );
+    IVGEffectPtr GetContourEffect ( );
+    IVGEffectPtr GetControlPathEffect ( );
+    IVGEffectPtr GetDropShadowEffect ( );
+    IVGEffectPtr GetExtrudeEffect ( );
+    IVGEffectPtr GetLensEffect ( );
+    IVGEffectPtr GetTextOnPathEffect ( );
+    IVGEffectPtr GetInnerShadowEffect ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_BlendEffects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CustomEffects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DistortionEffects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EnvelopeEffects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_PerspectiveEffects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ContourEffect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ControlPathEffect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DropShadowEffect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ExtrudeEffect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LensEffect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TextOnPathEffect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_InnerShadowEffect (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580027-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectBlend : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetStartShape,put=PutStartShape))
+    IVGShapePtr StartShape;
+    __declspec(property(get=GetEndShape,put=PutEndShape))
+    IVGShapePtr EndShape;
+    __declspec(property(get=GetBlendGroup))
+    IVGShapePtr BlendGroup;
+    __declspec(property(get=GetPath,put=PutPath))
+    IVGShapePtr Path;
+    __declspec(property(get=GetStartShapeOffset,put=PutStartShapeOffset))
+    double StartShapeOffset;
+    __declspec(property(get=GetEndShapeOffset,put=PutEndShapeOffset))
+    double EndShapeOffset;
+    __declspec(property(get=GetMode,put=PutMode))
+    enum cdrBlendMode Mode;
+    __declspec(property(get=GetSteps,put=PutSteps))
+    long Steps;
+    __declspec(property(get=GetSpacing,put=PutSpacing))
+    double Spacing;
+    __declspec(property(get=GetAngle,put=PutAngle))
+    double Angle;
+    __declspec(property(get=GetLoop,put=PutLoop))
+    VARIANT_BOOL Loop;
+    __declspec(property(get=GetFullPath,put=PutFullPath))
+    VARIANT_BOOL FullPath;
+    __declspec(property(get=GetRotateShapes,put=PutRotateShapes))
+    VARIANT_BOOL RotateShapes;
+    __declspec(property(get=GetColorBlendType,put=PutColorBlendType))
+    enum cdrFountainFillBlendType ColorBlendType;
+    __declspec(property(get=GetSpacingAcceleration,put=PutSpacingAcceleration))
+    long SpacingAcceleration;
+    __declspec(property(get=GetColorAcceleration,put=PutColorAcceleration))
+    long ColorAcceleration;
+    __declspec(property(get=GetLinkAcceleration,put=PutLinkAcceleration))
+    VARIANT_BOOL LinkAcceleration;
+    __declspec(property(get=GetAccelerateSize,put=PutAccelerateSize))
+    VARIANT_BOOL AccelerateSize;
+    __declspec(property(get=GetMapNodes,put=PutMapNodes))
+    VARIANT_BOOL MapNodes;
+    __declspec(property(get=GetStartPoint,put=PutStartPoint))
+    IVGSnapPointPtr StartPoint;
+    __declspec(property(get=GetEndPoint,put=PutEndPoint))
+    IVGSnapPointPtr EndPoint;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    IVGShapePtr GetStartShape ( );
+    void PutStartShape (
+        struct IVGShape * ppVal );
+    IVGShapePtr GetEndShape ( );
+    void PutEndShape (
+        struct IVGShape * ppVal );
+    IVGShapePtr GetBlendGroup ( );
+    IVGShapePtr GetPath ( );
+    void PutPath (
+        struct IVGShape * ppVal );
+    double GetStartShapeOffset ( );
+    void PutStartShapeOffset (
+        double pVal );
+    double GetEndShapeOffset ( );
+    void PutEndShapeOffset (
+        double pVal );
+    enum cdrBlendMode GetMode ( );
+    void PutMode (
+        enum cdrBlendMode pVal );
+    long GetSteps ( );
+    void PutSteps (
+        long pVal );
+    double GetSpacing ( );
+    void PutSpacing (
+        double pVal );
+    double GetAngle ( );
+    void PutAngle (
+        double pVal );
+    VARIANT_BOOL GetLoop ( );
+    void PutLoop (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetFullPath ( );
+    void PutFullPath (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetRotateShapes ( );
+    void PutRotateShapes (
+        VARIANT_BOOL pVal );
+    enum cdrFountainFillBlendType GetColorBlendType ( );
+    void PutColorBlendType (
+        enum cdrFountainFillBlendType pVal );
+    long GetSpacingAcceleration ( );
+    void PutSpacingAcceleration (
+        long pVal );
+    long GetColorAcceleration ( );
+    void PutColorAcceleration (
+        long pVal );
+    VARIANT_BOOL GetLinkAcceleration ( );
+    void PutLinkAcceleration (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetAccelerateSize ( );
+    void PutAccelerateSize (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMapNodes ( );
+    void PutMapNodes (
+        VARIANT_BOOL pVal );
+    IVGSnapPointPtr GetStartPoint ( );
+    void PutStartPoint (
+        struct IVGSnapPoint * ppVal );
+    IVGSnapPointPtr GetEndPoint ( );
+    void PutEndPoint (
+        struct IVGSnapPoint * ppVal );
+    IVGShapePtr Split (
+        long StepNo );
+    VARIANT_BOOL FuseStart ( );
+    VARIANT_BOOL FuseEnd ( );
+    VARIANT_BOOL CopyFrom (
+        struct IVGEffectBlend * Source );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StartShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_StartShape (
+        /*[in]*/ struct IVGShape * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_EndShape (
+        /*[in]*/ struct IVGShape * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BlendGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Path (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Path (
+        /*[in]*/ struct IVGShape * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StartShapeOffset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_StartShapeOffset (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_EndShapeOffset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndShapeOffset (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Mode (
+        /*[out,retval]*/ enum cdrBlendMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_Mode (
+        /*[in]*/ enum cdrBlendMode pVal ) = 0;
+      virtual HRESULT __stdcall get_Steps (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Steps (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Spacing (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Spacing (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Angle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Loop (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Loop (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FullPath (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FullPath (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_RotateShapes (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotateShapes (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorBlendType (
+        /*[out,retval]*/ enum cdrFountainFillBlendType * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorBlendType (
+        /*[in]*/ enum cdrFountainFillBlendType pVal ) = 0;
+      virtual HRESULT __stdcall get_SpacingAcceleration (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpacingAcceleration (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorAcceleration (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorAcceleration (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_LinkAcceleration (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_LinkAcceleration (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_AccelerateSize (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AccelerateSize (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MapNodes (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MapNodes (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_StartPoint (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_StartPoint (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndPoint (
+        /*[out,retval]*/ struct IVGSnapPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_EndPoint (
+        /*[in]*/ struct IVGSnapPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Split (
+        /*[in]*/ long StepNo,
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FuseStart (
+        /*[out,retval]*/ VARIANT_BOOL * pbVal ) = 0;
+      virtual HRESULT __stdcall raw_FuseEnd (
+        /*[out,retval]*/ VARIANT_BOOL * pbVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyFrom (
+        /*[in]*/ struct IVGEffectBlend * Source,
+        /*[out,retval]*/ VARIANT_BOOL * pbVal ) = 0;
+};
+
+struct __declspec(uuid("b0580029-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectControlPath : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetEffects))
+    IVGEffectsPtr Effects;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    IVGEffectsPtr GetEffects ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Effects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058002c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectEnvelope : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetContainer,put=PutContainer))
+    IVGCurvePtr Container;
+    __declspec(property(get=GetMode,put=PutMode))
+    enum cdrEnvelopeMode Mode;
+    __declspec(property(get=GetKeepLines,put=PutKeepLines))
+    VARIANT_BOOL KeepLines;
+    __declspec(property(get=GetCornerIndices,put=PutCornerIndices))
+    _variant_t CornerIndices;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    IVGCurvePtr GetContainer ( );
+    void PutContainer (
+        struct IVGCurve * pVal );
+    enum cdrEnvelopeMode GetMode ( );
+    void PutMode (
+        enum cdrEnvelopeMode pVal );
+    VARIANT_BOOL GetKeepLines ( );
+    void PutKeepLines (
+        VARIANT_BOOL pVal );
+    HRESULT Select (
+        long PresetIndex );
+    HRESULT CopyFrom (
+        struct IVGEffectEnvelope * Source );
+    VARIANT_BOOL CreateFrom (
+        struct IVGShape * Shape );
+    VARIANT_BOOL CopyFromShape (
+        struct IVGShape * Source,
+        enum cdrEnvelopeMode Mode,
+        VARIANT_BOOL KeepLines,
+        enum cdrEnvelopeCopyMode CopyMode,
+        const _variant_t & CornerIndices = vtMissing );
+    VARIANT_BOOL CopyFromCurve (
+        struct IVGCurve * Source,
+        enum cdrEnvelopeMode Mode,
+        VARIANT_BOOL KeepLines,
+        enum cdrEnvelopeCopyMode CopyMode,
+        const _variant_t & CornerIndices = vtMissing );
+    _variant_t GetCornerIndices ( );
+    void PutCornerIndices (
+        const _variant_t & pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Container (
+        /*[out,retval]*/ struct IVGCurve * * pVal ) = 0;
+      virtual HRESULT __stdcall put_Container (
+        /*[in]*/ struct IVGCurve * pVal ) = 0;
+      virtual HRESULT __stdcall get_Mode (
+        /*[out,retval]*/ enum cdrEnvelopeMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_Mode (
+        /*[in]*/ enum cdrEnvelopeMode pVal ) = 0;
+      virtual HRESULT __stdcall get_KeepLines (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_KeepLines (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Select (
+        /*[in]*/ long PresetIndex ) = 0;
+      virtual HRESULT __stdcall raw_CopyFrom (
+        /*[in]*/ struct IVGEffectEnvelope * Source ) = 0;
+      virtual HRESULT __stdcall raw_CreateFrom (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[out,retval]*/ VARIANT_BOOL * Success ) = 0;
+      virtual HRESULT __stdcall raw_CopyFromShape (
+        /*[in]*/ struct IVGShape * Source,
+        /*[in]*/ enum cdrEnvelopeMode Mode,
+        /*[in]*/ VARIANT_BOOL KeepLines,
+        /*[in]*/ enum cdrEnvelopeCopyMode CopyMode,
+        /*[in]*/ VARIANT CornerIndices,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyFromCurve (
+        /*[in]*/ struct IVGCurve * Source,
+        /*[in]*/ enum cdrEnvelopeMode Mode,
+        /*[in]*/ VARIANT_BOOL KeepLines,
+        /*[in]*/ enum cdrEnvelopeCopyMode CopyMode,
+        /*[in]*/ VARIANT CornerIndices,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_CornerIndices (
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerIndices (
+        /*[in]*/ VARIANT pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580033-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectTextOnPath : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetText,put=PutText))
+    IVGShapePtr Text;
+    __declspec(property(get=GetPath,put=PutPath))
+    IVGShapePtr Path;
+    __declspec(property(get=GetDistanceFromPath,put=PutDistanceFromPath))
+    double DistanceFromPath;
+    __declspec(property(get=GetOffset,put=PutOffset))
+    double Offset;
+    __declspec(property(get=GetOrientation,put=PutOrientation))
+    enum cdrFittedOrientation Orientation;
+    __declspec(property(get=GetPlacement,put=PutPlacement))
+    enum cdrFittedPlacement Placement;
+    __declspec(property(get=GetPlaceOnOtherSide,put=PutPlaceOnOtherSide))
+    VARIANT_BOOL PlaceOnOtherSide;
+    __declspec(property(get=GetQuadrant,put=PutQuadrant))
+    enum cdrFittedQuadrant Quadrant;
+    __declspec(property(get=GetVertPlacement,put=PutVertPlacement))
+    enum cdrFittedVertPlacement VertPlacement;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    IVGShapePtr GetText ( );
+    void PutText (
+        struct IVGShape * ppVal );
+    IVGShapePtr GetPath ( );
+    void PutPath (
+        struct IVGShape * ppVal );
+    double GetDistanceFromPath ( );
+    void PutDistanceFromPath (
+        double pVal );
+    double GetOffset ( );
+    void PutOffset (
+        double pVal );
+    enum cdrFittedOrientation GetOrientation ( );
+    void PutOrientation (
+        enum cdrFittedOrientation pVal );
+    enum cdrFittedPlacement GetPlacement ( );
+    void PutPlacement (
+        enum cdrFittedPlacement pVal );
+    VARIANT_BOOL GetPlaceOnOtherSide ( );
+    void PutPlaceOnOtherSide (
+        VARIANT_BOOL pVal );
+    enum cdrFittedQuadrant GetQuadrant ( );
+    void PutQuadrant (
+        enum cdrFittedQuadrant pVal );
+    enum cdrFittedVertPlacement GetVertPlacement ( );
+    void PutVertPlacement (
+        enum cdrFittedVertPlacement pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Text (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Text (
+        /*[in]*/ struct IVGShape * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Path (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Path (
+        /*[in]*/ struct IVGShape * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DistanceFromPath (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_DistanceFromPath (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Offset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Offset (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Orientation (
+        /*[out,retval]*/ enum cdrFittedOrientation * pVal ) = 0;
+      virtual HRESULT __stdcall put_Orientation (
+        /*[in]*/ enum cdrFittedOrientation pVal ) = 0;
+      virtual HRESULT __stdcall get_Placement (
+        /*[out,retval]*/ enum cdrFittedPlacement * pVal ) = 0;
+      virtual HRESULT __stdcall put_Placement (
+        /*[in]*/ enum cdrFittedPlacement pVal ) = 0;
+      virtual HRESULT __stdcall get_PlaceOnOtherSide (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_PlaceOnOtherSide (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Quadrant (
+        /*[out,retval]*/ enum cdrFittedQuadrant * pVal ) = 0;
+      virtual HRESULT __stdcall put_Quadrant (
+        /*[in]*/ enum cdrFittedQuadrant pVal ) = 0;
+      virtual HRESULT __stdcall get_VertPlacement (
+        /*[out,retval]*/ enum cdrFittedVertPlacement * pVal ) = 0;
+      virtual HRESULT __stdcall put_VertPlacement (
+        /*[in]*/ enum cdrFittedVertPlacement pVal ) = 0;
+};
+
+struct __declspec(uuid("b058002b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectDropShadow : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetOffsetX,put=PutOffsetX))
+    double OffsetX;
+    __declspec(property(get=GetOffsetY,put=PutOffsetY))
+    double OffsetY;
+    __declspec(property(get=GetOpacity,put=PutOpacity))
+    long Opacity;
+    __declspec(property(get=GetFeather,put=PutFeather))
+    long Feather;
+    __declspec(property(get=GetFeatherType,put=PutFeatherType))
+    enum cdrFeatherType FeatherType;
+    __declspec(property(get=GetFeatherEdge,put=PutFeatherEdge))
+    enum cdrEdgeType FeatherEdge;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrDropShadowType Type;
+    __declspec(property(get=GetPerspectiveAngle,put=PutPerspectiveAngle))
+    double PerspectiveAngle;
+    __declspec(property(get=GetPerspectiveStretch,put=PutPerspectiveStretch))
+    double PerspectiveStretch;
+    __declspec(property(get=GetFade,put=PutFade))
+    long Fade;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetShadowGroup))
+    IVGShapePtr ShadowGroup;
+    __declspec(property(get=GetMergeMode,put=PutMergeMode))
+    enum cdrMergeMode MergeMode;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    double GetOffsetX ( );
+    void PutOffsetX (
+        double pVal );
+    double GetOffsetY ( );
+    void PutOffsetY (
+        double pVal );
+    long GetOpacity ( );
+    void PutOpacity (
+        long pVal );
+    long GetFeather ( );
+    void PutFeather (
+        long pVal );
+    enum cdrFeatherType GetFeatherType ( );
+    void PutFeatherType (
+        enum cdrFeatherType pVal );
+    enum cdrEdgeType GetFeatherEdge ( );
+    void PutFeatherEdge (
+        enum cdrEdgeType pVal );
+    enum cdrDropShadowType GetType ( );
+    void PutType (
+        enum cdrDropShadowType pVal );
+    double GetPerspectiveAngle ( );
+    void PutPerspectiveAngle (
+        double pVal );
+    double GetPerspectiveStretch ( );
+    void PutPerspectiveStretch (
+        double pVal );
+    long GetFade ( );
+    void PutFade (
+        long pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    HRESULT SetOffset (
+        double OffsetX,
+        double OffsetY );
+    IVGShapePtr GetShadowGroup ( );
+    enum cdrMergeMode GetMergeMode ( );
+    void PutMergeMode (
+        enum cdrMergeMode pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OffsetX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OffsetX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OffsetY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OffsetY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Opacity (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Opacity (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Feather (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Feather (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_FeatherType (
+        /*[out,retval]*/ enum cdrFeatherType * pVal ) = 0;
+      virtual HRESULT __stdcall put_FeatherType (
+        /*[in]*/ enum cdrFeatherType pVal ) = 0;
+      virtual HRESULT __stdcall get_FeatherEdge (
+        /*[out,retval]*/ enum cdrEdgeType * pVal ) = 0;
+      virtual HRESULT __stdcall put_FeatherEdge (
+        /*[in]*/ enum cdrEdgeType pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrDropShadowType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrDropShadowType pVal ) = 0;
+      virtual HRESULT __stdcall get_PerspectiveAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PerspectiveAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PerspectiveStretch (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PerspectiveStretch (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Fade (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Fade (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetOffset (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY ) = 0;
+      virtual HRESULT __stdcall get_ShadowGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_MergeMode (
+        /*[out,retval]*/ enum cdrMergeMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_MergeMode (
+        /*[in]*/ enum cdrMergeMode pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580028-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectContour : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetDirection,put=PutDirection))
+    enum cdrContourDirection Direction;
+    __declspec(property(get=GetOffset,put=PutOffset))
+    double Offset;
+    __declspec(property(get=GetSteps,put=PutSteps))
+    long Steps;
+    __declspec(property(get=GetColorBlendType,put=PutColorBlendType))
+    enum cdrFountainFillBlendType ColorBlendType;
+    __declspec(property(get=GetOutlineColor,put=PutOutlineColor))
+    IVGColorPtr OutlineColor;
+    __declspec(property(get=GetFillColor,put=PutFillColor))
+    IVGColorPtr FillColor;
+    __declspec(property(get=GetFillColorTo,put=PutFillColorTo))
+    IVGColorPtr FillColorTo;
+    __declspec(property(get=GetLinkAcceleration,put=PutLinkAcceleration))
+    VARIANT_BOOL LinkAcceleration;
+    __declspec(property(get=GetColorAcceleration,put=PutColorAcceleration))
+    long ColorAcceleration;
+    __declspec(property(get=GetSpacingAcceleration,put=PutSpacingAcceleration))
+    long SpacingAcceleration;
+    __declspec(property(get=GetContourGroup))
+    IVGShapePtr ContourGroup;
+    __declspec(property(get=GetEndCapType,put=PutEndCapType))
+    enum cdrContourEndCapType EndCapType;
+    __declspec(property(get=GetCornerType,put=PutCornerType))
+    enum cdrContourCornerType CornerType;
+    __declspec(property(get=GetMiterLimit,put=PutMiterLimit))
+    double MiterLimit;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    enum cdrContourDirection GetDirection ( );
+    void PutDirection (
+        enum cdrContourDirection pVal );
+    double GetOffset ( );
+    void PutOffset (
+        double pVal );
+    long GetSteps ( );
+    void PutSteps (
+        long pVal );
+    enum cdrFountainFillBlendType GetColorBlendType ( );
+    void PutColorBlendType (
+        enum cdrFountainFillBlendType pVal );
+    IVGColorPtr GetOutlineColor ( );
+    void PutOutlineColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetFillColor ( );
+    void PutFillColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetFillColorTo ( );
+    void PutFillColorTo (
+        struct IVGColor * ppVal );
+    VARIANT_BOOL GetLinkAcceleration ( );
+    void PutLinkAcceleration (
+        VARIANT_BOOL pVal );
+    long GetColorAcceleration ( );
+    void PutColorAcceleration (
+        long pVal );
+    long GetSpacingAcceleration ( );
+    void PutSpacingAcceleration (
+        long pVal );
+    IVGShapePtr GetContourGroup ( );
+    enum cdrContourEndCapType GetEndCapType ( );
+    void PutEndCapType (
+        enum cdrContourEndCapType pVal );
+    enum cdrContourCornerType GetCornerType ( );
+    void PutCornerType (
+        enum cdrContourCornerType pVal );
+    double GetMiterLimit ( );
+    void PutMiterLimit (
+        double pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Direction (
+        /*[out,retval]*/ enum cdrContourDirection * pVal ) = 0;
+      virtual HRESULT __stdcall put_Direction (
+        /*[in]*/ enum cdrContourDirection pVal ) = 0;
+      virtual HRESULT __stdcall get_Offset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Offset (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Steps (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Steps (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorBlendType (
+        /*[out,retval]*/ enum cdrFountainFillBlendType * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorBlendType (
+        /*[in]*/ enum cdrFountainFillBlendType pVal ) = 0;
+      virtual HRESULT __stdcall get_OutlineColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_OutlineColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FillColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_FillColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FillColorTo (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_FillColorTo (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LinkAcceleration (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_LinkAcceleration (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorAcceleration (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorAcceleration (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_SpacingAcceleration (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_SpacingAcceleration (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_ContourGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_EndCapType (
+        /*[out,retval]*/ enum cdrContourEndCapType * pVal ) = 0;
+      virtual HRESULT __stdcall put_EndCapType (
+        /*[in]*/ enum cdrContourEndCapType pVal ) = 0;
+      virtual HRESULT __stdcall get_CornerType (
+        /*[out,retval]*/ enum cdrContourCornerType * pVal ) = 0;
+      virtual HRESULT __stdcall put_CornerType (
+        /*[in]*/ enum cdrContourCornerType pVal ) = 0;
+      virtual HRESULT __stdcall get_MiterLimit (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_MiterLimit (
+        /*[in]*/ double pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580030-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectLens : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetViewPointY,put=PutViewPointY))
+    double ViewPointY;
+    __declspec(property(get=GetRemoveFace,put=PutRemoveFace))
+    VARIANT_BOOL RemoveFace;
+    __declspec(property(get=GetShapes))
+    IVGShapesPtr Shapes;
+    __declspec(property(get=GetFrozen))
+    VARIANT_BOOL Frozen;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrLensType Type;
+    __declspec(property(get=GetPaletteRotation,put=PutPaletteRotation))
+    long PaletteRotation;
+    __declspec(property(get=GetRate,put=PutRate))
+    long Rate;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetOutlineColor,put=PutOutlineColor))
+    IVGColorPtr OutlineColor;
+    __declspec(property(get=GetFillColor,put=PutFillColor))
+    IVGColorPtr FillColor;
+    __declspec(property(get=GetFromColor,put=PutFromColor))
+    IVGColorPtr FromColor;
+    __declspec(property(get=GetToColor,put=PutToColor))
+    IVGColorPtr ToColor;
+    __declspec(property(get=GetUseOutlineColor,put=PutUseOutlineColor))
+    VARIANT_BOOL UseOutlineColor;
+    __declspec(property(get=GetUseFillColor,put=PutUseFillColor))
+    VARIANT_BOOL UseFillColor;
+    __declspec(property(get=GetColorMapPalette,put=PutColorMapPalette))
+    enum cdrFountainFillBlendType ColorMapPalette;
+    __declspec(property(get=GetMagnification,put=PutMagnification))
+    double Magnification;
+    __declspec(property(get=GetUseViewPoint,put=PutUseViewPoint))
+    VARIANT_BOOL UseViewPoint;
+    __declspec(property(get=GetViewPointX,put=PutViewPointX))
+    double ViewPointX;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    HRESULT Freeze ( );
+    HRESULT Unfreeze ( );
+    IVGShapeRangePtr Ungroup ( );
+    IVGShapesPtr GetShapes ( );
+    VARIANT_BOOL GetFrozen ( );
+    enum cdrLensType GetType ( );
+    void PutType (
+        enum cdrLensType pVal );
+    long GetRate ( );
+    void PutRate (
+        long pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetOutlineColor ( );
+    void PutOutlineColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetFillColor ( );
+    void PutFillColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetFromColor ( );
+    void PutFromColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetToColor ( );
+    void PutToColor (
+        struct IVGColor * ppVal );
+    VARIANT_BOOL GetUseOutlineColor ( );
+    void PutUseOutlineColor (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetUseFillColor ( );
+    void PutUseFillColor (
+        VARIANT_BOOL pVal );
+    enum cdrFountainFillBlendType GetColorMapPalette ( );
+    void PutColorMapPalette (
+        enum cdrFountainFillBlendType pVal );
+    double GetMagnification ( );
+    void PutMagnification (
+        double pVal );
+    VARIANT_BOOL GetUseViewPoint ( );
+    void PutUseViewPoint (
+        VARIANT_BOOL pVal );
+    double GetViewPointX ( );
+    void PutViewPointX (
+        double pVal );
+    double GetViewPointY ( );
+    void PutViewPointY (
+        double pVal );
+    VARIANT_BOOL GetRemoveFace ( );
+    void PutRemoveFace (
+        VARIANT_BOOL pVal );
+    long GetPaletteRotation ( );
+    void PutPaletteRotation (
+        long pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Freeze ( ) = 0;
+      virtual HRESULT __stdcall raw_Unfreeze ( ) = 0;
+      virtual HRESULT __stdcall raw_Ungroup (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Shapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Frozen (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrLensType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrLensType pVal ) = 0;
+      virtual HRESULT __stdcall get_Rate (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Rate (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OutlineColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_OutlineColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FillColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_FillColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FromColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_FromColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ToColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_ToColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_UseOutlineColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseOutlineColor (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_UseFillColor (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseFillColor (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ColorMapPalette (
+        /*[out,retval]*/ enum cdrFountainFillBlendType * pVal ) = 0;
+      virtual HRESULT __stdcall put_ColorMapPalette (
+        /*[in]*/ enum cdrFountainFillBlendType pVal ) = 0;
+      virtual HRESULT __stdcall get_Magnification (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Magnification (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_UseViewPoint (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseViewPoint (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ViewPointX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_ViewPointX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_ViewPointY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_ViewPointY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RemoveFace (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_RemoveFace (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PaletteRotation (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_PaletteRotation (
+        /*[in]*/ long pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580031-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectPerspective : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetUseHorizVanishingPoint,put=PutUseHorizVanishingPoint))
+    VARIANT_BOOL UseHorizVanishingPoint;
+    __declspec(property(get=GetUseVertVanishingPoint,put=PutUseVertVanishingPoint))
+    VARIANT_BOOL UseVertVanishingPoint;
+    __declspec(property(get=GetHorizVanishingPointX,put=PutHorizVanishingPointX))
+    double HorizVanishingPointX;
+    __declspec(property(get=GetHorizVanishingPointY,put=PutHorizVanishingPointY))
+    double HorizVanishingPointY;
+    __declspec(property(get=GetVertVanishingPointX,put=PutVertVanishingPointX))
+    double VertVanishingPointX;
+    __declspec(property(get=GetVertVanishingPointY,put=PutVertVanishingPointY))
+    double VertVanishingPointY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    VARIANT_BOOL GetUseHorizVanishingPoint ( );
+    void PutUseHorizVanishingPoint (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetUseVertVanishingPoint ( );
+    void PutUseVertVanishingPoint (
+        VARIANT_BOOL pVal );
+    double GetHorizVanishingPointX ( );
+    void PutHorizVanishingPointX (
+        double pVal );
+    double GetHorizVanishingPointY ( );
+    void PutHorizVanishingPointY (
+        double pVal );
+    double GetVertVanishingPointX ( );
+    void PutVertVanishingPointX (
+        double pVal );
+    double GetVertVanishingPointY ( );
+    void PutVertVanishingPointY (
+        double pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_UseHorizVanishingPoint (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseHorizVanishingPoint (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_UseVertVanishingPoint (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseVertVanishingPoint (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_HorizVanishingPointX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_HorizVanishingPointX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_HorizVanishingPointY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_HorizVanishingPointY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_VertVanishingPointX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_VertVanishingPointX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_VertVanishingPointY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_VertVanishingPointY (
+        /*[in]*/ double pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800db-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectInnerShadow : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetOffsetX,put=PutOffsetX))
+    double OffsetX;
+    __declspec(property(get=GetOffsetY,put=PutOffsetY))
+    double OffsetY;
+    __declspec(property(get=GetOpacity,put=PutOpacity))
+    long Opacity;
+    __declspec(property(get=GetFeather,put=PutFeather))
+    long Feather;
+    __declspec(property(get=GetFeatherType,put=PutFeatherType))
+    enum cdrFeatherType FeatherType;
+    __declspec(property(get=GetFeatherEdge,put=PutFeatherEdge))
+    enum cdrEdgeType FeatherEdge;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetShadowGroup))
+    IVGShapePtr ShadowGroup;
+    __declspec(property(get=GetMergeMode,put=PutMergeMode))
+    enum cdrMergeMode MergeMode;
+    __declspec(property(get=GetDepth,put=PutDepth))
+    double Depth;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    double GetOffsetX ( );
+    void PutOffsetX (
+        double pVal );
+    double GetOffsetY ( );
+    void PutOffsetY (
+        double pVal );
+    long GetOpacity ( );
+    void PutOpacity (
+        long pVal );
+    long GetFeather ( );
+    void PutFeather (
+        long pVal );
+    enum cdrFeatherType GetFeatherType ( );
+    void PutFeatherType (
+        enum cdrFeatherType pVal );
+    enum cdrEdgeType GetFeatherEdge ( );
+    void PutFeatherEdge (
+        enum cdrEdgeType pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    HRESULT SetOffset (
+        double OffsetX,
+        double OffsetY );
+    IVGShapePtr GetShadowGroup ( );
+    enum cdrMergeMode GetMergeMode ( );
+    void PutMergeMode (
+        enum cdrMergeMode pVal );
+    double GetDepth ( );
+    void PutDepth (
+        double pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OffsetX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OffsetX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OffsetY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OffsetY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Opacity (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Opacity (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Feather (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Feather (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_FeatherType (
+        /*[out,retval]*/ enum cdrFeatherType * pVal ) = 0;
+      virtual HRESULT __stdcall put_FeatherType (
+        /*[in]*/ enum cdrFeatherType pVal ) = 0;
+      virtual HRESULT __stdcall get_FeatherEdge (
+        /*[out,retval]*/ enum cdrEdgeType * pVal ) = 0;
+      virtual HRESULT __stdcall put_FeatherEdge (
+        /*[in]*/ enum cdrEdgeType pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetOffset (
+        /*[in]*/ double OffsetX,
+        /*[in]*/ double OffsetY ) = 0;
+      virtual HRESULT __stdcall get_ShadowGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_MergeMode (
+        /*[out,retval]*/ enum cdrMergeMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_MergeMode (
+        /*[in]*/ enum cdrMergeMode pVal ) = 0;
+      virtual HRESULT __stdcall get_Depth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Depth (
+        /*[in]*/ double pVal ) = 0;
+};
+
+struct __declspec(uuid("b058002d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectExtrude : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrExtrudeType Type;
+    __declspec(property(get=GetVanishingPoint,put=PutVanishingPoint))
+    IVGExtrudeVanishingPointPtr VanishingPoint;
+    __declspec(property(get=GetDepth,put=PutDepth))
+    long Depth;
+    __declspec(property(get=GetAngleX,put=PutAngleX))
+    double AngleX;
+    __declspec(property(get=GetAngleY,put=PutAngleY))
+    double AngleY;
+    __declspec(property(get=GetAngleZ,put=PutAngleZ))
+    double AngleZ;
+    __declspec(property(get=GetShading,put=PutShading))
+    enum cdrExtrudeShading Shading;
+    __declspec(property(get=GetBaseColor,put=PutBaseColor))
+    IVGColorPtr BaseColor;
+    __declspec(property(get=GetShadingColor,put=PutShadingColor))
+    IVGColorPtr ShadingColor;
+    __declspec(property(get=GetUseBevel,put=PutUseBevel))
+    VARIANT_BOOL UseBevel;
+    __declspec(property(get=GetShowBevelOnly,put=PutShowBevelOnly))
+    VARIANT_BOOL ShowBevelOnly;
+    __declspec(property(get=GetBevelDepth,put=PutBevelDepth))
+    double BevelDepth;
+    __declspec(property(get=GetBevelAngle,put=PutBevelAngle))
+    double BevelAngle;
+    __declspec(property(get=GetUseExtrudeColorForBevel,put=PutUseExtrudeColorForBevel))
+    VARIANT_BOOL UseExtrudeColorForBevel;
+    __declspec(property(get=GetBevelColor,put=PutBevelColor))
+    IVGColorPtr BevelColor;
+    __declspec(property(get=GetLightPresent,put=PutLightPresent))
+    VARIANT_BOOL LightPresent[];
+    __declspec(property(get=GetLightPosition,put=PutLightPosition))
+    enum cdrExtrudeLightPosition LightPosition[];
+    __declspec(property(get=GetLightIntensity,put=PutLightIntensity))
+    long LightIntensity[];
+    __declspec(property(get=GetUseFullColorRange,put=PutUseFullColorRange))
+    VARIANT_BOOL UseFullColorRange;
+    __declspec(property(get=GetFaceVisible))
+    VARIANT_BOOL FaceVisible;
+    __declspec(property(get=GetFaceShape))
+    IVGShapePtr FaceShape;
+    __declspec(property(get=GetBevelGroup))
+    IVGShapePtr BevelGroup;
+    __declspec(property(get=GetExtrudeGroup))
+    IVGShapePtr ExtrudeGroup;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    enum cdrExtrudeType GetType ( );
+    void PutType (
+        enum cdrExtrudeType pVal );
+    IVGExtrudeVanishingPointPtr GetVanishingPoint ( );
+    void PutVanishingPoint (
+        struct IVGExtrudeVanishingPoint * ppVal );
+    long GetDepth ( );
+    void PutDepth (
+        long pVal );
+    double GetAngleX ( );
+    void PutAngleX (
+        double pVal );
+    double GetAngleY ( );
+    void PutAngleY (
+        double pVal );
+    double GetAngleZ ( );
+    void PutAngleZ (
+        double pVal );
+    enum cdrExtrudeShading GetShading ( );
+    void PutShading (
+        enum cdrExtrudeShading pVal );
+    IVGColorPtr GetBaseColor ( );
+    void PutBaseColor (
+        struct IVGColor * ppVal );
+    IVGColorPtr GetShadingColor ( );
+    void PutShadingColor (
+        struct IVGColor * ppVal );
+    VARIANT_BOOL GetUseBevel ( );
+    void PutUseBevel (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetShowBevelOnly ( );
+    void PutShowBevelOnly (
+        VARIANT_BOOL pVal );
+    double GetBevelDepth ( );
+    void PutBevelDepth (
+        double pVal );
+    double GetBevelAngle ( );
+    void PutBevelAngle (
+        double pVal );
+    VARIANT_BOOL GetUseExtrudeColorForBevel ( );
+    void PutUseExtrudeColorForBevel (
+        VARIANT_BOOL pVal );
+    IVGColorPtr GetBevelColor ( );
+    void PutBevelColor (
+        struct IVGColor * ppVal );
+    VARIANT_BOOL GetLightPresent (
+        long Index );
+    void PutLightPresent (
+        long Index,
+        VARIANT_BOOL pVal );
+    enum cdrExtrudeLightPosition GetLightPosition (
+        long Index );
+    void PutLightPosition (
+        long Index,
+        enum cdrExtrudeLightPosition pVal );
+    long GetLightIntensity (
+        long Index );
+    void PutLightIntensity (
+        long Index,
+        long pVal );
+    VARIANT_BOOL GetUseFullColorRange ( );
+    void PutUseFullColorRange (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetFaceVisible ( );
+    IVGShapePtr GetFaceShape ( );
+    IVGShapePtr GetBevelGroup ( );
+    IVGShapePtr GetExtrudeGroup ( );
+    HRESULT Rotate (
+        double AngleX,
+        double AngleY,
+        double AngleZ );
+    HRESULT SetBevel (
+        double Depth,
+        double Angle,
+        VARIANT_BOOL ShowBevelOnly );
+    HRESULT SetLight (
+        long Index,
+        enum cdrExtrudeLightPosition Position,
+        long LightIntensity );
+    HRESULT CopyFrom (
+        struct IVGEffectExtrude * Source );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrExtrudeType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrExtrudeType pVal ) = 0;
+      virtual HRESULT __stdcall get_VanishingPoint (
+        /*[out,retval]*/ struct IVGExtrudeVanishingPoint * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_VanishingPoint (
+        /*[in]*/ struct IVGExtrudeVanishingPoint * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Depth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Depth (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_AngleX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_AngleX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_AngleY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_AngleY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_AngleZ (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_AngleZ (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Shading (
+        /*[out,retval]*/ enum cdrExtrudeShading * pVal ) = 0;
+      virtual HRESULT __stdcall put_Shading (
+        /*[in]*/ enum cdrExtrudeShading pVal ) = 0;
+      virtual HRESULT __stdcall get_BaseColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_BaseColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ShadingColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_ShadingColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_UseBevel (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseBevel (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ShowBevelOnly (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShowBevelOnly (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BevelDepth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BevelDepth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_BevelAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BevelAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_UseExtrudeColorForBevel (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseExtrudeColorForBevel (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BevelColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_BevelColor (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LightPresent (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_LightPresent (
+        /*[in]*/ long Index,
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_LightPosition (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ enum cdrExtrudeLightPosition * pVal ) = 0;
+      virtual HRESULT __stdcall put_LightPosition (
+        /*[in]*/ long Index,
+        /*[in]*/ enum cdrExtrudeLightPosition pVal ) = 0;
+      virtual HRESULT __stdcall get_LightIntensity (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_LightIntensity (
+        /*[in]*/ long Index,
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_UseFullColorRange (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseFullColorRange (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FaceVisible (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_FaceShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BevelGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ExtrudeGroup (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Rotate (
+        /*[in]*/ double AngleX,
+        /*[in]*/ double AngleY,
+        /*[in]*/ double AngleZ ) = 0;
+      virtual HRESULT __stdcall raw_SetBevel (
+        /*[in]*/ double Depth,
+        /*[in]*/ double Angle,
+        /*[in]*/ VARIANT_BOOL ShowBevelOnly ) = 0;
+      virtual HRESULT __stdcall raw_SetLight (
+        /*[in]*/ long Index,
+        /*[in]*/ enum cdrExtrudeLightPosition Position,
+        /*[in]*/ long LightIntensity ) = 0;
+      virtual HRESULT __stdcall raw_CopyFrom (
+        /*[in]*/ struct IVGEffectExtrude * Source ) = 0;
+};
+
+struct __declspec(uuid("b058002e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGExtrudeVanishingPoint : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectExtrudePtr Parent;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrExtrudeVPType Type;
+    __declspec(property(get=GetPositionX,put=PutPositionX))
+    double PositionX;
+    __declspec(property(get=GetPositionY,put=PutPositionY))
+    double PositionY;
+    __declspec(property(get=GetEffects))
+    IVGEffectsPtr Effects;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectExtrudePtr GetParent ( );
+    enum cdrExtrudeVPType GetType ( );
+    void PutType (
+        enum cdrExtrudeVPType pVal );
+    double GetPositionX ( );
+    void PutPositionX (
+        double pVal );
+    double GetPositionY ( );
+    void PutPositionY (
+        double pVal );
+    IVGEffectsPtr GetEffects ( );
+    VARIANT_BOOL Share (
+        struct IVGEffectExtrude * Source );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffectExtrude * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrExtrudeVPType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrExtrudeVPType pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PositionY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_PositionY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Effects (
+        /*[out,retval]*/ struct IVGEffects * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Share (
+        /*[in]*/ struct IVGEffectExtrude * Source,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058002a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectDistortion : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectPtr Parent;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrDistortionType Type;
+    __declspec(property(get=GetOriginX,put=PutOriginX))
+    double OriginX;
+    __declspec(property(get=GetOriginY,put=PutOriginY))
+    double OriginY;
+    __declspec(property(get=GetPushPull,put=PutPushPull))
+    IVGEffectPushPullDistortionPtr PushPull;
+    __declspec(property(get=GetZipper,put=PutZipper))
+    IVGEffectZipperDistortionPtr Zipper;
+    __declspec(property(get=GetTwister,put=PutTwister))
+    IVGEffectTwisterDistortionPtr Twister;
+    __declspec(property(get=GetCustom))
+    IVGEffectCustomDistortionPtr Custom;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectPtr GetParent ( );
+    enum cdrDistortionType GetType ( );
+    void PutType (
+        enum cdrDistortionType pVal );
+    double GetOriginX ( );
+    void PutOriginX (
+        double pVal );
+    double GetOriginY ( );
+    void PutOriginY (
+        double pVal );
+    IVGEffectPushPullDistortionPtr GetPushPull ( );
+    void PutPushPull (
+        struct IVGEffectPushPullDistortion * ppVal );
+    IVGEffectZipperDistortionPtr GetZipper ( );
+    void PutZipper (
+        struct IVGEffectZipperDistortion * ppVal );
+    IVGEffectTwisterDistortionPtr GetTwister ( );
+    void PutTwister (
+        struct IVGEffectTwisterDistortion * ppVal );
+    HRESULT CenterDistortion ( );
+    IVGEffectCustomDistortionPtr GetCustom ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffect * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrDistortionType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrDistortionType pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_PushPull (
+        /*[out,retval]*/ struct IVGEffectPushPullDistortion * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_PushPull (
+        /*[in]*/ struct IVGEffectPushPullDistortion * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Zipper (
+        /*[out,retval]*/ struct IVGEffectZipperDistortion * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Zipper (
+        /*[in]*/ struct IVGEffectZipperDistortion * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Twister (
+        /*[out,retval]*/ struct IVGEffectTwisterDistortion * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Twister (
+        /*[in]*/ struct IVGEffectTwisterDistortion * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CenterDistortion ( ) = 0;
+      virtual HRESULT __stdcall get_Custom (
+        /*[out,retval]*/ struct IVGEffectCustomDistortion * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580032-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectPushPullDistortion : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectDistortionPtr Parent;
+    __declspec(property(get=GetAmplitude,put=PutAmplitude))
+    long Amplitude;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectDistortionPtr GetParent ( );
+    long GetAmplitude ( );
+    void PutAmplitude (
+        long pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffectDistortion * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Amplitude (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Amplitude (
+        /*[in]*/ long pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580035-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectZipperDistortion : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectDistortionPtr Parent;
+    __declspec(property(get=GetAmplitude,put=PutAmplitude))
+    long Amplitude;
+    __declspec(property(get=GetFrequency,put=PutFrequency))
+    long Frequency;
+    __declspec(property(get=GetRandom,put=PutRandom))
+    VARIANT_BOOL Random;
+    __declspec(property(get=GetSmooth,put=PutSmooth))
+    VARIANT_BOOL Smooth;
+    __declspec(property(get=GetLocal,put=PutLocal))
+    VARIANT_BOOL Local;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectDistortionPtr GetParent ( );
+    long GetAmplitude ( );
+    void PutAmplitude (
+        long pVal );
+    long GetFrequency ( );
+    void PutFrequency (
+        long pVal );
+    VARIANT_BOOL GetRandom ( );
+    void PutRandom (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetSmooth ( );
+    void PutSmooth (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetLocal ( );
+    void PutLocal (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffectDistortion * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Amplitude (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Amplitude (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Frequency (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Frequency (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Random (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Random (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Smooth (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Smooth (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Local (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Local (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580034-9aa4-44fd-9547-4f91eb757ac4"))
+IVGEffectTwisterDistortion : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGEffectDistortionPtr Parent;
+    __declspec(property(get=GetAngle,put=PutAngle))
+    double Angle;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGEffectDistortionPtr GetParent ( );
+    double GetAngle ( );
+    void PutAngle (
+        double pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGEffectDistortion * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Angle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Angle (
+        /*[in]*/ double pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580078-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextRange : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetText,put=PutText))
+    _bstr_t Text;
+    __declspec(property(get=GetDropCapDistanceFromText,put=PutDropCapDistanceFromText))
+    double DropCapDistanceFromText;
+    __declspec(property(get=GetWideText,put=PutWideText))
+    _bstr_t WideText;
+    __declspec(property(get=GetDropCapHangingIndent,put=PutDropCapHangingIndent))
+    VARIANT_BOOL DropCapHangingIndent;
+    __declspec(property(get=GetCharacters))
+    IVGTextCharactersPtr Characters;
+    __declspec(property(get=GetWords))
+    IVGTextWordsPtr Words;
+    __declspec(property(get=GetLines))
+    IVGTextLinesPtr Lines;
+    __declspec(property(get=GetParagraphs))
+    IVGTextParagraphsPtr Paragraphs;
+    __declspec(property(get=GetStart,put=PutStart))
+    long Start;
+    __declspec(property(get=GetBulletFont,put=PutBulletFont))
+    _bstr_t BulletFont;
+    __declspec(property(get=GetEnd,put=PutEnd))
+    long End;
+    __declspec(property(get=GetBulletSymbol,put=PutBulletSymbol))
+    _bstr_t BulletSymbol;
+    __declspec(property(get=GetLength,put=PutLength))
+    long Length;
+    __declspec(property(get=GetBulletSize,put=PutBulletSize))
+    float BulletSize;
+    __declspec(property(get=GetBulletBaselineShift,put=PutBulletBaselineShift))
+    float BulletBaselineShift;
+    __declspec(property(get=GetStyle,put=PutStyle))
+    enum cdrFontStyle Style;
+    __declspec(property(get=GetBulletHorizontalPosition,put=PutBulletHorizontalPosition))
+    double BulletHorizontalPosition;
+    __declspec(property(get=GetBold,put=PutBold))
+    VARIANT_BOOL Bold;
+    __declspec(property(get=GetBulletHangingIndent,put=PutBulletHangingIndent))
+    VARIANT_BOOL BulletHangingIndent;
+    __declspec(property(get=GetItalic,put=PutItalic))
+    VARIANT_BOOL Italic;
+    __declspec(property(get=GetIsEmpty))
+    VARIANT_BOOL IsEmpty;
+    __declspec(property(get=GetUnderline,put=PutUnderline))
+    enum cdrFontLine Underline;
+    __declspec(property(get=GetHyphenateAllCapWords,put=PutHyphenateAllCapWords))
+    VARIANT_BOOL HyphenateAllCapWords;
+    __declspec(property(get=GetStrikethru,put=PutStrikethru))
+    enum cdrFontLine Strikethru;
+    __declspec(property(get=GetOverscore,put=PutOverscore))
+    enum cdrFontLine Overscore;
+    __declspec(property(get=GetBaselines))
+    IVGCurvePtr Baselines;
+    __declspec(property(get=GetFont,put=PutFont))
+    _bstr_t Font;
+    __declspec(property(get=GetTextLineRects))
+    IVGCurvePtr TextLineRects;
+    __declspec(property(get=GetSize,put=PutSize))
+    float Size;
+    __declspec(property(get=GetCharBackFill))
+    IVGFillPtr CharBackFill;
+    __declspec(property(get=GetPosition,put=PutPosition))
+    enum cdrFontPosition Position;
+    __declspec(property(get=GetCase,put=PutCase))
+    enum cdrFontCase Case;
+    __declspec(property(get=GetTextFormatter,put=PutTextFormatter))
+    long TextFormatter;
+    __declspec(property(get=GetCharAngle,put=PutCharAngle))
+    float CharAngle;
+    __declspec(property(get=GetObjectStyle))
+    IVGStylePtr ObjectStyle;
+    __declspec(property(get=GetAlignment,put=PutAlignment))
+    enum cdrAlignment Alignment;
+    __declspec(property(get=GetIndentLevelStyles))
+    IVGTextIndentLevelStylesPtr IndentLevelStyles;
+    __declspec(property(get=GetFirstLineIndent,put=PutFirstLineIndent))
+    double FirstLineIndent;
+    __declspec(property(get=GetIndentLevel,put=PutIndentLevel))
+    long IndentLevel;
+    __declspec(property(get=GetHorizShift,put=PutHorizShift))
+    long HorizShift;
+    __declspec(property(get=GetVariableAxes))
+    IVGTextVariableAxesPtr VariableAxes;
+    __declspec(property(get=GetVertShift,put=PutVertShift))
+    long VertShift;
+    __declspec(property(get=GetLeftIndent,put=PutLeftIndent))
+    double LeftIndent;
+    __declspec(property(get=GetRightIndent,put=PutRightIndent))
+    double RightIndent;
+    __declspec(property(get=GetMinWordSpacing,put=PutMinWordSpacing))
+    float MinWordSpacing;
+    __declspec(property(get=GetMaxWordSpacing,put=PutMaxWordSpacing))
+    float MaxWordSpacing;
+    __declspec(property(get=GetMaxCharSpacing,put=PutMaxCharSpacing))
+    float MaxCharSpacing;
+    __declspec(property(get=GetParaSpacingBefore,put=PutParaSpacingBefore))
+    float ParaSpacingBefore;
+    __declspec(property(get=GetParaSpacingAfter,put=PutParaSpacingAfter))
+    float ParaSpacingAfter;
+    __declspec(property(get=GetCharSpacing,put=PutCharSpacing))
+    float CharSpacing;
+    __declspec(property(get=GetLineSpacing,put=PutLineSpacing))
+    float LineSpacing;
+    __declspec(property(get=GetLineSpacingType))
+    enum cdrLineSpacingType LineSpacingType;
+    __declspec(property(get=GetWordSpacing,put=PutWordSpacing))
+    float WordSpacing;
+    __declspec(property(get=GetAutoHyphenate,put=PutAutoHyphenate))
+    enum cdrTriState AutoHyphenate;
+    __declspec(property(get=GetHyphenHotZone,put=PutHyphenHotZone))
+    double HyphenHotZone;
+    __declspec(property(get=GetHyphenMinCharsBefore,put=PutHyphenMinCharsBefore))
+    long HyphenMinCharsBefore;
+    __declspec(property(get=GetHyphenMinCharsAfter,put=PutHyphenMinCharsAfter))
+    long HyphenMinCharsAfter;
+    __declspec(property(get=GetHyphenMinWordLength,put=PutHyphenMinWordLength))
+    long HyphenMinWordLength;
+    __declspec(property(get=GetHyphenateCapitals,put=PutHyphenateCapitals))
+    VARIANT_BOOL HyphenateCapitals;
+    __declspec(property(get=GetLanguageID,put=PutLanguageID))
+    enum cdrTextLanguage LanguageID;
+    __declspec(property(get=GetCharSet,put=PutCharSet))
+    enum cdrTextCharSet CharSet;
+    __declspec(property(get=GetColumns))
+    IVGTextColumnsPtr Columns;
+    __declspec(property(get=GetFrames))
+    IVGTextFramesPtr Frames;
+    __declspec(property(get=GetFill))
+    IVGFillPtr Fill;
+    __declspec(property(get=GetOutline))
+    IVGOutlinePtr Outline;
+    __declspec(property(get=GetRangeKerning,put=PutRangeKerning))
+    long RangeKerning;
+    __declspec(property(get=GetTabs))
+    IVGTextTabPositionsPtr Tabs;
+    __declspec(property(get=GetEffect))
+    enum cdrTextEffect Effect;
+    __declspec(property(get=GetDropCapLinesDropped,put=PutDropCapLinesDropped))
+    long DropCapLinesDropped;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetText ( );
+    void PutText (
+        _bstr_t ppVal );
+    _bstr_t GetWideText ( );
+    void PutWideText (
+        _bstr_t ppVal );
+    IVGTextCharactersPtr GetCharacters ( );
+    IVGTextWordsPtr GetWords ( );
+    IVGTextLinesPtr GetLines ( );
+    IVGTextParagraphsPtr GetParagraphs ( );
+    long GetStart ( );
+    void PutStart (
+        long pVal );
+    long GetEnd ( );
+    void PutEnd (
+        long pVal );
+    long GetLength ( );
+    void PutLength (
+        long pVal );
+    IVGTextRangePtr Duplicate ( );
+    enum cdrFontStyle GetStyle ( );
+    void PutStyle (
+        enum cdrFontStyle pVal );
+    VARIANT_BOOL GetBold ( );
+    void PutBold (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetItalic ( );
+    void PutItalic (
+        VARIANT_BOOL pVal );
+    enum cdrFontLine GetUnderline ( );
+    void PutUnderline (
+        enum cdrFontLine pVal );
+    enum cdrFontLine GetStrikethru ( );
+    void PutStrikethru (
+        enum cdrFontLine pVal );
+    enum cdrFontLine GetOverscore ( );
+    void PutOverscore (
+        enum cdrFontLine pVal );
+    _bstr_t GetFont ( );
+    void PutFont (
+        _bstr_t pVal );
+    float GetSize ( );
+    void PutSize (
+        float pVal );
+    enum cdrFontPosition GetPosition ( );
+    void PutPosition (
+        enum cdrFontPosition pVal );
+    enum cdrFontCase GetCase ( );
+    void PutCase (
+        enum cdrFontCase pVal );
+    float GetCharAngle ( );
+    void PutCharAngle (
+        float pVal );
+    enum cdrAlignment GetAlignment ( );
+    void PutAlignment (
+        enum cdrAlignment pVal );
+    double GetFirstLineIndent ( );
+    void PutFirstLineIndent (
+        double pVal );
+    long GetHorizShift ( );
+    void PutHorizShift (
+        long pVal );
+    long GetVertShift ( );
+    void PutVertShift (
+        long pVal );
+    double GetLeftIndent ( );
+    void PutLeftIndent (
+        double pVal );
+    double GetRightIndent ( );
+    void PutRightIndent (
+        double pVal );
+    float GetMinWordSpacing ( );
+    void PutMinWordSpacing (
+        float pVal );
+    float GetMaxWordSpacing ( );
+    void PutMaxWordSpacing (
+        float pVal );
+    float GetMaxCharSpacing ( );
+    void PutMaxCharSpacing (
+        float pVal );
+    float GetParaSpacingBefore ( );
+    void PutParaSpacingBefore (
+        float pVal );
+    float GetParaSpacingAfter ( );
+    void PutParaSpacingAfter (
+        float pVal );
+    float GetCharSpacing ( );
+    void PutCharSpacing (
+        float pVal );
+    float GetLineSpacing ( );
+    void PutLineSpacing (
+        float pVal );
+    enum cdrLineSpacingType GetLineSpacingType ( );
+    float GetWordSpacing ( );
+    void PutWordSpacing (
+        float pVal );
+    enum cdrTriState GetAutoHyphenate ( );
+    void PutAutoHyphenate (
+        enum cdrTriState pVal );
+    double GetHyphenHotZone ( );
+    void PutHyphenHotZone (
+        double pVal );
+    long GetHyphenMinCharsBefore ( );
+    void PutHyphenMinCharsBefore (
+        long pVal );
+    long GetHyphenMinCharsAfter ( );
+    void PutHyphenMinCharsAfter (
+        long pVal );
+    long GetHyphenMinWordLength ( );
+    void PutHyphenMinWordLength (
+        long pVal );
+    VARIANT_BOOL GetHyphenateCapitals ( );
+    void PutHyphenateCapitals (
+        VARIANT_BOOL pVal );
+    HRESULT Delete ( );
+    HRESULT Select ( );
+    HRESULT Copy ( );
+    IVGTextRangePtr Paste ( );
+    HRESULT ChangeCase (
+        enum cdrTextChangeCase Case );
+    HRESULT SetRange (
+        long Start,
+        long End );
+    enum cdrTextLanguage GetLanguageID ( );
+    void PutLanguageID (
+        enum cdrTextLanguage pVal );
+    enum cdrTextCharSet GetCharSet ( );
+    void PutCharSet (
+        enum cdrTextCharSet pVal );
+    IVGTextRangePtr InsertBefore (
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font );
+    IVGTextRangePtr InsertBeforeWide (
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font );
+    IVGTextRangePtr InsertAfter (
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font );
+    IVGTextRangePtr InsertAfterWide (
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font );
+    IVGTextRangePtr Replace (
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font );
+    IVGTextRangePtr ReplaceWide (
+        _bstr_t Text,
+        enum cdrTextLanguage LanguageID,
+        enum cdrTextCharSet CharSet,
+        _bstr_t Font );
+    IVGTextRangePtr Range (
+        long Start,
+        long End );
+    HRESULT SetLineSpacing (
+        enum cdrLineSpacingType Type,
+        float LineSpacing,
+        float ParaBefore,
+        float ParaAfter );
+    IVGTextColumnsPtr GetColumns ( );
+    IVGTextFramesPtr GetFrames ( );
+    HRESULT Collapse (
+        VARIANT_BOOL ToEnd );
+    HRESULT Combine (
+        struct IVGTextRange * Range );
+    VARIANT_BOOL InRange (
+        struct IVGTextRange * Range );
+    VARIANT_BOOL IsSame (
+        struct IVGTextRange * Range );
+    IVGFillPtr GetFill ( );
+    IVGOutlinePtr GetOutline ( );
+    long GetRangeKerning ( );
+    void PutRangeKerning (
+        long pVal );
+    IVGTextTabPositionsPtr GetTabs ( );
+    enum cdrTextEffect GetEffect ( );
+    long GetDropCapLinesDropped ( );
+    void PutDropCapLinesDropped (
+        long pVal );
+    double GetDropCapDistanceFromText ( );
+    void PutDropCapDistanceFromText (
+        double pVal );
+    VARIANT_BOOL GetDropCapHangingIndent ( );
+    void PutDropCapHangingIndent (
+        VARIANT_BOOL pVal );
+    _bstr_t GetBulletFont ( );
+    void PutBulletFont (
+        _bstr_t pVal );
+    _bstr_t GetBulletSymbol ( );
+    void PutBulletSymbol (
+        _bstr_t pVal );
+    float GetBulletSize ( );
+    void PutBulletSize (
+        float pVal );
+    float GetBulletBaselineShift ( );
+    void PutBulletBaselineShift (
+        float pVal );
+    double GetBulletHorizontalPosition ( );
+    void PutBulletHorizontalPosition (
+        double pVal );
+    VARIANT_BOOL GetBulletHangingIndent ( );
+    void PutBulletHangingIndent (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetIsEmpty ( );
+    HRESULT ApplyNoEffect ( );
+    HRESULT ApplyBulletEffect (
+        _bstr_t Symbol,
+        _bstr_t Font,
+        float Size,
+        float BaselineShift,
+        double HorizontalPosition,
+        VARIANT_BOOL HangingIndent );
+    HRESULT ApplyDropCapEffect (
+        long LinesDropped,
+        double DistanceFromText,
+        VARIANT_BOOL HangingIndent );
+    VARIANT_BOOL GetHyphenateAllCapWords ( );
+    void PutHyphenateAllCapWords (
+        VARIANT_BOOL pVal );
+    IVGTextRangesPtr EnumRanges (
+        enum cdrTextPropertySet PropertyFilter );
+    _variant_t Evaluate (
+        _bstr_t Expression );
+    IVGTextRangesPtr FindRanges (
+        _bstr_t Query );
+    IVGCurvePtr GetBaselines ( );
+    HRESULT Straighten ( );
+    HRESULT AlignToBaseline ( );
+    IVGCurvePtr GetTextLineRects ( );
+    IVGFillPtr GetCharBackFill ( );
+    HRESULT CopyAttributes (
+        struct IVGTextRange * SourceRange );
+    long GetOpenTypeFeature (
+        _bstr_t Feature );
+    HRESULT SetOpenTypeFeature (
+        _bstr_t Feature,
+        long State );
+    long GetTextFormatter ( );
+    void PutTextFormatter (
+        long pVal );
+    HRESULT ApplyStyle (
+        _bstr_t StyleName );
+    IVGStylePtr GetObjectStyle ( );
+    IVGTextIndentLevelStylesPtr GetIndentLevelStyles ( );
+    long GetIndentLevel ( );
+    void PutIndentLevel (
+        long pVal );
+    IVGTextVariableAxesPtr GetVariableAxes ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Text (
+        /*[out,retval]*/ BSTR * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Text (
+        /*[in]*/ BSTR ppVal ) = 0;
+      virtual HRESULT __stdcall get_WideText (
+        /*[out,retval]*/ BSTR * ppVal ) = 0;
+      virtual HRESULT __stdcall put_WideText (
+        /*[in]*/ BSTR ppVal ) = 0;
+      virtual HRESULT __stdcall get_Characters (
+        /*[out,retval]*/ struct IVGTextCharacters * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Words (
+        /*[out,retval]*/ struct IVGTextWords * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Lines (
+        /*[out,retval]*/ struct IVGTextLines * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Paragraphs (
+        /*[out,retval]*/ struct IVGTextParagraphs * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Start (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Start (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_End (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_End (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Length (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Length (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_Duplicate (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ enum cdrFontStyle * pVal ) = 0;
+      virtual HRESULT __stdcall put_Style (
+        /*[in]*/ enum cdrFontStyle pVal ) = 0;
+      virtual HRESULT __stdcall get_Bold (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Bold (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Italic (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Italic (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Underline (
+        /*[out,retval]*/ enum cdrFontLine * pVal ) = 0;
+      virtual HRESULT __stdcall put_Underline (
+        /*[in]*/ enum cdrFontLine pVal ) = 0;
+      virtual HRESULT __stdcall get_Strikethru (
+        /*[out,retval]*/ enum cdrFontLine * pVal ) = 0;
+      virtual HRESULT __stdcall put_Strikethru (
+        /*[in]*/ enum cdrFontLine pVal ) = 0;
+      virtual HRESULT __stdcall get_Overscore (
+        /*[out,retval]*/ enum cdrFontLine * pVal ) = 0;
+      virtual HRESULT __stdcall put_Overscore (
+        /*[in]*/ enum cdrFontLine pVal ) = 0;
+      virtual HRESULT __stdcall get_Font (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Font (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Size (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_Size (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_Position (
+        /*[out,retval]*/ enum cdrFontPosition * pVal ) = 0;
+      virtual HRESULT __stdcall put_Position (
+        /*[in]*/ enum cdrFontPosition pVal ) = 0;
+      virtual HRESULT __stdcall get_Case (
+        /*[out,retval]*/ enum cdrFontCase * pVal ) = 0;
+      virtual HRESULT __stdcall put_Case (
+        /*[in]*/ enum cdrFontCase pVal ) = 0;
+      virtual HRESULT __stdcall get_CharAngle (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_CharAngle (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_Alignment (
+        /*[out,retval]*/ enum cdrAlignment * pVal ) = 0;
+      virtual HRESULT __stdcall put_Alignment (
+        /*[in]*/ enum cdrAlignment pVal ) = 0;
+      virtual HRESULT __stdcall get_FirstLineIndent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FirstLineIndent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_HorizShift (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HorizShift (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_VertShift (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_VertShift (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_LeftIndent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_LeftIndent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_RightIndent (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RightIndent (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_MinWordSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_MinWordSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxWordSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaxWordSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_MaxCharSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_MaxCharSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_ParaSpacingBefore (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_ParaSpacingBefore (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_ParaSpacingAfter (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_ParaSpacingAfter (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_CharSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_CharSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_LineSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_LineSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_LineSpacingType (
+        /*[out,retval]*/ enum cdrLineSpacingType * pVal ) = 0;
+      virtual HRESULT __stdcall get_WordSpacing (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_WordSpacing (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_AutoHyphenate (
+        /*[out,retval]*/ enum cdrTriState * pVal ) = 0;
+      virtual HRESULT __stdcall put_AutoHyphenate (
+        /*[in]*/ enum cdrTriState pVal ) = 0;
+      virtual HRESULT __stdcall get_HyphenHotZone (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenHotZone (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_HyphenMinCharsBefore (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenMinCharsBefore (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HyphenMinCharsAfter (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenMinCharsAfter (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HyphenMinWordLength (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenMinWordLength (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_HyphenateCapitals (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenateCapitals (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Select ( ) = 0;
+      virtual HRESULT __stdcall raw_Copy ( ) = 0;
+      virtual HRESULT __stdcall raw_Paste (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ChangeCase (
+        /*[in]*/ enum cdrTextChangeCase Case ) = 0;
+      virtual HRESULT __stdcall raw_SetRange (
+        /*[in]*/ long Start,
+        /*[in]*/ long End ) = 0;
+      virtual HRESULT __stdcall get_LanguageID (
+        /*[out,retval]*/ enum cdrTextLanguage * pVal ) = 0;
+      virtual HRESULT __stdcall put_LanguageID (
+        /*[in]*/ enum cdrTextLanguage pVal ) = 0;
+      virtual HRESULT __stdcall get_CharSet (
+        /*[out,retval]*/ enum cdrTextCharSet * pVal ) = 0;
+      virtual HRESULT __stdcall put_CharSet (
+        /*[in]*/ enum cdrTextCharSet pVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertBefore (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertBeforeWide (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertAfter (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_InsertAfterWide (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Replace (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ReplaceWide (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ enum cdrTextLanguage LanguageID,
+        /*[in]*/ enum cdrTextCharSet CharSet,
+        /*[in]*/ BSTR Font,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Range (
+        /*[in]*/ long Start,
+        /*[in]*/ long End,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SetLineSpacing (
+        /*[in]*/ enum cdrLineSpacingType Type,
+        /*[in]*/ float LineSpacing,
+        /*[in]*/ float ParaBefore,
+        /*[in]*/ float ParaAfter ) = 0;
+      virtual HRESULT __stdcall get_Columns (
+        /*[out,retval]*/ struct IVGTextColumns * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Frames (
+        /*[out,retval]*/ struct IVGTextFrames * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Collapse (
+        /*[in]*/ VARIANT_BOOL ToEnd ) = 0;
+      virtual HRESULT __stdcall raw_Combine (
+        /*[in]*/ struct IVGTextRange * Range ) = 0;
+      virtual HRESULT __stdcall raw_InRange (
+        /*[in]*/ struct IVGTextRange * Range,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsSame (
+        /*[in]*/ struct IVGTextRange * Range,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Fill (
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Outline (
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_RangeKerning (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_RangeKerning (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Tabs (
+        /*[out,retval]*/ struct IVGTextTabPositions * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Effect (
+        /*[out,retval]*/ enum cdrTextEffect * pVal ) = 0;
+      virtual HRESULT __stdcall get_DropCapLinesDropped (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_DropCapLinesDropped (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_DropCapDistanceFromText (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_DropCapDistanceFromText (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_DropCapHangingIndent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DropCapHangingIndent (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BulletFont (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_BulletFont (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_BulletSymbol (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_BulletSymbol (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_BulletSize (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_BulletSize (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_BulletBaselineShift (
+        /*[out,retval]*/ float * pVal ) = 0;
+      virtual HRESULT __stdcall put_BulletBaselineShift (
+        /*[in]*/ float pVal ) = 0;
+      virtual HRESULT __stdcall get_BulletHorizontalPosition (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BulletHorizontalPosition (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_BulletHangingIndent (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_BulletHangingIndent (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_IsEmpty (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyNoEffect ( ) = 0;
+      virtual HRESULT __stdcall raw_ApplyBulletEffect (
+        /*[in]*/ BSTR Symbol,
+        /*[in]*/ BSTR Font,
+        /*[in]*/ float Size,
+        /*[in]*/ float BaselineShift,
+        /*[in]*/ double HorizontalPosition,
+        /*[in]*/ VARIANT_BOOL HangingIndent ) = 0;
+      virtual HRESULT __stdcall raw_ApplyDropCapEffect (
+        /*[in]*/ long LinesDropped,
+        /*[in]*/ double DistanceFromText,
+        /*[in]*/ VARIANT_BOOL HangingIndent ) = 0;
+      virtual HRESULT __stdcall get_HyphenateAllCapWords (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_HyphenateAllCapWords (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_EnumRanges (
+        /*[in]*/ enum cdrTextPropertySet PropertyFilter,
+        /*[out,retval]*/ struct IVGTextRanges * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Evaluate (
+        /*[in]*/ BSTR Expression,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_FindRanges (
+        /*[in]*/ BSTR Query,
+        /*[out,retval]*/ struct IVGTextRanges * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Baselines (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Straighten ( ) = 0;
+      virtual HRESULT __stdcall raw_AlignToBaseline ( ) = 0;
+      virtual HRESULT __stdcall get_TextLineRects (
+        /*[out,retval]*/ struct IVGCurve * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_CharBackFill (
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyAttributes (
+        /*[in]*/ struct IVGTextRange * SourceRange ) = 0;
+      virtual HRESULT __stdcall raw_GetOpenTypeFeature (
+        /*[in]*/ BSTR Feature,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetOpenTypeFeature (
+        /*[in]*/ BSTR Feature,
+        /*[in]*/ long State ) = 0;
+      virtual HRESULT __stdcall get_TextFormatter (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_TextFormatter (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall raw_ApplyStyle (
+        /*[in]*/ BSTR StyleName ) = 0;
+      virtual HRESULT __stdcall get_ObjectStyle (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IndentLevelStyles (
+        /*[out,retval]*/ struct IVGTextIndentLevelStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IndentLevel (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_IndentLevel (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_VariableAxes (
+        /*[out,retval]*/ struct IVGTextVariableAxes * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580072-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextCharacters : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextRangePtr Item[][];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetAll))
+    IVGTextRangePtr All;
+    __declspec(property(get=GetFirst))
+    IVGTextRangePtr First;
+    __declspec(property(get=GetLast))
+    IVGTextRangePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextRangePtr GetItem (
+        long Index,
+        long Count );
+    long GetCount ( );
+    IVGTextRangePtr GetAll ( );
+    IVGTextRangePtr GetFirst ( );
+    IVGTextRangePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ long Count,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_All (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058007c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextWords : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextRangePtr Item[][];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetAll))
+    IVGTextRangePtr All;
+    __declspec(property(get=GetFirst))
+    IVGTextRangePtr First;
+    __declspec(property(get=GetLast))
+    IVGTextRangePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextRangePtr GetItem (
+        long Index,
+        long Count );
+    long GetCount ( );
+    IVGTextRangePtr GetAll ( );
+    IVGTextRangePtr GetFirst ( );
+    IVGTextRangePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ long Count,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_All (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580076-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextLines : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextRangePtr Item[][];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetAll))
+    IVGTextRangePtr All;
+    __declspec(property(get=GetFirst))
+    IVGTextRangePtr First;
+    __declspec(property(get=GetLast))
+    IVGTextRangePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextRangePtr GetItem (
+        long Index,
+        long Count );
+    long GetCount ( );
+    IVGTextRangePtr GetAll ( );
+    IVGTextRangePtr GetFirst ( );
+    IVGTextRangePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ long Count,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_All (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580077-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextParagraphs : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextRangePtr Item[][];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetAll))
+    IVGTextRangePtr All;
+    __declspec(property(get=GetFirst))
+    IVGTextRangePtr First;
+    __declspec(property(get=GetLast))
+    IVGTextRangePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextRangePtr GetItem (
+        long Index,
+        long Count );
+    long GetCount ( );
+    IVGTextRangePtr GetAll ( );
+    IVGTextRangePtr GetFirst ( );
+    IVGTextRangePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ long Count,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_All (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580073-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextColumns : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextRangePtr Item[][];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetAll))
+    IVGTextRangePtr All;
+    __declspec(property(get=GetFirst))
+    IVGTextRangePtr First;
+    __declspec(property(get=GetLast))
+    IVGTextRangePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextRangePtr GetItem (
+        long Index,
+        long Count );
+    long GetCount ( );
+    IVGTextRangePtr GetAll ( );
+    IVGTextRangePtr GetFirst ( );
+    IVGTextRangePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[in]*/ long Count,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_All (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580074-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextFrame : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetRange))
+    IVGTextRangePtr Range;
+    __declspec(property(get=GetPrevious))
+    IVGTextFramePtr Previous;
+    __declspec(property(get=GetNext))
+    IVGTextFramePtr Next;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetEmpty))
+    VARIANT_BOOL Empty;
+    __declspec(property(get=GetIsFirst))
+    VARIANT_BOOL IsFirst;
+    __declspec(property(get=GetIsLast))
+    VARIANT_BOOL IsLast;
+    __declspec(property(get=GetVerticalAlignment,put=PutVerticalAlignment))
+    enum cdrVerticalAlignment VerticalAlignment;
+    __declspec(property(get=GetMulticolumn))
+    VARIANT_BOOL Multicolumn;
+    __declspec(property(get=GetColumnCount))
+    long ColumnCount;
+    __declspec(property(get=GetColumnWidth))
+    double ColumnWidth[];
+    __declspec(property(get=GetColumnGutter))
+    double ColumnGutter[];
+    __declspec(property(get=GetContainer))
+    IVGShapePtr Container;
+    __declspec(property(get=GetIsInsideContainer))
+    VARIANT_BOOL IsInsideContainer;
+    __declspec(property(get=GetIsFittedToPath))
+    VARIANT_BOOL IsFittedToPath;
+    __declspec(property(get=GetPath))
+    IVGShapePtr Path;
+    __declspec(property(get=GetFrameShape))
+    IVGShapePtr FrameShape;
+    __declspec(property(get=GetFill,put=PutFill))
+    IVGFillPtr Fill;
+    __declspec(property(get=GetOutline,put=PutOutline))
+    IVGOutlinePtr Outline;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGTextRangePtr GetRange ( );
+    IVGTextFramePtr GetPrevious ( );
+    IVGTextFramePtr GetNext ( );
+    long GetIndex ( );
+    VARIANT_BOOL GetEmpty ( );
+    VARIANT_BOOL GetIsFirst ( );
+    VARIANT_BOOL GetIsLast ( );
+    enum cdrVerticalAlignment GetVerticalAlignment ( );
+    void PutVerticalAlignment (
+        enum cdrVerticalAlignment pVal );
+    VARIANT_BOOL GetMulticolumn ( );
+    long GetColumnCount ( );
+    double GetColumnWidth (
+        long Index );
+    double GetColumnGutter (
+        long Index );
+    HRESULT SetColumns (
+        long NumColumns,
+        VARIANT_BOOL EqualColumns,
+        SAFEARRAY * * WidthsAndGutters );
+    HRESULT LinkTo (
+        struct IVGShape * Shape );
+    HRESULT UnLink ( );
+    IVGShapePtr GetContainer ( );
+    VARIANT_BOOL GetIsInsideContainer ( );
+    VARIANT_BOOL GetIsFittedToPath ( );
+    IVGShapePtr GetPath ( );
+    IVGShapePtr GetFrameShape ( );
+    IVGFillPtr GetFill ( );
+    void PutFill (
+        struct IVGFill * ppVal );
+    IVGOutlinePtr GetOutline ( );
+    void PutOutline (
+        struct IVGOutline * ppVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Range (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Previous (
+        /*[out,retval]*/ struct IVGTextFrame * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Next (
+        /*[out,retval]*/ struct IVGTextFrame * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Empty (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsFirst (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsLast (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_VerticalAlignment (
+        /*[out,retval]*/ enum cdrVerticalAlignment * pVal ) = 0;
+      virtual HRESULT __stdcall put_VerticalAlignment (
+        /*[in]*/ enum cdrVerticalAlignment pVal ) = 0;
+      virtual HRESULT __stdcall get_Multicolumn (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColumnCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColumnWidth (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_ColumnGutter (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetColumns (
+        /*[in]*/ long NumColumns,
+        /*[in]*/ VARIANT_BOOL EqualColumns,
+        /*[in]*/ SAFEARRAY * * WidthsAndGutters ) = 0;
+      virtual HRESULT __stdcall raw_LinkTo (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_UnLink ( ) = 0;
+      virtual HRESULT __stdcall get_Container (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsInsideContainer (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsFittedToPath (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Path (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FrameShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Fill (
+        /*[out,retval]*/ struct IVGFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Fill (
+        /*[in]*/ struct IVGFill * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Outline (
+        /*[out,retval]*/ struct IVGOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Outline (
+        /*[in]*/ struct IVGOutline * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580075-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextFrames : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextFramePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetRange))
+    IVGTextRangePtr Range[][];
+    __declspec(property(get=GetAll))
+    IVGTextRangePtr All;
+    __declspec(property(get=GetFirst))
+    IVGTextFramePtr First;
+    __declspec(property(get=GetLast))
+    IVGTextFramePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextFramePtr GetItem (
+        long Index );
+    long GetCount ( );
+    IVGTextRangePtr GetRange (
+        long Index,
+        long Count );
+    IVGTextRangePtr GetAll ( );
+    IVGTextFramePtr GetFirst ( );
+    IVGTextFramePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGTextFrame * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Range (
+        /*[in]*/ long Index,
+        /*[in]*/ long Count,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_All (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGTextFrame * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGTextFrame * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a4-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTextRanges : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTextRangePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGTextRangePtr First;
+    __declspec(property(get=GetLast))
+    IVGTextRangePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IUnknownPtr Get_NewEnum ( );
+    IVGTextRangePtr GetItem (
+        long Index );
+    long GetCount ( );
+    IVGTextRangePtr GetFirst ( );
+    IVGTextRangePtr GetLast ( );
+    IVGTextRangesPtr Reverse ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGTextRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Reverse (
+        /*[out,retval]*/ struct IVGTextRanges * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800b8-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyle : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCategoryName))
+    _bstr_t CategoryName;
+    __declspec(property(get=GetOutline))
+    IVGStyleOutlinePtr Outline;
+    __declspec(property(get=GetFill))
+    IVGStyleFillPtr Fill;
+    __declspec(property(get=GetCharacter))
+    IVGStyleCharacterPtr Character;
+    __declspec(property(get=GetParagraph))
+    IVGStyleParagraphPtr Paragraph;
+    __declspec(property(get=GetFrame))
+    IVGStyleFramePtr Frame;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetDisplayName))
+    _bstr_t DisplayName;
+    __declspec(property(get=GetIsStyleSet))
+    VARIANT_BOOL IsStyleSet;
+    __declspec(property(get=GetIsObjectDefaults))
+    VARIANT_BOOL IsObjectDefaults;
+    __declspec(property(get=GetDisplayCategoryName))
+    _bstr_t DisplayCategoryName;
+    __declspec(property(get=GetBasedOn))
+    IVGStylePtr BasedOn;
+    __declspec(property(get=GetDerivedStyles))
+    IVGStylesPtr DerivedStyles;
+    __declspec(property(get=GetTransparency))
+    IVGStyleTransparencyPtr Transparency;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetCategoryName ( );
+    SAFEARRAY * GetAllPropertyNames ( );
+    SAFEARRAY * GetOverridePropertyNames ( );
+    VARIANT_BOOL IsPropertyInherited (
+        _bstr_t Name );
+    _variant_t GetProperty (
+        _bstr_t Name );
+    HRESULT SetProperty (
+        _bstr_t Name,
+        const _variant_t & Value );
+    VARIANT_BOOL ClearProperty (
+        _bstr_t Name );
+    IVGStyleOutlinePtr GetOutline ( );
+    IVGStyleFillPtr GetFill ( );
+    IVGStyleCharacterPtr GetCharacter ( );
+    IVGStyleParagraphPtr GetParagraph ( );
+    IVGStyleFramePtr GetFrame ( );
+    _bstr_t GetName ( );
+    _bstr_t GetDisplayName ( );
+    VARIANT_BOOL GetIsStyleSet ( );
+    VARIANT_BOOL GetIsObjectDefaults ( );
+    _bstr_t GetDisplayCategoryName ( );
+    IVGStylePtr GetBasedOn ( );
+    IVGStylesPtr GetDerivedStyles ( );
+    _bstr_t ToString ( );
+    VARIANT_BOOL StringAssign (
+        _bstr_t StyleString );
+    _bstr_t GetPropertyAsString (
+        _bstr_t Name );
+    VARIANT_BOOL SetPropertyAsString (
+        _bstr_t Name,
+        _bstr_t Value );
+    VARIANT_BOOL Rename (
+        _bstr_t NewName );
+    VARIANT_BOOL SetBasedOn (
+        _bstr_t NewParent );
+    VARIANT_BOOL Delete ( );
+    HRESULT Assign (
+        struct IVGStyle * pVal );
+    IVGStylePtr GetCopy ( );
+    IVGStyleTransparencyPtr GetTransparency ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_CategoryName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetAllPropertyNames (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetOverridePropertyNames (
+        /*[out,retval]*/ SAFEARRAY * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsPropertyInherited (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetProperty (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetProperty (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT Value ) = 0;
+      virtual HRESULT __stdcall raw_ClearProperty (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Outline (
+        /*[out,retval]*/ struct IVGStyleOutline * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Fill (
+        /*[out,retval]*/ struct IVGStyleFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Character (
+        /*[out,retval]*/ struct IVGStyleCharacter * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Paragraph (
+        /*[out,retval]*/ struct IVGStyleParagraph * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Frame (
+        /*[out,retval]*/ struct IVGStyleFrame * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_DisplayName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsStyleSet (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsObjectDefaults (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_DisplayCategoryName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_BasedOn (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DerivedStyles (
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ToString (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_StringAssign (
+        /*[in]*/ BSTR StyleString,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetPropertyAsString (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetPropertyAsString (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ BSTR Value,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Rename (
+        /*[in]*/ BSTR NewName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_SetBasedOn (
+        /*[in]*/ BSTR NewParent,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Assign (
+        /*[in]*/ struct IVGStyle * pVal ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Transparency (
+        /*[out,retval]*/ struct IVGStyleTransparency * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800bb-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyleOutline : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStyle))
+    IVGStylePtr Style;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrOutlineType Type;
+    __declspec(property(get=GetOverprint,put=PutOverprint))
+    VARIANT_BOOL Overprint;
+    __declspec(property(get=GetBehindFill,put=PutBehindFill))
+    VARIANT_BOOL BehindFill;
+    __declspec(property(get=GetScaleWithShape,put=PutScaleWithShape))
+    VARIANT_BOOL ScaleWithShape;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    double Width;
+    __declspec(property(get=GetColor,put=PutColor))
+    IVGColorPtr Color;
+    __declspec(property(get=GetOverlapArrow,put=PutOverlapArrow))
+    VARIANT_BOOL OverlapArrow;
+    __declspec(property(get=GetShareArrow,put=PutShareArrow))
+    VARIANT_BOOL ShareArrow;
+    __declspec(property(get=GetMiterLimit,put=PutMiterLimit))
+    double MiterLimit;
+    __declspec(property(get=GetNibStretch,put=PutNibStretch))
+    long NibStretch;
+    __declspec(property(get=GetNibAngle,put=PutNibAngle))
+    double NibAngle;
+    __declspec(property(get=GetWidelineWidth,put=PutWidelineWidth))
+    double WidelineWidth;
+    __declspec(property(get=GetLineCaps,put=PutLineCaps))
+    enum cdrOutlineLineCaps LineCaps;
+    __declspec(property(get=GetLineJoin,put=PutLineJoin))
+    enum cdrOutlineLineJoin LineJoin;
+    __declspec(property(get=GetJustification,put=PutJustification))
+    enum cdrOutlineJustification Justification;
+    __declspec(property(get=GetAdjustDashes,put=PutAdjustDashes))
+    enum cdrOutlineDashAdjust AdjustDashes;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStylePtr GetStyle ( );
+    enum cdrOutlineType GetType ( );
+    void PutType (
+        enum cdrOutlineType pVal );
+    VARIANT_BOOL GetOverprint ( );
+    void PutOverprint (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetBehindFill ( );
+    void PutBehindFill (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetScaleWithShape ( );
+    void PutScaleWithShape (
+        VARIANT_BOOL pVal );
+    double GetWidth ( );
+    void PutWidth (
+        double pVal );
+    IVGColorPtr GetColor ( );
+    void PutColor (
+        struct IVGColor * ppVal );
+    VARIANT_BOOL GetOverlapArrow ( );
+    void PutOverlapArrow (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetShareArrow ( );
+    void PutShareArrow (
+        VARIANT_BOOL pVal );
+    double GetMiterLimit ( );
+    void PutMiterLimit (
+        double pVal );
+    long GetNibStretch ( );
+    void PutNibStretch (
+        long pVal );
+    double GetNibAngle ( );
+    void PutNibAngle (
+        double pVal );
+    double GetWidelineWidth ( );
+    void PutWidelineWidth (
+        double pVal );
+    enum cdrOutlineLineCaps GetLineCaps ( );
+    void PutLineCaps (
+        enum cdrOutlineLineCaps pVal );
+    enum cdrOutlineLineJoin GetLineJoin ( );
+    void PutLineJoin (
+        enum cdrOutlineLineJoin pVal );
+    enum cdrOutlineJustification GetJustification ( );
+    void PutJustification (
+        enum cdrOutlineJustification pVal );
+    enum cdrOutlineDashAdjust GetAdjustDashes ( );
+    void PutAdjustDashes (
+        enum cdrOutlineDashAdjust pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrOutlineType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrOutlineType pVal ) = 0;
+      virtual HRESULT __stdcall get_Overprint (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Overprint (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_BehindFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_BehindFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ScaleWithShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ScaleWithShape (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Color (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_Color (
+        /*[in]*/ struct IVGColor * ppVal ) = 0;
+      virtual HRESULT __stdcall get_OverlapArrow (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_OverlapArrow (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ShareArrow (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShareArrow (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MiterLimit (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_MiterLimit (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_NibStretch (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_NibStretch (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_NibAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_NibAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_WidelineWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_WidelineWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_LineCaps (
+        /*[out,retval]*/ enum cdrOutlineLineCaps * pVal ) = 0;
+      virtual HRESULT __stdcall put_LineCaps (
+        /*[in]*/ enum cdrOutlineLineCaps pVal ) = 0;
+      virtual HRESULT __stdcall get_LineJoin (
+        /*[out,retval]*/ enum cdrOutlineLineJoin * pVal ) = 0;
+      virtual HRESULT __stdcall put_LineJoin (
+        /*[in]*/ enum cdrOutlineLineJoin pVal ) = 0;
+      virtual HRESULT __stdcall get_Justification (
+        /*[out,retval]*/ enum cdrOutlineJustification * pVal ) = 0;
+      virtual HRESULT __stdcall put_Justification (
+        /*[in]*/ enum cdrOutlineJustification pVal ) = 0;
+      virtual HRESULT __stdcall get_AdjustDashes (
+        /*[out,retval]*/ enum cdrOutlineDashAdjust * pVal ) = 0;
+      virtual HRESULT __stdcall put_AdjustDashes (
+        /*[in]*/ enum cdrOutlineDashAdjust pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800bc-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyleFill : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStyle))
+    IVGStylePtr Style;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrFillStyleType Type;
+    __declspec(property(get=GetFountainAnisotropic,put=PutFountainAnisotropic))
+    VARIANT_BOOL FountainAnisotropic;
+    __declspec(property(get=GetOverprint,put=PutOverprint))
+    VARIANT_BOOL Overprint;
+    __declspec(property(get=GetFountainSpreadMethod,put=PutFountainSpreadMethod))
+    enum cdrFountainFillSpreadMethod FountainSpreadMethod;
+    __declspec(property(get=GetWindingFill,put=PutWindingFill))
+    VARIANT_BOOL WindingFill;
+    __declspec(property(get=GetPrimaryOpacity,put=PutPrimaryOpacity))
+    unsigned char PrimaryOpacity;
+    __declspec(property(get=GetFountainFillType,put=PutFountainFillType))
+    enum cdrFountainFillType FountainFillType;
+    __declspec(property(get=GetSecondaryOpacity,put=PutSecondaryOpacity))
+    unsigned char SecondaryOpacity;
+    __declspec(property(get=GetEdgePad,put=PutEdgePad))
+    long EdgePad;
+    __declspec(property(get=GetMergeMode,put=PutMergeMode))
+    enum cdrMergeMode MergeMode;
+    __declspec(property(get=GetFountainCenterOffsetX,put=PutFountainCenterOffsetX))
+    long FountainCenterOffsetX;
+    __declspec(property(get=GetFountainCenterOffsetY,put=PutFountainCenterOffsetY))
+    long FountainCenterOffsetY;
+    __declspec(property(get=GetFountainSteps,put=PutFountainSteps))
+    long FountainSteps;
+    __declspec(property(get=GetFountainBlendType,put=PutFountainBlendType))
+    enum cdrFountainFillBlendType FountainBlendType;
+    __declspec(property(get=GetMidPoint,put=PutMidPoint))
+    long MidPoint;
+    __declspec(property(get=GetFlipColors,put=PutFlipColors))
+    VARIANT_BOOL FlipColors;
+    __declspec(property(get=GetPostScriptName,put=PutPostScriptName))
+    _bstr_t PostScriptName;
+    __declspec(property(get=GetTileWidth,put=PutTileWidth))
+    double TileWidth;
+    __declspec(property(get=GetTileHeight,put=PutTileHeight))
+    double TileHeight;
+    __declspec(property(get=GetTileOriginX,put=PutTileOriginX))
+    double TileOriginX;
+    __declspec(property(get=GetTileOriginY,put=PutTileOriginY))
+    double TileOriginY;
+    __declspec(property(get=GetTileOffsetType,put=PutTileOffsetType))
+    enum cdrTileOffsetType TileOffsetType;
+    __declspec(property(get=GetTileOffset,put=PutTileOffset))
+    long TileOffset;
+    __declspec(property(get=GetRotationAngle,put=PutRotationAngle))
+    double RotationAngle;
+    __declspec(property(get=GetSkewAngle,put=PutSkewAngle))
+    double SkewAngle;
+    __declspec(property(get=GetMirrorFill,put=PutMirrorFill))
+    VARIANT_BOOL MirrorFill;
+    __declspec(property(get=GetTransformWithShape,put=PutTransformWithShape))
+    VARIANT_BOOL TransformWithShape;
+    __declspec(property(get=GetPrimaryColor))
+    IVGColorPtr PrimaryColor;
+    __declspec(property(get=GetSecondaryColor))
+    IVGColorPtr SecondaryColor;
+    __declspec(property(get=GetMirrorFillX,put=PutMirrorFillX))
+    VARIANT_BOOL MirrorFillX;
+    __declspec(property(get=GetMirrorFillY,put=PutMirrorFillY))
+    VARIANT_BOOL MirrorFillY;
+    __declspec(property(get=GetFountainCenterXOffset,put=PutFountainCenterXOffset))
+    double FountainCenterXOffset;
+    __declspec(property(get=GetFountainCenterYOffset,put=PutFountainCenterYOffset))
+    double FountainCenterYOffset;
+    __declspec(property(get=GetFountainBlendAcceleration,put=PutFountainBlendAcceleration))
+    double FountainBlendAcceleration;
+    __declspec(property(get=GetFountainScaleX,put=PutFountainScaleX))
+    double FountainScaleX;
+    __declspec(property(get=GetFountainScaleY,put=PutFountainScaleY))
+    double FountainScaleY;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStylePtr GetStyle ( );
+    enum cdrFillStyleType GetType ( );
+    void PutType (
+        enum cdrFillStyleType pVal );
+    VARIANT_BOOL GetOverprint ( );
+    void PutOverprint (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetWindingFill ( );
+    void PutWindingFill (
+        VARIANT_BOOL pVal );
+    enum cdrFountainFillType GetFountainFillType ( );
+    void PutFountainFillType (
+        enum cdrFountainFillType pVal );
+    long GetEdgePad ( );
+    void PutEdgePad (
+        long pVal );
+    long GetFountainCenterOffsetX ( );
+    void PutFountainCenterOffsetX (
+        long pVal );
+    long GetFountainCenterOffsetY ( );
+    void PutFountainCenterOffsetY (
+        long pVal );
+    long GetFountainSteps ( );
+    void PutFountainSteps (
+        long pVal );
+    enum cdrFountainFillBlendType GetFountainBlendType ( );
+    void PutFountainBlendType (
+        enum cdrFountainFillBlendType pVal );
+    long GetMidPoint ( );
+    void PutMidPoint (
+        long pVal );
+    VARIANT_BOOL GetFlipColors ( );
+    void PutFlipColors (
+        VARIANT_BOOL pVal );
+    _bstr_t GetPostScriptName ( );
+    void PutPostScriptName (
+        _bstr_t pVal );
+    double GetTileWidth ( );
+    void PutTileWidth (
+        double pVal );
+    double GetTileHeight ( );
+    void PutTileHeight (
+        double pVal );
+    double GetTileOriginX ( );
+    void PutTileOriginX (
+        double pVal );
+    double GetTileOriginY ( );
+    void PutTileOriginY (
+        double pVal );
+    enum cdrTileOffsetType GetTileOffsetType ( );
+    void PutTileOffsetType (
+        enum cdrTileOffsetType pVal );
+    long GetTileOffset ( );
+    void PutTileOffset (
+        long pVal );
+    double GetRotationAngle ( );
+    void PutRotationAngle (
+        double pVal );
+    double GetSkewAngle ( );
+    void PutSkewAngle (
+        double pVal );
+    VARIANT_BOOL GetMirrorFill ( );
+    void PutMirrorFill (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetTransformWithShape ( );
+    void PutTransformWithShape (
+        VARIANT_BOOL pVal );
+    IVGColorPtr GetPrimaryColor ( );
+    IVGColorPtr GetSecondaryColor ( );
+    VARIANT_BOOL GetMirrorFillX ( );
+    void PutMirrorFillX (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetMirrorFillY ( );
+    void PutMirrorFillY (
+        VARIANT_BOOL pVal );
+    double GetFountainCenterXOffset ( );
+    void PutFountainCenterXOffset (
+        double pVal );
+    double GetFountainCenterYOffset ( );
+    void PutFountainCenterYOffset (
+        double pVal );
+    double GetFountainBlendAcceleration ( );
+    void PutFountainBlendAcceleration (
+        double pVal );
+    double GetFountainScaleX ( );
+    void PutFountainScaleX (
+        double pVal );
+    double GetFountainScaleY ( );
+    void PutFountainScaleY (
+        double pVal );
+    VARIANT_BOOL GetFountainAnisotropic ( );
+    void PutFountainAnisotropic (
+        VARIANT_BOOL pVal );
+    enum cdrFountainFillSpreadMethod GetFountainSpreadMethod ( );
+    void PutFountainSpreadMethod (
+        enum cdrFountainFillSpreadMethod pVal );
+    unsigned char GetPrimaryOpacity ( );
+    void PutPrimaryOpacity (
+        unsigned char pVal );
+    unsigned char GetSecondaryOpacity ( );
+    void PutSecondaryOpacity (
+        unsigned char pVal );
+    enum cdrMergeMode GetMergeMode ( );
+    void PutMergeMode (
+        enum cdrMergeMode pVal );
+    VARIANT_BOOL SaveFill (
+        _bstr_t FileName,
+        struct IVGFillMetadata * Metadata );
+    VARIANT_BOOL LoadFill (
+        _bstr_t FileName,
+        struct IVGFillMetadata * * Metadata );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrFillStyleType * pVal ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrFillStyleType pVal ) = 0;
+      virtual HRESULT __stdcall get_Overprint (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_Overprint (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_WindingFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_WindingFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainFillType (
+        /*[out,retval]*/ enum cdrFountainFillType * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainFillType (
+        /*[in]*/ enum cdrFountainFillType pVal ) = 0;
+      virtual HRESULT __stdcall get_EdgePad (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_EdgePad (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainCenterOffsetX (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainCenterOffsetX (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainCenterOffsetY (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainCenterOffsetY (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainSteps (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainSteps (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainBlendType (
+        /*[out,retval]*/ enum cdrFountainFillBlendType * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainBlendType (
+        /*[in]*/ enum cdrFountainFillBlendType pVal ) = 0;
+      virtual HRESULT __stdcall get_MidPoint (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_MidPoint (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_FlipColors (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FlipColors (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PostScriptName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_PostScriptName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_TileWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileWidth (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileHeight (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOriginX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOriginX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOriginY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOriginY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOffsetType (
+        /*[out,retval]*/ enum cdrTileOffsetType * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOffsetType (
+        /*[in]*/ enum cdrTileOffsetType pVal ) = 0;
+      virtual HRESULT __stdcall get_TileOffset (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_TileOffset (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_RotationAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_RotationAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_SkewAngle (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_SkewAngle (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFill (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFill (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_TransformWithShape (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_TransformWithShape (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_PrimaryColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SecondaryColor (
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFillX (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFillX (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_MirrorFillY (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_MirrorFillY (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainCenterXOffset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainCenterXOffset (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainCenterYOffset (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainCenterYOffset (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainBlendAcceleration (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainBlendAcceleration (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainScaleX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainScaleX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainScaleY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainScaleY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainAnisotropic (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainAnisotropic (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_FountainSpreadMethod (
+        /*[out,retval]*/ enum cdrFountainFillSpreadMethod * pVal ) = 0;
+      virtual HRESULT __stdcall put_FountainSpreadMethod (
+        /*[in]*/ enum cdrFountainFillSpreadMethod pVal ) = 0;
+      virtual HRESULT __stdcall get_PrimaryOpacity (
+        /*[out,retval]*/ unsigned char * pVal ) = 0;
+      virtual HRESULT __stdcall put_PrimaryOpacity (
+        /*[in]*/ unsigned char pVal ) = 0;
+      virtual HRESULT __stdcall get_SecondaryOpacity (
+        /*[out,retval]*/ unsigned char * pVal ) = 0;
+      virtual HRESULT __stdcall put_SecondaryOpacity (
+        /*[in]*/ unsigned char pVal ) = 0;
+      virtual HRESULT __stdcall get_MergeMode (
+        /*[out,retval]*/ enum cdrMergeMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_MergeMode (
+        /*[in]*/ enum cdrMergeMode pVal ) = 0;
+      virtual HRESULT __stdcall raw_SaveFill (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ struct IVGFillMetadata * Metadata,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_LoadFill (
+        /*[in]*/ BSTR FileName,
+        /*[out]*/ struct IVGFillMetadata * * Metadata,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800bd-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyleCharacter : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStyle))
+    IVGStylePtr Style;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStylePtr GetStyle ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800be-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyleParagraph : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStyle))
+    IVGStylePtr Style;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStylePtr GetStyle ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800bf-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyleFrame : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStyle))
+    IVGStylePtr Style;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStylePtr GetStyle ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800b9-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyles : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGStylePtr Item[];
+    __declspec(property(get=GetFirst))
+    IVGStylePtr First;
+    __declspec(property(get=GetLast))
+    IVGStylePtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetCount ( );
+    IVGStylePtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    IVGStylePtr Find (
+        _bstr_t Name );
+    IVGStylePtr GetFirst ( );
+    IVGStylePtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Find (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800d7-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyleTransparency : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStyle))
+    IVGStylePtr Style;
+    __declspec(property(get=GetFill))
+    IVGStyleFillPtr Fill;
+    __declspec(property(get=GetMode,put=PutMode))
+    enum cdrMergeMode Mode;
+    __declspec(property(get=GetUniformTransparency,put=PutUniformTransparency))
+    double UniformTransparency;
+    __declspec(property(get=GetWhiteTransparency,put=PutWhiteTransparency))
+    double WhiteTransparency;
+    __declspec(property(get=GetBlackTransparency,put=PutBlackTransparency))
+    double BlackTransparency;
+    __declspec(property(get=GetAppliesTo,put=PutAppliesTo))
+    enum cdrTransparencyAppliedTo AppliesTo;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStylePtr GetStyle ( );
+    IVGStyleFillPtr GetFill ( );
+    enum cdrMergeMode GetMode ( );
+    void PutMode (
+        enum cdrMergeMode pVal );
+    double GetUniformTransparency ( );
+    void PutUniformTransparency (
+        double pVal );
+    double GetWhiteTransparency ( );
+    void PutWhiteTransparency (
+        double pVal );
+    double GetBlackTransparency ( );
+    void PutBlackTransparency (
+        double pVal );
+    enum cdrTransparencyAppliedTo GetAppliesTo ( );
+    void PutAppliesTo (
+        enum cdrTransparencyAppliedTo pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Style (
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Fill (
+        /*[out,retval]*/ struct IVGStyleFill * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Mode (
+        /*[out,retval]*/ enum cdrMergeMode * pVal ) = 0;
+      virtual HRESULT __stdcall put_Mode (
+        /*[in]*/ enum cdrMergeMode pVal ) = 0;
+      virtual HRESULT __stdcall get_UniformTransparency (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_UniformTransparency (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_WhiteTransparency (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_WhiteTransparency (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_BlackTransparency (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_BlackTransparency (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_AppliesTo (
+        /*[out,retval]*/ enum cdrTransparencyAppliedTo * pVal ) = 0;
+      virtual HRESULT __stdcall put_AppliesTo (
+        /*[in]*/ enum cdrTransparencyAppliedTo pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800d6-9aa4-44fd-9547-4f91eb757ac4"))
+IVGToolShape : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT OnGenerateShape (
+        struct IVGLayer * Parent,
+        struct IVGProperties * ObjectProperties,
+        struct IVGStyle * pStyleAttributes,
+        struct IVGTransformMatrix * pTransformation,
+        VARIANT_BOOL IsPreviewOnly );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_OnGenerateShape (
+        /*[in]*/ struct IVGLayer * Parent,
+        /*[in]*/ struct IVGProperties * ObjectProperties,
+        /*[in]*/ struct IVGStyle * pStyleAttributes,
+        /*[in]*/ struct IVGTransformMatrix * pTransformation,
+        /*[in]*/ VARIANT_BOOL IsPreviewOnly ) = 0;
+};
+
+struct __declspec(uuid("b05800ba-9aa4-44fd-9547-4f91eb757ac4"))
+IVGStyleSheet : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetStyles))
+    IVGStylesPtr Styles;
+    __declspec(property(get=GetStyleSets))
+    IVGStylesPtr StyleSets;
+    __declspec(property(get=GetObjectDefaults))
+    IVGStylesPtr ObjectDefaults;
+    __declspec(property(get=GetAllStyles))
+    IVGStylesPtr AllStyles;
+    __declspec(property(get=GetAllStyleSets))
+    IVGStylesPtr AllStyleSets;
+    __declspec(property(get=GetAllColorStyles))
+    IVGColorsPtr AllColorStyles;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGStylesPtr GetStyles ( );
+    IVGStylesPtr GetStyleSets ( );
+    IVGStylesPtr GetObjectDefaults ( );
+    IVGStylesPtr GetAllStyles ( );
+    IVGStylesPtr GetAllStyleSets ( );
+    IVGStylePtr FindStyle (
+        _bstr_t Name );
+    IVGStylesPtr CreateStyleFromShape (
+        struct IVGShape * Shape,
+        _bstr_t Category,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    IVGStylesPtr CreateStyleFromShapeRange (
+        struct IVGShapeRange * ShapeRange,
+        _bstr_t Category,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    IVGStylesPtr CreateStyleFromTextRange (
+        struct IVGTextRange * TextRange,
+        _bstr_t Category,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    IVGStylesPtr CreateStyleSetFromShape (
+        struct IVGShape * Shape,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    IVGStylesPtr CreateStyleSetFromShapeRange (
+        struct IVGShapeRange * ShapeRange,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    IVGStylesPtr CreateStyleSetFromTextRange (
+        struct IVGTextRange * TextRange,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    IVGStylePtr CreateStyle (
+        _bstr_t Category,
+        _bstr_t BasedOn,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    IVGStylePtr CreateStyleSet (
+        _bstr_t BasedOn,
+        _bstr_t Name,
+        VARIANT_BOOL ReplaceExisting );
+    VARIANT_BOOL Export (
+        _bstr_t FileName,
+        VARIANT_BOOL Styles,
+        VARIANT_BOOL StyleSets,
+        VARIANT_BOOL ObjectDefaults,
+        VARIANT_BOOL ColorStyles );
+    VARIANT_BOOL Import (
+        _bstr_t FileName,
+        VARIANT_BOOL MergeStyles,
+        VARIANT_BOOL Styles,
+        VARIANT_BOOL StyleSets,
+        VARIANT_BOOL ObjectDefaults,
+        VARIANT_BOOL ColorStyles );
+    IVGColorsPtr GetAllColorStyles ( );
+    IVGColorPtr CreateColorStyle (
+        _bstr_t Name,
+        struct IVGColor * Color,
+        long HarmonyIndex,
+        long IndexInHarmony,
+        VARIANT_BOOL ReplaceExisting );
+    HRESULT DeleteAllColorStyles ( );
+    HRESULT DeleteColorStyle (
+        _bstr_t Name );
+    HRESULT RenameColorStyle (
+        _bstr_t OldName,
+        _bstr_t NewName );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Styles (
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_StyleSets (
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ObjectDefaults (
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AllStyles (
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AllStyleSets (
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindStyle (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyleFromShape (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ BSTR Category,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyleFromShapeRange (
+        /*[in]*/ struct IVGShapeRange * ShapeRange,
+        /*[in]*/ BSTR Category,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyleFromTextRange (
+        /*[in]*/ struct IVGTextRange * TextRange,
+        /*[in]*/ BSTR Category,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyleSetFromShape (
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyleSetFromShapeRange (
+        /*[in]*/ struct IVGShapeRange * ShapeRange,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyleSetFromTextRange (
+        /*[in]*/ struct IVGTextRange * TextRange,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyles * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyle (
+        /*[in]*/ BSTR Category,
+        /*[in]*/ BSTR BasedOn,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateStyleSet (
+        /*[in]*/ BSTR BasedOn,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGStyle * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Export (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL Styles,
+        /*[in]*/ VARIANT_BOOL StyleSets,
+        /*[in]*/ VARIANT_BOOL ObjectDefaults,
+        /*[in]*/ VARIANT_BOOL ColorStyles,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Import (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL MergeStyles,
+        /*[in]*/ VARIANT_BOOL Styles,
+        /*[in]*/ VARIANT_BOOL StyleSets,
+        /*[in]*/ VARIANT_BOOL ObjectDefaults,
+        /*[in]*/ VARIANT_BOOL ColorStyles,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_AllColorStyles (
+        /*[out,retval]*/ struct IVGColors * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateColorStyle (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ struct IVGColor * Color,
+        /*[in]*/ long HarmonyIndex,
+        /*[in]*/ long IndexInHarmony,
+        /*[in]*/ VARIANT_BOOL ReplaceExisting,
+        /*[out,retval]*/ struct IVGColor * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_DeleteAllColorStyles ( ) = 0;
+      virtual HRESULT __stdcall raw_DeleteColorStyle (
+        /*[in]*/ BSTR Name ) = 0;
+      virtual HRESULT __stdcall raw_RenameColorStyle (
+        /*[in]*/ BSTR OldName,
+        /*[in]*/ BSTR NewName ) = 0;
+};
+
+struct __declspec(uuid("b0580020-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDataItems : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGShapePtr Parent;
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGDataItemPtr Item[];
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGShapePtr GetParent ( );
+    long GetCount ( );
+    IVGDataItemPtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    IVGDataItemPtr Add (
+        struct IVGDataField * DataField,
+        const _variant_t & Value = vtMissing );
+    HRESULT CopyFrom (
+        struct IVGShape * Shape );
+    HRESULT Clear ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGDataItem * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ struct IVGDataField * DataField,
+        /*[in]*/ VARIANT Value,
+        /*[out,retval]*/ struct IVGDataItem * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CopyFrom (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+};
+
+struct __declspec(uuid("b058001f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDataItem : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDataItemsPtr Parent;
+    __declspec(property(get=GetValue,put=PutValue))
+    _variant_t Value;
+    __declspec(property(get=GetDataField))
+    IVGDataFieldPtr DataField;
+    __declspec(property(get=GetFormattedValue))
+    _bstr_t FormattedValue;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDataItemsPtr GetParent ( );
+    _variant_t GetValue ( );
+    void PutValue (
+        const _variant_t & pVal );
+    IVGDataFieldPtr GetDataField ( );
+    HRESULT Clear ( );
+    _bstr_t GetFormattedValue ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDataItems * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Value (
+        /*[out,retval]*/ VARIANT * pVal ) = 0;
+      virtual HRESULT __stdcall put_Value (
+        /*[in]*/ VARIANT pVal ) = 0;
+      virtual HRESULT __stdcall get_DataField (
+        /*[out,retval]*/ struct IVGDataField * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Clear ( ) = 0;
+      virtual HRESULT __stdcall get_FormattedValue (
+        /*[out,retval]*/ BSTR * pbstrValue ) = 0;
+};
+
+struct __declspec(uuid("b058001d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDataField : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDataFieldsPtr Parent;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetFormatType))
+    enum cdrDataFormatType FormatType;
+    __declspec(property(get=GetFormat,put=PutFormat))
+    _bstr_t Format;
+    __declspec(property(get=GetFieldWidth,put=PutFieldWidth))
+    long FieldWidth;
+    __declspec(property(get=GetAppDefault,put=PutAppDefault))
+    VARIANT_BOOL AppDefault;
+    __declspec(property(get=GetDocDefault,put=PutDocDefault))
+    VARIANT_BOOL DocDefault;
+    __declspec(property(get=GetSummarizeGroup,put=PutSummarizeGroup))
+    VARIANT_BOOL SummarizeGroup;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetTarget,put=PutTarget))
+    _bstr_t Target;
+    __declspec(property(get=GetDefaultValue,put=PutDefaultValue))
+    _bstr_t DefaultValue;
+    __declspec(property(get=GetConstraint,put=PutConstraint))
+    _bstr_t Constraint;
+    __declspec(property(get=GetDataType,put=PutDataType))
+    enum cdrDataType DataType;
+    __declspec(property(get=GetParentName,put=PutParentName))
+    _bstr_t ParentName;
+    __declspec(property(get=GetElementName,put=PutElementName))
+    _bstr_t ElementName;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDataFieldsPtr GetParent ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    enum cdrDataFormatType GetFormatType ( );
+    _bstr_t GetFormat ( );
+    void PutFormat (
+        _bstr_t pVal );
+    long GetFieldWidth ( );
+    void PutFieldWidth (
+        long pVal );
+    VARIANT_BOOL GetAppDefault ( );
+    void PutAppDefault (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetDocDefault ( );
+    void PutDocDefault (
+        VARIANT_BOOL pVal );
+    VARIANT_BOOL GetSummarizeGroup ( );
+    void PutSummarizeGroup (
+        VARIANT_BOOL pVal );
+    HRESULT Delete ( );
+    HRESULT Reorder (
+        long NewIndex );
+    long GetIndex ( );
+    _bstr_t GetTarget ( );
+    void PutTarget (
+        _bstr_t pVal );
+    _bstr_t GetDefaultValue ( );
+    void PutDefaultValue (
+        _bstr_t pVal );
+    _bstr_t GetConstraint ( );
+    void PutConstraint (
+        _bstr_t pVal );
+    enum cdrDataType GetDataType ( );
+    void PutDataType (
+        enum cdrDataType pVal );
+    _bstr_t GetParentName ( );
+    void PutParentName (
+        _bstr_t pVal );
+    _bstr_t GetElementName ( );
+    void PutElementName (
+        _bstr_t pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDataFields * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_FormatType (
+        /*[out,retval]*/ enum cdrDataFormatType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Format (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Format (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_FieldWidth (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_FieldWidth (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_AppDefault (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_AppDefault (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_DocDefault (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_DocDefault (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_SummarizeGroup (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_SummarizeGroup (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Reorder (
+        /*[in]*/ long NewIndex ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Target (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Target (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultValue (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_DefaultValue (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Constraint (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Constraint (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_DataType (
+        /*[out,retval]*/ enum cdrDataType * pVal ) = 0;
+      virtual HRESULT __stdcall put_DataType (
+        /*[in]*/ enum cdrDataType pVal ) = 0;
+      virtual HRESULT __stdcall get_ParentName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_ParentName (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_ElementName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_ElementName (
+        /*[in]*/ BSTR pVal ) = 0;
+};
+
+struct __declspec(uuid("b058001e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDataFields : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDocumentPtr Parent;
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGDataFieldPtr Item[];
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDocumentPtr GetParent ( );
+    long GetCount ( );
+    IVGDataFieldPtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    IVGDataFieldPtr Add (
+        _bstr_t Name,
+        _bstr_t Format,
+        VARIANT_BOOL AppDefault,
+        VARIANT_BOOL DocDefault,
+        VARIANT_BOOL SummarizeGroup );
+    IVGDataFieldPtr AddEx (
+        _bstr_t Name,
+        enum cdrDataType DataType,
+        _bstr_t DefaultValue,
+        _bstr_t Constraint,
+        _bstr_t Target,
+        _bstr_t Format,
+        VARIANT_BOOL AppDefault,
+        VARIANT_BOOL DocDefault,
+        VARIANT_BOOL SummarizeGroup,
+        long FieldWidth );
+    VARIANT_BOOL IsPresent (
+        _bstr_t FieldName );
+    IVGDataFieldPtr AddEx2 (
+        _bstr_t ParentName,
+        _bstr_t ElementName,
+        _bstr_t Name,
+        enum cdrDataType DataType,
+        _bstr_t DefaultValue,
+        _bstr_t Constraint,
+        _bstr_t Target,
+        _bstr_t Format,
+        VARIANT_BOOL AppDefault,
+        VARIANT_BOOL DocDefault,
+        VARIANT_BOOL SummarizeGroup,
+        long FieldWidth );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGDataField * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ BSTR Format,
+        /*[in]*/ VARIANT_BOOL AppDefault,
+        /*[in]*/ VARIANT_BOOL DocDefault,
+        /*[in]*/ VARIANT_BOOL SummarizeGroup,
+        /*[out,retval]*/ struct IVGDataField * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddEx (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrDataType DataType,
+        /*[in]*/ BSTR DefaultValue,
+        /*[in]*/ BSTR Constraint,
+        /*[in]*/ BSTR Target,
+        /*[in]*/ BSTR Format,
+        /*[in]*/ VARIANT_BOOL AppDefault,
+        /*[in]*/ VARIANT_BOOL DocDefault,
+        /*[in]*/ VARIANT_BOOL SummarizeGroup,
+        /*[in]*/ long FieldWidth,
+        /*[out,retval]*/ struct IVGDataField * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_IsPresent (
+        /*[in]*/ BSTR FieldName,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddEx2 (
+        /*[in]*/ BSTR ParentName,
+        /*[in]*/ BSTR ElementName,
+        /*[in]*/ BSTR Name,
+        /*[in]*/ enum cdrDataType DataType,
+        /*[in]*/ BSTR DefaultValue,
+        /*[in]*/ BSTR Constraint,
+        /*[in]*/ BSTR Target,
+        /*[in]*/ BSTR Format,
+        /*[in]*/ VARIANT_BOOL AppDefault,
+        /*[in]*/ VARIANT_BOOL DocDefault,
+        /*[in]*/ VARIANT_BOOL SummarizeGroup,
+        /*[in]*/ long FieldWidth,
+        /*[out,retval]*/ struct IVGDataField * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058006c-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSymbol : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetDefinition))
+    IVGSymbolDefinitionPtr Definition;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGSymbolDefinitionPtr GetDefinition ( );
+    IVGShapeRangePtr RevertToShapes ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Definition (
+        /*[out,retval]*/ struct IVGSymbolDefinition * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_RevertToShapes (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058006d-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSymbolDefinition : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetDescription,put=PutDescription))
+    _bstr_t Description;
+    __declspec(property(get=GetLinked))
+    VARIANT_BOOL Linked;
+    __declspec(property(get=GetLinkLibraryPath))
+    _bstr_t LinkLibraryPath;
+    __declspec(property(get=GetNested))
+    VARIANT_BOOL Nested;
+    __declspec(property(get=GetHasLinks))
+    VARIANT_BOOL HasLinks;
+    __declspec(property(get=GetIsLinkBroken))
+    VARIANT_BOOL IsLinkBroken;
+    __declspec(property(get=GetIsLinkUpdated))
+    VARIANT_BOOL IsLinkUpdated;
+    __declspec(property(get=GetHasBrokenLinks))
+    VARIANT_BOOL HasBrokenLinks;
+    __declspec(property(get=GetHasUpdatedLinks))
+    VARIANT_BOOL HasUpdatedLinks;
+    __declspec(property(get=GetNestedSymbols))
+    IVGSymbolDefinitionsPtr NestedSymbols;
+    __declspec(property(get=GetEditable))
+    VARIANT_BOOL Editable;
+    __declspec(property(get=GetInstanceCount))
+    long InstanceCount;
+    __declspec(property(get=GetInstances))
+    IVGShapeRangePtr Instances;
+    __declspec(property(get=GetType))
+    enum cdrSymbolType Type;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    _bstr_t GetDescription ( );
+    void PutDescription (
+        _bstr_t pVal );
+    VARIANT_BOOL GetLinked ( );
+    _bstr_t GetLinkLibraryPath ( );
+    VARIANT_BOOL GetNested ( );
+    VARIANT_BOOL GetHasLinks ( );
+    VARIANT_BOOL GetIsLinkBroken ( );
+    VARIANT_BOOL GetIsLinkUpdated ( );
+    VARIANT_BOOL GetHasBrokenLinks ( );
+    VARIANT_BOOL GetHasUpdatedLinks ( );
+    IVGSymbolDefinitionsPtr GetNestedSymbols ( );
+    VARIANT_BOOL GetEditable ( );
+    long GetInstanceCount ( );
+    IVGShapeRangePtr GetInstances ( );
+    HRESULT EnterEditMode ( );
+    HRESULT LeaveEditMode ( );
+    HRESULT Delete ( );
+    HRESULT Copy ( );
+    IVGSymbolDefinitionPtr Duplicate (
+        _bstr_t Name );
+    HRESULT BreakLink ( );
+    HRESULT UpdateLinks ( );
+    HRESULT FixLink (
+        _bstr_t LibraryPath );
+    enum cdrSymbolType GetType ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Description (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Description (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Linked (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_LinkLibraryPath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Nested (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasLinks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsLinkBroken (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_IsLinkUpdated (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasBrokenLinks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_HasUpdatedLinks (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_NestedSymbols (
+        /*[out,retval]*/ struct IVGSymbolDefinitions * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Editable (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_InstanceCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Instances (
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_EnterEditMode ( ) = 0;
+      virtual HRESULT __stdcall raw_LeaveEditMode ( ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Copy ( ) = 0;
+      virtual HRESULT __stdcall raw_Duplicate (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGSymbolDefinition * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_BreakLink ( ) = 0;
+      virtual HRESULT __stdcall raw_UpdateLinks ( ) = 0;
+      virtual HRESULT __stdcall raw_FixLink (
+        /*[in]*/ BSTR LibraryPath ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrSymbolType * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058006e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSymbolDefinitions : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGSymbolDefinitionPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGSymbolDefinitionPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGSymbolDefinition * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580070-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSymbolLibrary : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetSymbols))
+    IVGSymbolDefinitionsPtr Symbols;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetFilePath))
+    _bstr_t FilePath;
+    __declspec(property(get=GetReadOnly))
+    VARIANT_BOOL ReadOnly;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGSymbolDefinitionsPtr GetSymbols ( );
+    _bstr_t GetName ( );
+    _bstr_t GetFilePath ( );
+    VARIANT_BOOL GetReadOnly ( );
+    HRESULT Delete ( );
+    HRESULT PurgeUnusedSymbols ( );
+    IVGSymbolDefinitionPtr Paste (
+        _bstr_t Name );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Symbols (
+        /*[out,retval]*/ struct IVGSymbolDefinitions * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_FilePath (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_ReadOnly (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_PurgeUnusedSymbols ( ) = 0;
+      virtual HRESULT __stdcall raw_Paste (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGSymbolDefinition * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058006f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSymbolLibraries : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGSymbolLibraryPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGSymbolLibraryPtr GetItem (
+        const _variant_t & IndexOrName );
+    long GetCount ( );
+    IVGSymbolLibraryPtr Add (
+        _bstr_t FileName,
+        VARIANT_BOOL CopyLocally );
+    long AddFromFolder (
+        _bstr_t Folder,
+        VARIANT_BOOL Recursive,
+        VARIANT_BOOL CopyLocally );
+    IUnknownPtr Get_NewEnum ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGSymbolLibrary * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ BSTR FileName,
+        /*[in]*/ VARIANT_BOOL CopyLocally,
+        /*[out,retval]*/ struct IVGSymbolLibrary * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_AddFromFolder (
+        /*[in]*/ BSTR Folder,
+        /*[in]*/ VARIANT_BOOL Recursive,
+        /*[in]*/ VARIANT_BOOL CopyLocally,
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+};
+
+struct __declspec(uuid("b058008f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTreeNode : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetType))
+    enum cdrTreeNodeType Type;
+    __declspec(property(get=GetShapeType))
+    enum cdrShapeType ShapeType;
+    __declspec(property(get=GetShape))
+    IVGShapePtr Shape;
+    __declspec(property(get=GetVirtualShape))
+    IVGShapePtr VirtualShape;
+    __declspec(property(get=GetPage))
+    IVGPagePtr Page;
+    __declspec(property(get=GetLayer))
+    IVGLayerPtr Layer;
+    __declspec(property(get=GetDocument))
+    IVGDocumentPtr Document;
+    __declspec(property(get=GetNext))
+    IVGTreeNodePtr Next;
+    __declspec(property(get=GetPrevious))
+    IVGTreeNodePtr Previous;
+    __declspec(property(get=GetParent))
+    IVGTreeNodePtr Parent;
+    __declspec(property(get=GetFirstChild))
+    IVGTreeNodePtr FirstChild;
+    __declspec(property(get=GetLastChild))
+    IVGTreeNodePtr LastChild;
+    __declspec(property(get=GetChildren))
+    IVGTreeNodesPtr Children;
+    __declspec(property(get=GetIsGroupChild))
+    VARIANT_BOOL IsGroupChild;
+    __declspec(property(get=GetSelected))
+    VARIANT_BOOL Selected;
+    __declspec(property(get=GetNextSelected))
+    IVGTreeNodePtr NextSelected;
+    __declspec(property(get=GetHandle))
+    long Handle;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    enum cdrTreeNodeType GetType ( );
+    enum cdrShapeType GetShapeType ( );
+    IVGShapePtr GetShape ( );
+    IVGShapePtr GetVirtualShape ( );
+    IVGPagePtr GetPage ( );
+    IVGLayerPtr GetLayer ( );
+    IVGDocumentPtr GetDocument ( );
+    IVGTreeNodePtr GetNext ( );
+    IVGTreeNodePtr GetPrevious ( );
+    IVGTreeNodePtr GetParent ( );
+    IVGTreeNodePtr GetFirstChild ( );
+    IVGTreeNodePtr GetLastChild ( );
+    IVGTreeNodesPtr GetChildren ( );
+    VARIANT_BOOL GetIsGroupChild ( );
+    VARIANT_BOOL GetSelected ( );
+    IVGTreeNodePtr GetNextSelected ( );
+    VARIANT_BOOL UnLink ( );
+    VARIANT_BOOL LinkBefore (
+        struct IVGTreeNode * TreeNode );
+    VARIANT_BOOL LinkAfter (
+        struct IVGTreeNode * TreeNode );
+    VARIANT_BOOL LinkAsChildOf (
+        struct IVGTreeNode * TreeNode );
+    VARIANT_BOOL MoveToFirst ( );
+    VARIANT_BOOL MoveToLast ( );
+    VARIANT_BOOL MoveBefore (
+        struct IVGTreeNode * TreeNode );
+    VARIANT_BOOL MoveAfter (
+        struct IVGTreeNode * TreeNode );
+    VARIANT_BOOL IsDescendentOf (
+        struct IVGTreeNode * TreeNode );
+    HRESULT Delete ( );
+    IVGTreeNodePtr GetCopy ( );
+    HRESULT SwapData (
+        struct IVGTreeNode * TreeNode );
+    HRESULT SwapGroupData (
+        struct IVGTreeNode * GroupNode );
+    long GetHandle ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrTreeNodeType * pVal ) = 0;
+      virtual HRESULT __stdcall get_ShapeType (
+        /*[out,retval]*/ enum cdrShapeType * pVal ) = 0;
+      virtual HRESULT __stdcall get_Shape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_VirtualShape (
+        /*[out,retval]*/ struct IVGShape * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Page (
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Layer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Document (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Next (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Previous (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_FirstChild (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_LastChild (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Children (
+        /*[out,retval]*/ struct IVGTreeNodes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_IsGroupChild (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Selected (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_NextSelected (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_UnLink (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_LinkBefore (
+        /*[in]*/ struct IVGTreeNode * TreeNode,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_LinkAfter (
+        /*[in]*/ struct IVGTreeNode * TreeNode,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_LinkAsChildOf (
+        /*[in]*/ struct IVGTreeNode * TreeNode,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MoveToFirst (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MoveToLast (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MoveBefore (
+        /*[in]*/ struct IVGTreeNode * TreeNode,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_MoveAfter (
+        /*[in]*/ struct IVGTreeNode * TreeNode,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_IsDescendentOf (
+        /*[in]*/ struct IVGTreeNode * TreeNode,
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_GetCopy (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_SwapData (
+        /*[in]*/ struct IVGTreeNode * TreeNode ) = 0;
+      virtual HRESULT __stdcall raw_SwapGroupData (
+        /*[in]*/ struct IVGTreeNode * GroupNode ) = 0;
+      virtual HRESULT __stdcall get_Handle (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580090-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTreeNodes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGTreeNodePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGTreeNodePtr GetItem (
+        long Index );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a5-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSpread : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetSizeWidth))
+    double SizeWidth;
+    __declspec(property(get=GetSizeHeight))
+    double SizeHeight;
+    __declspec(property(get=GetLeftX))
+    double LeftX;
+    __declspec(property(get=GetRightX))
+    double RightX;
+    __declspec(property(get=GetTopY))
+    double TopY;
+    __declspec(property(get=GetBottomY))
+    double BottomY;
+    __declspec(property(get=GetCenterX))
+    double CenterX;
+    __declspec(property(get=GetCenterY))
+    double CenterY;
+    __declspec(property(get=GetBoundingBox))
+    IVGRectPtr BoundingBox;
+    __declspec(property(get=GetPages))
+    IVGPagesPtr Pages;
+    __declspec(property(get=GetNext))
+    IVGSpreadPtr Next;
+    __declspec(property(get=GetPrevious))
+    IVGSpreadPtr Previous;
+    __declspec(property(get=GetLayers))
+    IVGLayersPtr Layers;
+    __declspec(property(get=GetAllLayers))
+    IVGLayersPtr AllLayers;
+    __declspec(property(get=GetActiveLayer))
+    IVGLayerPtr ActiveLayer;
+    __declspec(property(get=GetShapes))
+    IVGShapesPtr Shapes;
+    __declspec(property(get=GetSelectableShapes))
+    IVGShapesPtr SelectableShapes;
+    __declspec(property(get=GetGuides))
+    IVGShapeRangePtr Guides[];
+    __declspec(property(get=GetTreeNode))
+    IVGTreeNodePtr TreeNode;
+    __declspec(property(get=GetGuidesLayer))
+    IVGLayerPtr GuidesLayer;
+    __declspec(property(get=GetDesktopLayer))
+    IVGLayerPtr DesktopLayer;
+    __declspec(property(get=GetGridLayer))
+    IVGLayerPtr GridLayer;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    long GetIndex ( );
+    double GetSizeWidth ( );
+    double GetSizeHeight ( );
+    double GetLeftX ( );
+    double GetRightX ( );
+    double GetTopY ( );
+    double GetBottomY ( );
+    double GetCenterX ( );
+    double GetCenterY ( );
+    IVGRectPtr GetBoundingBox ( );
+    HRESULT GetBoundingBox (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    IVGPagesPtr GetPages ( );
+    IVGSpreadPtr GetNext ( );
+    IVGSpreadPtr GetPrevious ( );
+    IVGLayersPtr GetLayers ( );
+    IVGLayersPtr GetAllLayers ( );
+    IVGLayerPtr GetActiveLayer ( );
+    IVGShapesPtr GetShapes ( );
+    IVGShapesPtr GetSelectableShapes ( );
+    IVGLayerPtr CreateLayer (
+        _bstr_t LayerName );
+    IVGShapeRangePtr GetGuides (
+        enum cdrGuideType Type );
+    IVGTreeNodePtr GetTreeNode ( );
+    IVGLayerPtr GetGuidesLayer ( );
+    IVGLayerPtr GetDesktopLayer ( );
+    IVGLayerPtr GetGridLayer ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeWidth (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_SizeHeight (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_LeftX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_RightX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_TopY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_BottomY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_CenterY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall get_BoundingBox (
+        /*[out,retval]*/ struct IVGRect * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_GetBoundingBox (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall get_Pages (
+        /*[out,retval]*/ struct IVGPages * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Next (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Previous (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Layers (
+        /*[out,retval]*/ struct IVGLayers * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_AllLayers (
+        /*[out,retval]*/ struct IVGLayers * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ActiveLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Shapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SelectableShapes (
+        /*[out,retval]*/ struct IVGShapes * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateLayer (
+        /*[in]*/ BSTR LayerName,
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Guides (
+        /*[in]*/ enum cdrGuideType Type,
+        /*[out,retval]*/ struct IVGShapeRange * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_TreeNode (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_GuidesLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_DesktopLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_GridLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058008e-9aa4-44fd-9547-4f91eb757ac4"))
+IVGTreeManager : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetVirtualLayer))
+    IVGLayerPtr VirtualLayer;
+    __declspec(property(get=GetSelectedNodeCount))
+    long SelectedNodeCount;
+    __declspec(property(get=GetFirstSelectedNode))
+    IVGTreeNodePtr FirstSelectedNode;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGLayerPtr GetVirtualLayer ( );
+    long GetSelectedNodeCount ( );
+    IVGTreeNodePtr GetFirstSelectedNode ( );
+    IVGTreeNodePtr CreateGroupNode ( );
+    IVGTreeNodePtr CleanGroupNode (
+        struct IVGTreeNode * GroupNode );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_VirtualLayer (
+        /*[out,retval]*/ struct IVGLayer * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_SelectedNodeCount (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_FirstSelectedNode (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateGroupNode (
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CleanGroupNode (
+        /*[in]*/ struct IVGTreeNode * GroupNode,
+        /*[out,retval]*/ struct IVGTreeNode * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800a6-9aa4-44fd-9547-4f91eb757ac4"))
+IVGSpreads : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGSpreadPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGSpreadPtr First;
+    __declspec(property(get=GetLast))
+    IVGSpreadPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGSpreadPtr GetItem (
+        long Index );
+    long GetCount ( );
+    IUnknownPtr Get_NewEnum ( );
+    IVGSpreadPtr GetFirst ( );
+    IVGSpreadPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGSpread * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800e6-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPageMarkup : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetPageGuid))
+    _bstr_t PageGuid;
+    __declspec(property(get=GetThreads))
+    IVGCommentThreadsPtr Threads;
+    __declspec(property(get=GetPage))
+    IVGPagePtr Page;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    _bstr_t GetPageGuid ( );
+    IVGCommentThreadsPtr GetThreads ( );
+    IVGPagePtr GetPage ( );
+    IVGCommentPtr CreateHotspot (
+        _bstr_t Text,
+        double x,
+        double y,
+        struct IVGCommentAuthor * Author );
+    IVGCommentPtr CreateRectangle (
+        _bstr_t Text,
+        double x,
+        double y,
+        double Width,
+        double Height,
+        long OutlineWidth,
+        struct IVGColor * FillColor,
+        struct IVGColor * OutlineColor,
+        struct IVGCommentAuthor * Author );
+    IVGCommentPtr CreateEllipse (
+        _bstr_t Text,
+        double x,
+        double y,
+        double RadiusX,
+        double RadiusY,
+        long OutlineWidth,
+        struct IVGColor * FillColor,
+        struct IVGColor * OutlineColor,
+        struct IVGCommentAuthor * Author );
+    IVGCommentPtr CreateArrow (
+        _bstr_t Text,
+        double x,
+        double y,
+        double VectorX,
+        double VectorY,
+        long OutlineWidth,
+        struct IVGColor * OutlineColor,
+        struct IVGCommentAuthor * Author );
+    IVGCommentPtr CreateFreehand (
+        _bstr_t Text,
+        struct IVGCurve * Curve,
+        long OutlineWidth,
+        struct IVGColor * OutlineColor,
+        struct IVGCommentAuthor * Author );
+    IVGCommentPtr CreateHighlight (
+        _bstr_t Text,
+        struct IVGCurve * Curve,
+        long OutlineWidth,
+        struct IVGColor * OutlineColor,
+        struct IVGCommentAuthor * Author );
+    IVGCommentPtr CreateCollaborativeText (
+        _bstr_t Text,
+        struct IVGShape * Shape,
+        struct IVGColor * OutlineColor,
+        struct IVGCommentAuthor * Author );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_PageGuid (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall get_Threads (
+        /*[out,retval]*/ struct IVGCommentThreads * * pRet ) = 0;
+      virtual HRESULT __stdcall get_Page (
+        /*[out,retval]*/ struct IVGPage * * pRet ) = 0;
+      virtual HRESULT __stdcall raw_CreateHotspot (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateRectangle (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[in]*/ long OutlineWidth,
+        /*[in]*/ struct IVGColor * FillColor,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateEllipse (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double RadiusX,
+        /*[in]*/ double RadiusY,
+        /*[in]*/ long OutlineWidth,
+        /*[in]*/ struct IVGColor * FillColor,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateArrow (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double VectorX,
+        /*[in]*/ double VectorY,
+        /*[in]*/ long OutlineWidth,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateFreehand (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[in]*/ long OutlineWidth,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateHighlight (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ struct IVGCurve * Curve,
+        /*[in]*/ long OutlineWidth,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_CreateCollaborativeText (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ struct IVGShape * Shape,
+        /*[in]*/ struct IVGColor * OutlineColor,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800ec-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCommentThreads : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGCommentThreadPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGCommentThreadPtr First;
+    __declspec(property(get=GetLast))
+    IVGCommentThreadPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGCommentThreadPtr GetItem (
+        const _variant_t & IndexOrGuid );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGCommentThreadPtr GetFirst ( );
+    IVGCommentThreadPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrGuid,
+        /*[out,retval]*/ struct IVGCommentThread * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGCommentThread * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGCommentThread * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800e7-9aa4-44fd-9547-4f91eb757ac4"))
+IVGCommentThread : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetTarget))
+    IVGCommentTargetPtr Target;
+    __declspec(property(get=GetComments))
+    IVGCommentsPtr Comments;
+    __declspec(property(get=GetStatus))
+    enum cdrCommentStatus Status;
+    __declspec(property(get=GetPageMarkup))
+    IVGPageMarkupPtr PageMarkup;
+    __declspec(property(get=GetAnnotation))
+    IVGCommentAnnotationPtr Annotation;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGCommentTargetPtr GetTarget ( );
+    IVGCommentsPtr GetComments ( );
+    enum cdrCommentStatus GetStatus ( );
+    IVGCommentPtr Reply (
+        _bstr_t Text,
+        struct IVGCommentAuthor * Author );
+    HRESULT Resolve (
+        struct IVGCommentAuthor * Author );
+    HRESULT Reopen (
+        struct IVGCommentAuthor * Author );
+    HRESULT Delete ( );
+    IVGPageMarkupPtr GetPageMarkup ( );
+    IVGCommentAnnotationPtr GetAnnotation ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Target (
+        /*[out,retval]*/ struct IVGCommentTarget * * pRet ) = 0;
+      virtual HRESULT __stdcall get_Comments (
+        /*[out,retval]*/ struct IVGComments * * pRet ) = 0;
+      virtual HRESULT __stdcall get_Status (
+        /*[out,retval]*/ enum cdrCommentStatus * pRet ) = 0;
+      virtual HRESULT __stdcall raw_Reply (
+        /*[in]*/ BSTR Text,
+        /*[in]*/ struct IVGCommentAuthor * Author,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Resolve (
+        /*[in]*/ struct IVGCommentAuthor * Author ) = 0;
+      virtual HRESULT __stdcall raw_Reopen (
+        /*[in]*/ struct IVGCommentAuthor * Author ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall get_PageMarkup (
+        /*[out,retval]*/ struct IVGPageMarkup * * pRet ) = 0;
+      virtual HRESULT __stdcall get_Annotation (
+        /*[out,retval]*/ struct IVGCommentAnnotation * * pRet ) = 0;
+};
+
+struct __declspec(uuid("b05800e9-9aa4-44fd-9547-4f91eb757ac4"))
+IVGComment : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetText,put=PutText))
+    _bstr_t Text;
+    __declspec(property(get=GetCreationTime,put=PutCreationTime))
+    DATE CreationTime;
+    __declspec(property(get=GetModificationTime,put=PutModificationTime))
+    DATE ModificationTime;
+    __declspec(property(get=GetGuid))
+    _bstr_t Guid;
+    __declspec(property(get=GetThread))
+    IVGCommentThreadPtr Thread;
+    __declspec(property(get=GetOnlineID,put=PutOnlineID))
+    _bstr_t OnlineID;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGCommentAuthorPtr GetAuthor ( );
+    void PutRefAuthor (
+        struct IVGCommentAuthor * * pRet );
+    _bstr_t GetText ( );
+    void PutText (
+        _bstr_t pRet );
+    DATE GetCreationTime ( );
+    void PutCreationTime (
+        DATE pRet );
+    DATE GetModificationTime ( );
+    void PutModificationTime (
+        DATE pRet );
+    _bstr_t GetGuid ( );
+    IVGCommentThreadPtr GetThread ( );
+    _bstr_t GetOnlineID ( );
+    void PutOnlineID (
+        _bstr_t pRet );
+    HRESULT Delete ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Author (
+        /*[out,retval]*/ struct IVGCommentAuthor * * pRet ) = 0;
+      virtual HRESULT __stdcall putref_Author (
+        /*[in]*/ struct IVGCommentAuthor * * pRet ) = 0;
+      virtual HRESULT __stdcall get_Text (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall put_Text (
+        /*[in]*/ BSTR pRet ) = 0;
+      virtual HRESULT __stdcall get_CreationTime (
+        /*[out,retval]*/ DATE * pRet ) = 0;
+      virtual HRESULT __stdcall put_CreationTime (
+        /*[in]*/ DATE pRet ) = 0;
+      virtual HRESULT __stdcall get_ModificationTime (
+        /*[out,retval]*/ DATE * pRet ) = 0;
+      virtual HRESULT __stdcall put_ModificationTime (
+        /*[in]*/ DATE pRet ) = 0;
+      virtual HRESULT __stdcall get_Guid (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall get_Thread (
+        /*[out,retval]*/ struct IVGCommentThread * * pRet ) = 0;
+      virtual HRESULT __stdcall get_OnlineID (
+        /*[out,retval]*/ BSTR * pRet ) = 0;
+      virtual HRESULT __stdcall put_OnlineID (
+        /*[in]*/ BSTR pRet ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+};
+
+struct __declspec(uuid("b05800e4-9aa4-44fd-9547-4f91eb757ac4"))
+IVGComments : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGCommentPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetFirst))
+    IVGCommentPtr First;
+    __declspec(property(get=GetLast))
+    IVGCommentPtr Last;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGCommentPtr GetItem (
+        const _variant_t & IndexOrGuid );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGCommentPtr GetFirst ( );
+    IVGCommentPtr GetLast ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrGuid,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_First (
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Last (
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b05800e0-9aa4-44fd-9547-4f91eb757ac4"))
+IVGDocumentMarkup : IDispatch
+{
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGCommentPtr FindComment (
+        _bstr_t Guid );
+    IVGCommentThreadPtr FindThread (
+        _bstr_t Guid );
+    IVGPagePtr FindPage (
+        _bstr_t Guid );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_FindComment (
+        /*[in]*/ BSTR Guid,
+        /*[out,retval]*/ struct IVGComment * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindThread (
+        /*[in]*/ BSTR Guid,
+        /*[out,retval]*/ struct IVGCommentThread * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_FindPage (
+        /*[in]*/ BSTR Guid,
+        /*[out,retval]*/ struct IVGPage * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b0580081-9aa4-44fd-9547-4f91eb757ac4"))
+IVGWindow : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IVGWindowsPtr Parent;
+    __declspec(property(get=GetFullScreen,put=PutFullScreen))
+    VARIANT_BOOL FullScreen;
+    __declspec(property(get=GetPage))
+    IDispatchPtr Page;
+    __declspec(property(get=GetActive))
+    VARIANT_BOOL Active;
+    __declspec(property(get=GetCaption))
+    _bstr_t Caption;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    long Height;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    long Width;
+    __declspec(property(get=GetLeft,put=PutLeft))
+    long Left;
+    __declspec(property(get=GetTop,put=PutTop))
+    long Top;
+    __declspec(property(get=GetWindowState,put=PutWindowState))
+    enum cdrWindowState WindowState;
+    __declspec(property(get=GetPrevious))
+    IVGWindowPtr Previous;
+    __declspec(property(get=GetNext))
+    IVGWindowPtr Next;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetDocument))
+    IVGDocumentPtr Document;
+    __declspec(property(get=GetActiveView))
+    IVGActiveViewPtr ActiveView;
+    __declspec(property(get=GetHandle))
+    long Handle;
+    __declspec(property(get=GetViewWindow))
+    ICUIViewWindowPtr ViewWindow;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IVGWindowsPtr GetParent ( );
+    HRESULT Activate ( );
+    HRESULT Close ( );
+    VARIANT_BOOL GetFullScreen ( );
+    void PutFullScreen (
+        VARIANT_BOOL FullScreen );
+    IDispatchPtr GetPage ( );
+    VARIANT_BOOL GetActive ( );
+    _bstr_t GetCaption ( );
+    long GetHeight ( );
+    void PutHeight (
+        long pVal );
+    long GetWidth ( );
+    void PutWidth (
+        long pVal );
+    long GetLeft ( );
+    void PutLeft (
+        long pVal );
+    long GetTop ( );
+    void PutTop (
+        long pVal );
+    enum cdrWindowState GetWindowState ( );
+    void PutWindowState (
+        enum cdrWindowState pVal );
+    IVGWindowPtr GetPrevious ( );
+    IVGWindowPtr GetNext ( );
+    long GetIndex ( );
+    IVGWindowPtr NewWindow ( );
+    HRESULT Refresh ( );
+    IVGDocumentPtr GetDocument ( );
+    IVGActiveViewPtr GetActiveView ( );
+    HRESULT ScreenToDocument (
+        long XScreen,
+        long YScreen,
+        double * XDoc,
+        double * YDoc );
+    HRESULT DocumentToScreen (
+        double XDoc,
+        double YDoc,
+        long * XScreen,
+        long * YScreen );
+    long GetHandle ( );
+    ICUIViewWindowPtr GetViewWindow ( );
+    double ScreenDistanceToDocumentDistance (
+        double ScreenDistance );
+    double DocumentDistanceToScreenDistance (
+        double DocumentDistance );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGWindows * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall raw_Close ( ) = 0;
+      virtual HRESULT __stdcall get_FullScreen (
+        /*[out,retval]*/ VARIANT_BOOL * FullScreen ) = 0;
+      virtual HRESULT __stdcall put_FullScreen (
+        /*[in]*/ VARIANT_BOOL FullScreen ) = 0;
+      virtual HRESULT __stdcall get_Page (
+        /*[out,retval]*/ IDispatch * * Page ) = 0;
+      virtual HRESULT __stdcall get_Active (
+        /*[out,retval]*/ VARIANT_BOOL * pActive ) = 0;
+      virtual HRESULT __stdcall get_Caption (
+        /*[out,retval]*/ BSTR * pbstrName ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Left (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Left (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_Top (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall put_Top (
+        /*[in]*/ long pVal ) = 0;
+      virtual HRESULT __stdcall get_WindowState (
+        /*[out,retval]*/ enum cdrWindowState * pVal ) = 0;
+      virtual HRESULT __stdcall put_WindowState (
+        /*[in]*/ enum cdrWindowState pVal ) = 0;
+      virtual HRESULT __stdcall get_Previous (
+        /*[out,retval]*/ struct IVGWindow * * pWindow ) = 0;
+      virtual HRESULT __stdcall get_Next (
+        /*[out,retval]*/ struct IVGWindow * * pWindow ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_NewWindow (
+        /*[out,retval]*/ struct IVGWindow * * pWindow ) = 0;
+      virtual HRESULT __stdcall raw_Refresh ( ) = 0;
+      virtual HRESULT __stdcall get_Document (
+        /*[out,retval]*/ struct IVGDocument * * pDoc ) = 0;
+      virtual HRESULT __stdcall get_ActiveView (
+        /*[out,retval]*/ struct IVGActiveView * * pActiveView ) = 0;
+      virtual HRESULT __stdcall raw_ScreenToDocument (
+        /*[in]*/ long XScreen,
+        /*[in]*/ long YScreen,
+        /*[out]*/ double * XDoc,
+        /*[out]*/ double * YDoc ) = 0;
+      virtual HRESULT __stdcall raw_DocumentToScreen (
+        /*[in]*/ double XDoc,
+        /*[in]*/ double YDoc,
+        /*[out]*/ long * XScreen,
+        /*[out]*/ long * YScreen ) = 0;
+      virtual HRESULT __stdcall get_Handle (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_ViewWindow (
+        /*[out,retval]*/ struct ICUIViewWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall raw_ScreenDistanceToDocumentDistance (
+        /*[in]*/ double ScreenDistance,
+        /*[out,retval]*/ double * DocumentDistance ) = 0;
+      virtual HRESULT __stdcall raw_DocumentDistanceToScreenDistance (
+        /*[in]*/ double DocumentDistance,
+        /*[out,retval]*/ double * ScreenDistance ) = 0;
+};
+
+struct __declspec(uuid("b0580082-9aa4-44fd-9547-4f91eb757ac4"))
+IVGWindows : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGWindowPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    IVGWindowPtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    HRESULT CloseAll ( );
+    HRESULT Arrange (
+        enum cdrWindowArrangeStyle Style );
+    HRESULT Refresh ( );
+    IVGWindowPtr FindWindow (
+        _bstr_t Caption );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_CloseAll ( ) = 0;
+      virtual HRESULT __stdcall raw_Arrange (
+        /*[in]*/ enum cdrWindowArrangeStyle Style ) = 0;
+      virtual HRESULT __stdcall raw_Refresh ( ) = 0;
+      virtual HRESULT __stdcall raw_FindWindow (
+        /*[in]*/ BSTR Caption,
+        /*[out,retval]*/ struct IVGWindow * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058000a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGActiveView : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGWindowPtr Parent;
+    __declspec(property(get=GetType,put=PutType))
+    enum cdrViewType Type;
+    __declspec(property(get=GetOriginX,put=PutOriginX))
+    double OriginX;
+    __declspec(property(get=GetOriginY,put=PutOriginY))
+    double OriginY;
+    __declspec(property(get=GetZoom,put=PutZoom))
+    double Zoom;
+    __declspec(property(get=GetSimulateOverprints,put=PutSimulateOverprints))
+    VARIANT_BOOL SimulateOverprints;
+    __declspec(property(get=GetProofColorSettings,put=PutProofColorSettings))
+    IVGProofColorSettingsPtr ProofColorSettings;
+    __declspec(property(get=GetShowProofColors,put=PutShowProofColors))
+    VARIANT_BOOL ShowProofColors;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGWindowPtr GetParent ( );
+    enum cdrViewType GetType ( );
+    void PutType (
+        enum cdrViewType pType );
+    double GetOriginX ( );
+    void PutOriginX (
+        double pVal );
+    double GetOriginY ( );
+    void PutOriginY (
+        double pVal );
+    double GetZoom ( );
+    void PutZoom (
+        double pVal );
+    HRESULT ToFitPage ( );
+    HRESULT ToFitPageWidth ( );
+    HRESULT ToFitPageHeight ( );
+    HRESULT ToFitShape (
+        struct IVGShape * Shape );
+    HRESULT ToFitSelection ( );
+    HRESULT ToFitArea (
+        double Left,
+        double Top,
+        double Right,
+        double Bottom );
+    HRESULT ToFitAllObjects ( );
+    HRESULT ToFitShapeRange (
+        struct IVGShapeRange * ShapeRange );
+    HRESULT SetViewPoint (
+        double x,
+        double y,
+        double Zoom );
+    HRESULT SetActualSize ( );
+    HRESULT ZoomIn ( );
+    HRESULT ZoomInAtPoint (
+        double x,
+        double y );
+    HRESULT ZoomOut ( );
+    HRESULT GetViewArea (
+        double * x,
+        double * y,
+        double * Width,
+        double * Height );
+    HRESULT SetViewArea (
+        double x,
+        double y,
+        double Width,
+        double Height );
+    VARIANT_BOOL GetSimulateOverprints ( );
+    void PutSimulateOverprints (
+        VARIANT_BOOL pVal );
+    IVGProofColorSettingsPtr GetProofColorSettings ( );
+    void PutProofColorSettings (
+        struct IVGProofColorSettings * ppVal );
+    VARIANT_BOOL GetShowProofColors ( );
+    void PutShowProofColors (
+        VARIANT_BOOL pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGWindow * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Type (
+        /*[out,retval]*/ enum cdrViewType * pType ) = 0;
+      virtual HRESULT __stdcall put_Type (
+        /*[in]*/ enum cdrViewType pType ) = 0;
+      virtual HRESULT __stdcall get_OriginX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Zoom (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Zoom (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_ToFitPage ( ) = 0;
+      virtual HRESULT __stdcall raw_ToFitPageWidth ( ) = 0;
+      virtual HRESULT __stdcall raw_ToFitPageHeight ( ) = 0;
+      virtual HRESULT __stdcall raw_ToFitShape (
+        /*[in]*/ struct IVGShape * Shape ) = 0;
+      virtual HRESULT __stdcall raw_ToFitSelection ( ) = 0;
+      virtual HRESULT __stdcall raw_ToFitArea (
+        /*[in]*/ double Left,
+        /*[in]*/ double Top,
+        /*[in]*/ double Right,
+        /*[in]*/ double Bottom ) = 0;
+      virtual HRESULT __stdcall raw_ToFitAllObjects ( ) = 0;
+      virtual HRESULT __stdcall raw_ToFitShapeRange (
+        /*[in]*/ struct IVGShapeRange * ShapeRange ) = 0;
+      virtual HRESULT __stdcall raw_SetViewPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Zoom ) = 0;
+      virtual HRESULT __stdcall raw_SetActualSize ( ) = 0;
+      virtual HRESULT __stdcall raw_ZoomIn ( ) = 0;
+      virtual HRESULT __stdcall raw_ZoomInAtPoint (
+        /*[in]*/ double x,
+        /*[in]*/ double y ) = 0;
+      virtual HRESULT __stdcall raw_ZoomOut ( ) = 0;
+      virtual HRESULT __stdcall raw_GetViewArea (
+        /*[out]*/ double * x,
+        /*[out]*/ double * y,
+        /*[out]*/ double * Width,
+        /*[out]*/ double * Height ) = 0;
+      virtual HRESULT __stdcall raw_SetViewArea (
+        /*[in]*/ double x,
+        /*[in]*/ double y,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height ) = 0;
+      virtual HRESULT __stdcall get_SimulateOverprints (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_SimulateOverprints (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_ProofColorSettings (
+        /*[out,retval]*/ struct IVGProofColorSettings * * ppVal ) = 0;
+      virtual HRESULT __stdcall put_ProofColorSettings (
+        /*[in]*/ struct IVGProofColorSettings * ppVal ) = 0;
+      virtual HRESULT __stdcall get_ShowProofColors (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_ShowProofColors (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580083-9aa4-44fd-9547-4f91eb757ac4"))
+IVGWorkspace : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IVGWorkspacesPtr Parent;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetDescription))
+    _bstr_t Description;
+    __declspec(property(get=GetDefault))
+    VARIANT_BOOL Default;
+    __declspec(property(get=GetActive))
+    VARIANT_BOOL Active;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IVGWorkspacesPtr GetParent ( );
+    _bstr_t GetName ( );
+    _bstr_t GetDescription ( );
+    VARIANT_BOOL GetDefault ( );
+    HRESULT Activate ( );
+    VARIANT_BOOL GetActive ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGWorkspaces * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * Name ) = 0;
+      virtual HRESULT __stdcall get_Description (
+        /*[out,retval]*/ BSTR * Description ) = 0;
+      virtual HRESULT __stdcall get_Default (
+        /*[out,retval]*/ VARIANT_BOOL * Default ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall get_Active (
+        /*[out,retval]*/ VARIANT_BOOL * Current ) = 0;
+};
+
+struct __declspec(uuid("b0580084-9aa4-44fd-9547-4f91eb757ac4"))
+IVGWorkspaces : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGWorkspacePtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    IVGWorkspacePtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGWorkspace * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580056-9aa4-44fd-9547-4f91eb757ac4"))
+IVGRecentFiles : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetItem))
+    IVGRecentFilePtr Item[];
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IDispatchPtr Parent;
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetMaximum))
+    long Maximum;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGRecentFilePtr Add (
+        _bstr_t Name,
+        _bstr_t Path );
+    IDispatchPtr GetApplication ( );
+    IDispatchPtr GetParent ( );
+    IVGRecentFilePtr GetItem (
+        long Index );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    long GetMaximum ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ BSTR Path,
+        /*[out,retval]*/ struct IVGRecentFile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ long Index,
+        /*[out,retval]*/ struct IVGRecentFile * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Maximum (
+        /*[out,retval]*/ long * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580055-9aa4-44fd-9547-4f91eb757ac4"))
+IVGRecentFile : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IDispatchPtr Application;
+    __declspec(property(get=GetParent))
+    IVGRecentFilesPtr Parent;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetPath,put=PutPath))
+    _bstr_t Path;
+    __declspec(property(get=GetFullName,put=PutFullName))
+    _bstr_t FullName;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    HRESULT Delete ( );
+    IDispatchPtr Open ( );
+    IDispatchPtr GetApplication ( );
+    IVGRecentFilesPtr GetParent ( );
+    long GetIndex ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t pVal );
+    _bstr_t GetPath ( );
+    void PutPath (
+        _bstr_t pVal );
+    _bstr_t GetFullName ( );
+    void PutFullName (
+        _bstr_t pVal );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall raw_Open (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ IDispatch * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGRecentFiles * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_Path (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_Path (
+        /*[in]*/ BSTR pVal ) = 0;
+      virtual HRESULT __stdcall get_FullName (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall put_FullName (
+        /*[in]*/ BSTR pVal ) = 0;
+};
+
+struct __declspec(uuid("b058004b-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPageSizes : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetParent))
+    IVGApplicationPtr Parent;
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=GetItem))
+    IVGPageSizePtr Item[];
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetParent ( );
+    long GetCount ( );
+    IVGPageSizePtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    IVGPageSizePtr Add (
+        _bstr_t Name,
+        double Width,
+        double Height );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGPageSize * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Add (
+        /*[in]*/ BSTR Name,
+        /*[in]*/ double Width,
+        /*[in]*/ double Height,
+        /*[out,retval]*/ struct IVGPageSize * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058004a-9aa4-44fd-9547-4f91eb757ac4"))
+IVGPageSize : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetParent))
+    IVGPageSizesPtr Parent;
+    __declspec(property(get=GetBuiltIn))
+    VARIANT_BOOL BuiltIn;
+    __declspec(property(get=GetName))
+    _bstr_t Name;
+    __declspec(property(get=GetWidth,put=PutWidth))
+    double Width;
+    __declspec(property(get=GetHeight,put=PutHeight))
+    double Height;
+    __declspec(property(get=GetIndex))
+    long Index;
+    __declspec(property(get=GetFixedOrientation))
+    VARIANT_BOOL FixedOrientation;
+    __declspec(property(get=GetDefaultUnit))
+    enum cdrUnit DefaultUnit;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGPageSizesPtr GetParent ( );
+    VARIANT_BOOL GetBuiltIn ( );
+    _bstr_t GetName ( );
+    double GetWidth ( );
+    void PutWidth (
+        double pVal );
+    double GetHeight ( );
+    void PutHeight (
+        double pVal );
+    long GetIndex ( );
+    HRESULT Delete ( );
+    VARIANT_BOOL GetFixedOrientation ( );
+    enum cdrUnit GetDefaultUnit ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGPageSizes * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_BuiltIn (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * pVal ) = 0;
+      virtual HRESULT __stdcall get_Width (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Width (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Height (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Height (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_Index (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+      virtual HRESULT __stdcall get_FixedOrientation (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall get_DefaultUnit (
+        /*[out,retval]*/ enum cdrUnit * pVal ) = 0;
+};
+
+struct __declspec(uuid("b0580080-9aa4-44fd-9547-4f91eb757ac4"))
+IVGViews : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGDocumentPtr Parent;
+    __declspec(property(get=GetItem))
+    IVGViewPtr Item[];
+    __declspec(property(get=GetCount))
+    long Count;
+    __declspec(property(get=Get_NewEnum))
+    IUnknownPtr _NewEnum;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGDocumentPtr GetParent ( );
+    IVGViewPtr GetItem (
+        const _variant_t & IndexOrName );
+    IUnknownPtr Get_NewEnum ( );
+    long GetCount ( );
+    IVGViewPtr AddActiveView (
+        _bstr_t Name );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGDocument * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Item (
+        /*[in]*/ VARIANT IndexOrName,
+        /*[out,retval]*/ struct IVGView * * ppVal ) = 0;
+      virtual HRESULT __stdcall get__NewEnum (
+        /*[out,retval]*/ IUnknown * * pVal ) = 0;
+      virtual HRESULT __stdcall get_Count (
+        /*[out,retval]*/ long * pVal ) = 0;
+      virtual HRESULT __stdcall raw_AddActiveView (
+        /*[in]*/ BSTR Name,
+        /*[out,retval]*/ struct IVGView * * ppVal ) = 0;
+};
+
+struct __declspec(uuid("b058007f-9aa4-44fd-9547-4f91eb757ac4"))
+IVGView : IDispatch
+{
+    //
+    // Property data
+    //
+
+    __declspec(property(get=GetApplication))
+    IVGApplicationPtr Application;
+    __declspec(property(get=GetParent))
+    IVGViewsPtr Parent;
+    __declspec(property(get=GetName,put=PutName))
+    _bstr_t Name;
+    __declspec(property(get=GetOriginX,put=PutOriginX))
+    double OriginX;
+    __declspec(property(get=GetOriginY,put=PutOriginY))
+    double OriginY;
+    __declspec(property(get=GetUsePage,put=PutUsePage))
+    VARIANT_BOOL UsePage;
+    __declspec(property(get=GetPage,put=PutPage))
+    IVGPagePtr Page;
+    __declspec(property(get=GetUseZoom,put=PutUseZoom))
+    VARIANT_BOOL UseZoom;
+    __declspec(property(get=GetZoom,put=PutZoom))
+    double Zoom;
+
+    //
+    // Wrapper methods for error-handling
+    //
+
+    IVGApplicationPtr GetApplication ( );
+    IVGViewsPtr GetParent ( );
+    _bstr_t GetName ( );
+    void PutName (
+        _bstr_t Name );
+    double GetOriginX ( );
+    void PutOriginX (
+        double pVal );
+    double GetOriginY ( );
+    void PutOriginY (
+        double pVal );
+    VARIANT_BOOL GetUsePage ( );
+    void PutUsePage (
+        VARIANT_BOOL pVal );
+    IVGPagePtr GetPage ( );
+    void PutPage (
+        struct IVGPage * Page );
+    VARIANT_BOOL GetUseZoom ( );
+    void PutUseZoom (
+        VARIANT_BOOL pVal );
+    double GetZoom ( );
+    void PutZoom (
+        double pVal );
+    HRESULT Activate ( );
+    HRESULT Delete ( );
+
+    //
+    // Raw methods provided by interface
+    //
+
+      virtual HRESULT __stdcall get_Application (
+        /*[out,retval]*/ struct IVGApplication * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Parent (
+        /*[out,retval]*/ struct IVGViews * * ppVal ) = 0;
+      virtual HRESULT __stdcall get_Name (
+        /*[out,retval]*/ BSTR * Name ) = 0;
+      virtual HRESULT __stdcall put_Name (
+        /*[in]*/ BSTR Name ) = 0;
+      virtual HRESULT __stdcall get_OriginX (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginX (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_OriginY (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_OriginY (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall get_UsePage (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UsePage (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Page (
+        /*[out,retval]*/ struct IVGPage * * Page ) = 0;
+      virtual HRESULT __stdcall put_Page (
+        /*[in]*/ struct IVGPage * Page ) = 0;
+      virtual HRESULT __stdcall get_UseZoom (
+        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
+      virtual HRESULT __stdcall put_UseZoom (
+        /*[in]*/ VARIANT_BOOL pVal ) = 0;
+      virtual HRESULT __stdcall get_Zoom (
+        /*[out,retval]*/ double * pVal ) = 0;
+      virtual HRESULT __stdcall put_Zoom (
+        /*[in]*/ double pVal ) = 0;
+      virtual HRESULT __stdcall raw_Activate ( ) = 0;
+      virtual HRESULT __stdcall raw_Delete ( ) = 0;
+};
+
+//
+// Function implementation mapping
+//
+
+#pragma start_map_region("R:\lycpg64\obj\Release\vgcoreauto.tli")
+__declspec(implementation_key(1)) HRESULT ICorelImportFilter::Reset ( );
+__declspec(implementation_key(2)) HRESULT ICorelImportFilter::Finish ( );
+__declspec(implementation_key(3)) VARIANT_BOOL ICorelImportFilter::GetHasDialog ( );
+__declspec(implementation_key(4)) VARIANT_BOOL ICorelImportFilter::ShowDialog ( long hWnd );
+__declspec(implementation_key(5)) HRESULT ICorelExportFilter::Reset ( );
+__declspec(implementation_key(6)) HRESULT ICorelExportFilter::Finish ( );
+__declspec(implementation_key(7)) VARIANT_BOOL ICorelExportFilter::GetHasDialog ( );
+__declspec(implementation_key(8)) VARIANT_BOOL ICorelExportFilter::ShowDialog ( long hWnd );
+__declspec(implementation_key(9)) _variant_t ICUIControlData::GetValue ( _bstr_t PropertyName );
+__declspec(implementation_key(10)) long ICUIAutomation::GetNumItemsOnBar ( _bstr_t GuidBar );
+__declspec(implementation_key(11)) _bstr_t ICUIAutomation::GetItem ( _bstr_t GuidBar, long Index, VARIANT_BOOL * HasSubBar );
+__declspec(implementation_key(12)) long ICUIAutomation::GetItemInstanceHwnd ( _bstr_t GuidParent, _bstr_t GuidItem );
+__declspec(implementation_key(13)) VARIANT_BOOL ICUIAutomation::GetSubBar ( _bstr_t GuidBar, BSTR * GuidSubBar );
+__declspec(implementation_key(14)) VARIANT_BOOL ICUIAutomation::ShowBar ( _bstr_t GuidBar, VARIANT_BOOL Show );
+__declspec(implementation_key(15)) _bstr_t ICUIAutomation::GetCaptionText ( _bstr_t GuidItem );
+__declspec(implementation_key(16)) HRESULT ICUIAutomation::Invoke ( _bstr_t GuidItem );
+__declspec(implementation_key(17)) VARIANT_BOOL ICUIAutomation::IsEnabled ( _bstr_t GuidItem );
+__declspec(implementation_key(18)) VARIANT_BOOL ICUIAutomation::GetItemScreenRect ( _bstr_t GuidParent, _bstr_t GuidItem, long * TopLeftX, long * TopLeftY, long * Width, long * Height );
+__declspec(implementation_key(19)) HRESULT ICUIAutomation::InvokeItem ( _bstr_t GuidItem );
+__declspec(implementation_key(20)) HRESULT ICUIAutomation::InvokeDialogItem ( _bstr_t GuidDialog, _bstr_t GuidItem );
+__declspec(implementation_key(21)) ICUIControlDataPtr ICUIAutomation::GetControlData ( _bstr_t Guid );
+__declspec(implementation_key(22)) ICUIControlDataPtr ICUIAutomation::GetControlDataEx ( _bstr_t GuidParent, _bstr_t Guid );
+__declspec(implementation_key(23)) VARIANT_BOOL ICUIAutomation::GetActiveMenuItemScreenRect ( int itemIndex, long * TopLeftX, long * TopLeftY, long * Width, long * Height );
+__declspec(implementation_key(24)) _bstr_t ICUIAutomation::GetActiveMenuItemGuid ( int itemIndex );
+__declspec(implementation_key(25)) _bstr_t ICUIControl::GetCaption ( );
+__declspec(implementation_key(26)) void ICUIControl::PutCaption ( _bstr_t pVal );
+__declspec(implementation_key(27)) _bstr_t ICUIControl::GetDescriptionText ( );
+__declspec(implementation_key(28)) void ICUIControl::PutDescriptionText ( _bstr_t pVal );
+__declspec(implementation_key(29)) long ICUIControl::GetHeight ( );
+__declspec(implementation_key(30)) void ICUIControl::PutHeight ( long pVal );
+__declspec(implementation_key(31)) long ICUIControl::GetWidth ( );
+__declspec(implementation_key(32)) void ICUIControl::PutWidth ( long pVal );
+__declspec(implementation_key(33)) _bstr_t ICUIControl::GetID ( );
+__declspec(implementation_key(34)) _variant_t ICUIControl::GetParameter ( );
+__declspec(implementation_key(35)) void ICUIControl::PutParameter ( const _variant_t & pVal );
+__declspec(implementation_key(36)) _bstr_t ICUIControl::GetTag ( );
+__declspec(implementation_key(37)) void ICUIControl::PutTag ( _bstr_t pVal );
+__declspec(implementation_key(38)) _bstr_t ICUIControl::GetToolTipText ( );
+__declspec(implementation_key(39)) void ICUIControl::PutToolTipText ( _bstr_t pVal );
+__declspec(implementation_key(40)) VARIANT_BOOL ICUIControl::GetVisible ( );
+__declspec(implementation_key(41)) void ICUIControl::PutVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(42)) HRESULT ICUIControl::SetIcon ( long RowIndex, long ColumnIndex );
+__declspec(implementation_key(43)) HRESULT ICUIControl::SetCustomIcon ( _bstr_t ImageFile );
+__declspec(implementation_key(44)) HRESULT ICUIControl::SetIcon2 ( _bstr_t Icon );
+__declspec(implementation_key(45)) long ICUIControls::GetCount ( );
+__declspec(implementation_key(46)) ICUIControlPtr ICUIControls::GetItem ( long Index );
+__declspec(implementation_key(47)) IUnknownPtr ICUIControls::Get_NewEnum ( );
+__declspec(implementation_key(48)) ICUIControlPtr ICUIControls::Add ( _bstr_t ControlID, long Index, VARIANT_BOOL Temporary );
+__declspec(implementation_key(49)) ICUIControlPtr ICUIControls::AddCustomButton ( _bstr_t CategoryID, _bstr_t Command, long Index, VARIANT_BOOL Temporary );
+__declspec(implementation_key(50)) ICUIControlPtr ICUIControls::AddCustomControl ( _bstr_t ClassName, _bstr_t AssemblyPath, long Index, VARIANT_BOOL Temporary );
+__declspec(implementation_key(51)) ICUIControlPtr ICUIControls::AddToggleButton ( _bstr_t Guid, long Index, VARIANT_BOOL Temporary );
+__declspec(implementation_key(52)) HRESULT ICUIControls::Remove ( long Index );
+__declspec(implementation_key(53)) _bstr_t ICUICommandBarMode::GetName ( );
+__declspec(implementation_key(54)) _bstr_t ICUICommandBarMode::GetNameLocal ( );
+__declspec(implementation_key(55)) ICUIControlsPtr ICUICommandBarMode::GetControls ( );
+__declspec(implementation_key(56)) ICUICommandBarModePtr ICUICommandBarModes::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(57)) long ICUICommandBarModes::GetCount ( );
+__declspec(implementation_key(58)) IUnknownPtr ICUICommandBarModes::Get_NewEnum ( );
+__declspec(implementation_key(59)) enum cuiBarType ICUICommandBar::GetType ( );
+__declspec(implementation_key(60)) VARIANT_BOOL ICUICommandBar::GetVisible ( );
+__declspec(implementation_key(61)) void ICUICommandBar::PutVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(62)) ICUIControlsPtr ICUICommandBar::GetControls ( );
+__declspec(implementation_key(63)) ICUICommandBarModesPtr ICUICommandBar::GetModes ( );
+__declspec(implementation_key(64)) VARIANT_BOOL ICUICommandBar::GetBuiltIn ( );
+__declspec(implementation_key(65)) VARIANT_BOOL ICUICommandBar::GetEnabled ( );
+__declspec(implementation_key(66)) void ICUICommandBar::PutEnabled ( VARIANT_BOOL pVal );
+__declspec(implementation_key(67)) long ICUICommandBar::GetLeft ( );
+__declspec(implementation_key(68)) void ICUICommandBar::PutLeft ( long pVal );
+__declspec(implementation_key(69)) long ICUICommandBar::GetTop ( );
+__declspec(implementation_key(70)) void ICUICommandBar::PutTop ( long pVal );
+__declspec(implementation_key(71)) long ICUICommandBar::GetHeight ( );
+__declspec(implementation_key(72)) long ICUICommandBar::GetWidth ( );
+__declspec(implementation_key(73)) long ICUICommandBar::GetIndex ( );
+__declspec(implementation_key(74)) _bstr_t ICUICommandBar::GetName ( );
+__declspec(implementation_key(75)) void ICUICommandBar::PutName ( _bstr_t pVal );
+__declspec(implementation_key(76)) _bstr_t ICUICommandBar::GetNameLocal ( );
+__declspec(implementation_key(77)) void ICUICommandBar::PutNameLocal ( _bstr_t pVal );
+__declspec(implementation_key(78)) enum cuiBarPosition ICUICommandBar::GetPosition ( );
+__declspec(implementation_key(79)) void ICUICommandBar::PutPosition ( enum cuiBarPosition pVal );
+__declspec(implementation_key(80)) enum cuiBarProtection ICUICommandBar::GetProtection ( );
+__declspec(implementation_key(81)) void ICUICommandBar::PutProtection ( enum cuiBarProtection pVal );
+__declspec(implementation_key(82)) HRESULT ICUICommandBar::Delete ( );
+__declspec(implementation_key(83)) HRESULT ICUICommandBar::Reset ( );
+__declspec(implementation_key(84)) HRESULT ICUICommandBar::ShowPopup ( const _variant_t & x, const _variant_t & y );
+__declspec(implementation_key(85)) HRESULT ICUICommandBar::SetWidth ( long Width );
+__declspec(implementation_key(86)) ICUICommandBarPtr ICUICommandBars::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(87)) long ICUICommandBars::GetCount ( );
+__declspec(implementation_key(88)) IUnknownPtr ICUICommandBars::Get_NewEnum ( );
+__declspec(implementation_key(89)) ICUICommandBarPtr ICUICommandBars::Add ( _bstr_t Name, enum cuiBarPosition Position, VARIANT_BOOL Temporary );
+__declspec(implementation_key(90)) long ICUIScreenRect::GetLeft ( );
+__declspec(implementation_key(91)) void ICUIScreenRect::PutLeft ( long pVal );
+__declspec(implementation_key(92)) long ICUIScreenRect::GetRight ( );
+__declspec(implementation_key(93)) void ICUIScreenRect::PutRight ( long pVal );
+__declspec(implementation_key(94)) long ICUIScreenRect::GetTop ( );
+__declspec(implementation_key(95)) void ICUIScreenRect::PutTop ( long pVal );
+__declspec(implementation_key(96)) long ICUIScreenRect::GetBottom ( );
+__declspec(implementation_key(97)) void ICUIScreenRect::PutBottom ( long pVal );
+__declspec(implementation_key(98)) long ICUIScreenRect::GetWidth ( );
+__declspec(implementation_key(99)) void ICUIScreenRect::PutWidth ( long pVal );
+__declspec(implementation_key(100)) long ICUIScreenRect::GetHeight ( );
+__declspec(implementation_key(101)) void ICUIScreenRect::PutHeight ( long pVal );
+__declspec(implementation_key(102)) long ICUIScreenRect::GetCenterX ( );
+__declspec(implementation_key(103)) void ICUIScreenRect::PutCenterX ( long pVal );
+__declspec(implementation_key(104)) long ICUIScreenRect::GetCenterY ( );
+__declspec(implementation_key(105)) void ICUIScreenRect::PutCenterY ( long pVal );
+__declspec(implementation_key(106)) HRESULT ICUIScreenRect::SetPosition ( long Left, long Top, long Width, long Height );
+__declspec(implementation_key(107)) HRESULT ICUIScreenRect::Resize ( long Width, long Height );
+__declspec(implementation_key(108)) HRESULT ICUIScreenRect::Move ( long Left, long Top );
+__declspec(implementation_key(109)) VARIANT_BOOL ICUIScreenRect::GetReadOnly ( );
+__declspec(implementation_key(110)) ICUIScreenRectPtr ICUIScreenRect::GetCopy ( );
+__declspec(implementation_key(111)) HRESULT ICUIScreenRect::CopyAssign ( struct ICUIScreenRect * Source );
+__declspec(implementation_key(112)) HRESULT ICUIScreenRect::Offset ( long OffsetX, long OffsetY );
+__declspec(implementation_key(113)) HRESULT ICUIScreenRect::Inflate ( long Left, long Top, long Right, long Bottom );
+__declspec(implementation_key(114)) VARIANT_BOOL ICUIScreenRect::IsPointInside ( long x, long y );
+__declspec(implementation_key(115)) ICUIScreenRectPtr ICUIScreenRect::Union ( struct ICUIScreenRect * Source );
+__declspec(implementation_key(116)) ICUIScreenRectPtr ICUIScreenRect::Intersect ( struct ICUIScreenRect * Source );
+__declspec(implementation_key(117)) VARIANT_BOOL ICUIScreenRect::IsEmpty ( );
+__declspec(implementation_key(118)) VARIANT_BOOL ICUIBitmapImage::GetValid ( );
+__declspec(implementation_key(119)) long ICUIBitmapImage::GetWidth ( );
+__declspec(implementation_key(120)) long ICUIBitmapImage::GetHeight ( );
+__declspec(implementation_key(121)) long ICUIImageList::GetImageCount ( );
+__declspec(implementation_key(122)) VARIANT_BOOL ICUIImageList::ImageExists ( _bstr_t Key );
+__declspec(implementation_key(123)) HRESULT ICUIImageList::RemoveAll ( );
+__declspec(implementation_key(124)) VARIANT_BOOL ICUIImageList::AddImage ( _bstr_t Key, const _variant_t & ImageData, long MaxSize );
+__declspec(implementation_key(125)) SAFEARRAY * ICUIImageList::GetImageKeys ( );
+__declspec(implementation_key(126)) VARIANT_BOOL ICUIImageList::RemoveImage ( _bstr_t Key );
+__declspec(implementation_key(127)) HRESULT ICUIImageList::AddBitmap ( _bstr_t Key, struct ICUIBitmapImage * Bitmap );
+__declspec(implementation_key(128)) HRESULT ICUIStatusText::SetCaptionText ( _bstr_t Text );
+__declspec(implementation_key(129)) HRESULT ICUIStatusText::SetBitmap ( struct ICUIBitmapImage * Bitmap );
+__declspec(implementation_key(130)) VARIANT_BOOL ICUIWarning::GetEnabled ( );
+__declspec(implementation_key(131)) void ICUIWarning::PutEnabled ( VARIANT_BOOL pVal );
+__declspec(implementation_key(132)) _bstr_t ICUIWarning::GetID ( );
+__declspec(implementation_key(133)) _bstr_t ICUIWarning::GetDescription ( );
+__declspec(implementation_key(134)) _bstr_t ICUIWarning::GetText ( );
+__declspec(implementation_key(135)) _bstr_t ICUIWarning::GetTitle ( );
+__declspec(implementation_key(136)) long ICUIWarning::DoWarningDialog ( long unFlags, _bstr_t Text );
+__declspec(implementation_key(137)) HRESULT ICUITask::RunTask ( );
+__declspec(implementation_key(138)) HRESULT ICUIBackgroundTask::FinalizeTask ( );
+__declspec(implementation_key(139)) HRESULT ICUIBackgroundTask::FreeTask ( );
+__declspec(implementation_key(140)) HRESULT ICUIBackgroundTask::QuitTask ( );
+__declspec(implementation_key(141)) _bstr_t ICUIBackgroundTask::GetName ( );
+__declspec(implementation_key(142)) HRESULT ICUIRunningTask::TryAbort ( );
+__declspec(implementation_key(143)) HRESULT ICUIRunningBackgroundTask::WaitUntilDone ( );
+__declspec(implementation_key(144)) HRESULT ICUIRunningBackgroundTask::Reprioritize ( enum cuiTaskPriority __MIDL__ICUIRunningBackgroundTask0000 );
+__declspec(implementation_key(145)) VARIANT_BOOL ICUIRunningBackgroundTask::FinalizeIfDone ( );
+__declspec(implementation_key(146)) HRESULT ICUITaskManager::RunOnUIThread ( struct ICUITask * pTask );
+__declspec(implementation_key(147)) ICUIRunningBackgroundTaskPtr ICUITaskManager::RunInBackground ( enum cuiTaskPriority priority, struct ICUIBackgroundTask * pTask );
+__declspec(implementation_key(148)) VARIANT_BOOL IPrnVBAPrintLayout::GetUseBleedLimit ( );
+__declspec(implementation_key(149)) void IPrnVBAPrintLayout::PutUseBleedLimit ( VARIANT_BOOL pVal );
+__declspec(implementation_key(150)) double IPrnVBAPrintLayout::GetBleedLimit ( );
+__declspec(implementation_key(151)) void IPrnVBAPrintLayout::PutBleedLimit ( double pVal );
+__declspec(implementation_key(152)) VARIANT_BOOL IPrnVBAPrintLayout::GetPrintTiledPages ( );
+__declspec(implementation_key(153)) void IPrnVBAPrintLayout::PutPrintTiledPages ( VARIANT_BOOL pVal );
+__declspec(implementation_key(154)) VARIANT_BOOL IPrnVBAPrintLayout::GetPrintTilingMarks ( );
+__declspec(implementation_key(155)) void IPrnVBAPrintLayout::PutPrintTilingMarks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(156)) double IPrnVBAPrintLayout::GetTileOverlap ( );
+__declspec(implementation_key(157)) void IPrnVBAPrintLayout::PutTileOverlap ( double pVal );
+__declspec(implementation_key(158)) enum PrnPlaceType IPrnVBAPrintLayout::GetPlacement ( );
+__declspec(implementation_key(159)) void IPrnVBAPrintLayout::PutPlacement ( enum PrnPlaceType pVal );
+__declspec(implementation_key(160)) _bstr_t IPrnVBAPrinter::GetName ( );
+__declspec(implementation_key(161)) _bstr_t IPrnVBAPrinter::GetType ( );
+__declspec(implementation_key(162)) VARIANT_BOOL IPrnVBAPrinter::GetDefault ( );
+__declspec(implementation_key(163)) VARIANT_BOOL IPrnVBAPrinter::GetReady ( );
+__declspec(implementation_key(164)) _bstr_t IPrnVBAPrinter::GetPort ( );
+__declspec(implementation_key(165)) _bstr_t IPrnVBAPrinter::GetDescription ( );
+__declspec(implementation_key(166)) VARIANT_BOOL IPrnVBAPrinter::GetPostScriptEnabled ( );
+__declspec(implementation_key(167)) VARIANT_BOOL IPrnVBAPrinter::GetColorEnabled ( );
+__declspec(implementation_key(168)) HRESULT IPrnVBAPrinter::ShowDialog ( );
+__declspec(implementation_key(169)) VARIANT_BOOL IPrnVBAPrinter::GetPageSizeMatchingSupported ( );
+__declspec(implementation_key(170)) void IPrnVBAPrinter::PutPageSizeMatchingSupported ( VARIANT_BOOL pVal );
+__declspec(implementation_key(171)) IPrnVBAPrinterPtr IPrnVBAPrinters::GetItem ( long nIndex );
+__declspec(implementation_key(172)) long IPrnVBAPrinters::GetCount ( );
+__declspec(implementation_key(173)) IPrnVBAPrinterPtr IPrnVBAPrinters::GetDefault ( );
+__declspec(implementation_key(174)) VARIANT_BOOL IPrnVBASeparationPlate::GetEnabled ( );
+__declspec(implementation_key(175)) void IPrnVBASeparationPlate::PutEnabled ( VARIANT_BOOL pVal );
+__declspec(implementation_key(176)) enum PrnPlateType IPrnVBASeparationPlate::GetType ( );
+__declspec(implementation_key(177)) _bstr_t IPrnVBASeparationPlate::GetColor ( );
+__declspec(implementation_key(178)) double IPrnVBASeparationPlate::GetFrequency ( );
+__declspec(implementation_key(179)) void IPrnVBASeparationPlate::PutFrequency ( double pVal );
+__declspec(implementation_key(180)) double IPrnVBASeparationPlate::GetAngle ( );
+__declspec(implementation_key(181)) void IPrnVBASeparationPlate::PutAngle ( double pVal );
+__declspec(implementation_key(182)) VARIANT_BOOL IPrnVBASeparationPlate::GetOverprintText ( );
+__declspec(implementation_key(183)) void IPrnVBASeparationPlate::PutOverprintText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(184)) VARIANT_BOOL IPrnVBASeparationPlate::GetOverprintGraphic ( );
+__declspec(implementation_key(185)) void IPrnVBASeparationPlate::PutOverprintGraphic ( VARIANT_BOOL pVal );
+__declspec(implementation_key(186)) IPrnVBASeparationPlatePtr IPrnVBASeparationPlates::GetItem ( long Index );
+__declspec(implementation_key(187)) long IPrnVBASeparationPlates::GetCount ( );
+__declspec(implementation_key(188)) VARIANT_BOOL IPrnVBAPrintSeparations::GetEnabled ( );
+__declspec(implementation_key(189)) void IPrnVBAPrintSeparations::PutEnabled ( VARIANT_BOOL pVal );
+__declspec(implementation_key(190)) VARIANT_BOOL IPrnVBAPrintSeparations::GetInColor ( );
+__declspec(implementation_key(191)) void IPrnVBAPrintSeparations::PutInColor ( VARIANT_BOOL pVal );
+__declspec(implementation_key(192)) VARIANT_BOOL IPrnVBAPrintSeparations::GetHexachrome ( );
+__declspec(implementation_key(193)) void IPrnVBAPrintSeparations::PutHexachrome ( VARIANT_BOOL pVal );
+__declspec(implementation_key(194)) VARIANT_BOOL IPrnVBAPrintSeparations::GetSpotToCMYK ( );
+__declspec(implementation_key(195)) void IPrnVBAPrintSeparations::PutSpotToCMYK ( VARIANT_BOOL pVal );
+__declspec(implementation_key(196)) VARIANT_BOOL IPrnVBAPrintSeparations::GetEmptyPlates ( );
+__declspec(implementation_key(197)) void IPrnVBAPrintSeparations::PutEmptyPlates ( VARIANT_BOOL pVal );
+__declspec(implementation_key(198)) VARIANT_BOOL IPrnVBAPrintSeparations::GetPreserveOverprints ( );
+__declspec(implementation_key(199)) void IPrnVBAPrintSeparations::PutPreserveOverprints ( VARIANT_BOOL pVal );
+__declspec(implementation_key(200)) VARIANT_BOOL IPrnVBAPrintSeparations::GetAlwaysOverprintBlack ( );
+__declspec(implementation_key(201)) void IPrnVBAPrintSeparations::PutAlwaysOverprintBlack ( VARIANT_BOOL pVal );
+__declspec(implementation_key(202)) VARIANT_BOOL IPrnVBAPrintSeparations::GetAutoSpreading ( );
+__declspec(implementation_key(203)) void IPrnVBAPrintSeparations::PutAutoSpreading ( VARIANT_BOOL pVal );
+__declspec(implementation_key(204)) double IPrnVBAPrintSeparations::GetAutoSpreadAmount ( );
+__declspec(implementation_key(205)) void IPrnVBAPrintSeparations::PutAutoSpreadAmount ( double pVal );
+__declspec(implementation_key(206)) VARIANT_BOOL IPrnVBAPrintSeparations::GetAutoSpreadFixed ( );
+__declspec(implementation_key(207)) void IPrnVBAPrintSeparations::PutAutoSpreadFixed ( VARIANT_BOOL pVal );
+__declspec(implementation_key(208)) double IPrnVBAPrintSeparations::GetAutoSpreadTextAbove ( );
+__declspec(implementation_key(209)) void IPrnVBAPrintSeparations::PutAutoSpreadTextAbove ( double pVal );
+__declspec(implementation_key(210)) VARIANT_BOOL IPrnVBAPrintSeparations::GetAdvancedSettings ( );
+__declspec(implementation_key(211)) void IPrnVBAPrintSeparations::PutAdvancedSettings ( VARIANT_BOOL pVal );
+__declspec(implementation_key(212)) IPrnVBASeparationPlatesPtr IPrnVBAPrintSeparations::GetPlates ( );
+__declspec(implementation_key(213)) long IPrnVBAPrintSeparations::GetResolution ( );
+__declspec(implementation_key(214)) void IPrnVBAPrintSeparations::PutResolution ( long pVal );
+__declspec(implementation_key(215)) _bstr_t IPrnVBAPrintSeparations::GetBasicScreen ( );
+__declspec(implementation_key(216)) void IPrnVBAPrintSeparations::PutBasicScreen ( _bstr_t pVal );
+__declspec(implementation_key(217)) _bstr_t IPrnVBAPrintSeparations::GetHalftoneType ( );
+__declspec(implementation_key(218)) void IPrnVBAPrintSeparations::PutHalftoneType ( _bstr_t pVal );
+__declspec(implementation_key(219)) _bstr_t IPrnVBAPrintSeparations::GetScreenTechnology ( );
+__declspec(implementation_key(220)) void IPrnVBAPrintSeparations::PutScreenTechnology ( _bstr_t pVal );
+__declspec(implementation_key(221)) VARIANT_BOOL IPrnVBAPrintPrepress::GetInvert ( );
+__declspec(implementation_key(222)) void IPrnVBAPrintPrepress::PutInvert ( VARIANT_BOOL pVal );
+__declspec(implementation_key(223)) VARIANT_BOOL IPrnVBAPrintPrepress::GetMirror ( );
+__declspec(implementation_key(224)) void IPrnVBAPrintPrepress::PutMirror ( VARIANT_BOOL pVal );
+__declspec(implementation_key(225)) VARIANT_BOOL IPrnVBAPrintPrepress::GetFileInfo ( );
+__declspec(implementation_key(226)) void IPrnVBAPrintPrepress::PutFileInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(227)) _bstr_t IPrnVBAPrintPrepress::GetJobName ( );
+__declspec(implementation_key(228)) void IPrnVBAPrintPrepress::PutJobName ( _bstr_t pVal );
+__declspec(implementation_key(229)) VARIANT_BOOL IPrnVBAPrintPrepress::GetPageNumbers ( );
+__declspec(implementation_key(230)) void IPrnVBAPrintPrepress::PutPageNumbers ( VARIANT_BOOL pVal );
+__declspec(implementation_key(231)) VARIANT_BOOL IPrnVBAPrintPrepress::GetInfoWithinPage ( );
+__declspec(implementation_key(232)) void IPrnVBAPrintPrepress::PutInfoWithinPage ( VARIANT_BOOL pVal );
+__declspec(implementation_key(233)) VARIANT_BOOL IPrnVBAPrintPrepress::GetCropMarks ( );
+__declspec(implementation_key(234)) void IPrnVBAPrintPrepress::PutCropMarks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(235)) VARIANT_BOOL IPrnVBAPrintPrepress::GetExteriorCropMarks ( );
+__declspec(implementation_key(236)) void IPrnVBAPrintPrepress::PutExteriorCropMarks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(237)) VARIANT_BOOL IPrnVBAPrintPrepress::GetRegistrationMarks ( );
+__declspec(implementation_key(238)) void IPrnVBAPrintPrepress::PutRegistrationMarks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(239)) enum PrnRegistrationStyle IPrnVBAPrintPrepress::GetRegistrationStyle ( );
+__declspec(implementation_key(240)) void IPrnVBAPrintPrepress::PutRegistrationStyle ( enum PrnRegistrationStyle pVal );
+__declspec(implementation_key(241)) VARIANT_BOOL IPrnVBAPrintPrepress::GetColorCalibrationBar ( );
+__declspec(implementation_key(242)) void IPrnVBAPrintPrepress::PutColorCalibrationBar ( VARIANT_BOOL pVal );
+__declspec(implementation_key(243)) VARIANT_BOOL IPrnVBAPrintPrepress::GetDensitometerScale ( );
+__declspec(implementation_key(244)) void IPrnVBAPrintPrepress::PutDensitometerScale ( VARIANT_BOOL pVal );
+__declspec(implementation_key(245)) long IPrnVBAPrintPrepress::GetDensities ( long Index );
+__declspec(implementation_key(246)) void IPrnVBAPrintPrepress::PutDensities ( long Index, long pVal );
+__declspec(implementation_key(247)) VARIANT_BOOL IPrnVBAPrintPrepress::GetMarksToObjects ( );
+__declspec(implementation_key(248)) void IPrnVBAPrintPrepress::PutMarksToObjects ( VARIANT_BOOL pVal );
+__declspec(implementation_key(249)) enum PrnPostScriptLevel IPrnVBAPrintPostScript::GetLevel ( );
+__declspec(implementation_key(250)) void IPrnVBAPrintPostScript::PutLevel ( enum PrnPostScriptLevel pVal );
+__declspec(implementation_key(251)) VARIANT_BOOL IPrnVBAPrintPostScript::GetConformToDSC ( );
+__declspec(implementation_key(252)) void IPrnVBAPrintPostScript::PutConformToDSC ( VARIANT_BOOL pVal );
+__declspec(implementation_key(253)) VARIANT_BOOL IPrnVBAPrintPostScript::GetJPEGCompression ( );
+__declspec(implementation_key(254)) void IPrnVBAPrintPostScript::PutJPEGCompression ( VARIANT_BOOL pVal );
+__declspec(implementation_key(255)) long IPrnVBAPrintPostScript::GetJPEGQuality ( );
+__declspec(implementation_key(256)) void IPrnVBAPrintPostScript::PutJPEGQuality ( long pVal );
+__declspec(implementation_key(257)) VARIANT_BOOL IPrnVBAPrintPostScript::GetMaintainOPILinks ( );
+__declspec(implementation_key(258)) void IPrnVBAPrintPostScript::PutMaintainOPILinks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(259)) VARIANT_BOOL IPrnVBAPrintPostScript::GetResolveDCSLinks ( );
+__declspec(implementation_key(260)) void IPrnVBAPrintPostScript::PutResolveDCSLinks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(261)) VARIANT_BOOL IPrnVBAPrintPostScript::GetDownloadType1 ( );
+__declspec(implementation_key(262)) void IPrnVBAPrintPostScript::PutDownloadType1 ( VARIANT_BOOL pVal );
+__declspec(implementation_key(263)) VARIANT_BOOL IPrnVBAPrintPostScript::GetTrueTypeToType1 ( );
+__declspec(implementation_key(264)) void IPrnVBAPrintPostScript::PutTrueTypeToType1 ( VARIANT_BOOL pVal );
+__declspec(implementation_key(265)) enum PrnPDFStartup IPrnVBAPrintPostScript::GetPDFStartup ( );
+__declspec(implementation_key(266)) void IPrnVBAPrintPostScript::PutPDFStartup ( enum PrnPDFStartup pVal );
+__declspec(implementation_key(267)) VARIANT_BOOL IPrnVBAPrintPostScript::GetPDFHyperlinks ( );
+__declspec(implementation_key(268)) void IPrnVBAPrintPostScript::PutPDFHyperlinks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(269)) VARIANT_BOOL IPrnVBAPrintPostScript::GetpdfBookmarks ( );
+__declspec(implementation_key(270)) void IPrnVBAPrintPostScript::PutpdfBookmarks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(271)) long IPrnVBAPrintPostScript::GetMaxPointsPerCurve ( );
+__declspec(implementation_key(272)) void IPrnVBAPrintPostScript::PutMaxPointsPerCurve ( long pVal );
+__declspec(implementation_key(273)) long IPrnVBAPrintPostScript::GetFlatness ( );
+__declspec(implementation_key(274)) void IPrnVBAPrintPostScript::PutFlatness ( long pVal );
+__declspec(implementation_key(275)) VARIANT_BOOL IPrnVBAPrintPostScript::GetAutoIncreaseFlatness ( );
+__declspec(implementation_key(276)) void IPrnVBAPrintPostScript::PutAutoIncreaseFlatness ( VARIANT_BOOL pVal );
+__declspec(implementation_key(277)) VARIANT_BOOL IPrnVBAPrintPostScript::GetAutoIncreaseFountainSteps ( );
+__declspec(implementation_key(278)) void IPrnVBAPrintPostScript::PutAutoIncreaseFountainSteps ( VARIANT_BOOL pVal );
+__declspec(implementation_key(279)) VARIANT_BOOL IPrnVBAPrintPostScript::GetOptimizeFountainFills ( );
+__declspec(implementation_key(280)) void IPrnVBAPrintPostScript::PutOptimizeFountainFills ( VARIANT_BOOL pVal );
+__declspec(implementation_key(281)) long IPrnVBAPrintPostScript::GetScreenFrequency ( );
+__declspec(implementation_key(282)) void IPrnVBAPrintPostScript::PutScreenFrequency ( long pVal );
+__declspec(implementation_key(283)) enum PrnPlateType IPrnVBATrapLayer::GetType ( );
+__declspec(implementation_key(284)) _bstr_t IPrnVBATrapLayer::GetColor ( );
+__declspec(implementation_key(285)) double IPrnVBATrapLayer::GetDensity ( );
+__declspec(implementation_key(286)) void IPrnVBATrapLayer::PutDensity ( double pVal );
+__declspec(implementation_key(287)) enum PrnTrapType IPrnVBATrapLayer::GetTrapType ( );
+__declspec(implementation_key(288)) void IPrnVBATrapLayer::PutTrapType ( enum PrnTrapType pVal );
+__declspec(implementation_key(289)) long IPrnVBATrapLayer::GetOrder ( );
+__declspec(implementation_key(290)) void IPrnVBATrapLayer::PutOrder ( long pVal );
+__declspec(implementation_key(291)) long IPrnVBATrapLayers::GetCount ( );
+__declspec(implementation_key(292)) IPrnVBATrapLayerPtr IPrnVBATrapLayers::GetItem ( long Index );
+__declspec(implementation_key(293)) VARIANT_BOOL IPrnVBAPrintTrapping::GetEnabled ( );
+__declspec(implementation_key(294)) void IPrnVBAPrintTrapping::PutEnabled ( VARIANT_BOOL pVal );
+__declspec(implementation_key(295)) IPrnVBATrapLayersPtr IPrnVBAPrintTrapping::GetLayers ( );
+__declspec(implementation_key(296)) double IPrnVBAPrintTrapping::GetWidth ( );
+__declspec(implementation_key(297)) void IPrnVBAPrintTrapping::PutWidth ( double pVal );
+__declspec(implementation_key(298)) double IPrnVBAPrintTrapping::GetBlackWidth ( );
+__declspec(implementation_key(299)) void IPrnVBAPrintTrapping::PutBlackWidth ( double pVal );
+__declspec(implementation_key(300)) long IPrnVBAPrintTrapping::GetColorScaling ( );
+__declspec(implementation_key(301)) void IPrnVBAPrintTrapping::PutColorScaling ( long pVal );
+__declspec(implementation_key(302)) long IPrnVBAPrintTrapping::GetStepLimit ( );
+__declspec(implementation_key(303)) void IPrnVBAPrintTrapping::PutStepLimit ( long pVal );
+__declspec(implementation_key(304)) long IPrnVBAPrintTrapping::GetBlackColorLimit ( );
+__declspec(implementation_key(305)) void IPrnVBAPrintTrapping::PutBlackColorLimit ( long pVal );
+__declspec(implementation_key(306)) double IPrnVBAPrintTrapping::GetBlackDensityLimit ( );
+__declspec(implementation_key(307)) void IPrnVBAPrintTrapping::PutBlackDensityLimit ( double pVal );
+__declspec(implementation_key(308)) long IPrnVBAPrintTrapping::GetSlidingTrapLimit ( );
+__declspec(implementation_key(309)) void IPrnVBAPrintTrapping::PutSlidingTrapLimit ( long pVal );
+__declspec(implementation_key(310)) enum PrnImageTrap IPrnVBAPrintTrapping::GetImageTrap ( );
+__declspec(implementation_key(311)) void IPrnVBAPrintTrapping::PutImageTrap ( enum PrnImageTrap pVal );
+__declspec(implementation_key(312)) VARIANT_BOOL IPrnVBAPrintTrapping::GetObjectsToImage ( );
+__declspec(implementation_key(313)) void IPrnVBAPrintTrapping::PutObjectsToImage ( VARIANT_BOOL pVal );
+__declspec(implementation_key(314)) VARIANT_BOOL IPrnVBAPrintTrapping::GetInternalImageTrapping ( );
+__declspec(implementation_key(315)) void IPrnVBAPrintTrapping::PutInternalImageTrapping ( VARIANT_BOOL pVal );
+__declspec(implementation_key(316)) VARIANT_BOOL IPrnVBAPrintTrapping::GetTrapMonoBitmaps ( );
+__declspec(implementation_key(317)) void IPrnVBAPrintTrapping::PutTrapMonoBitmaps ( VARIANT_BOOL pVal );
+__declspec(implementation_key(318)) VARIANT_BOOL IPrnVBAPrintOptions::GetUseColorProfile ( );
+__declspec(implementation_key(319)) void IPrnVBAPrintOptions::PutUseColorProfile ( VARIANT_BOOL pVal );
+__declspec(implementation_key(320)) VARIANT_BOOL IPrnVBAPrintOptions::GetPrintVectors ( );
+__declspec(implementation_key(321)) void IPrnVBAPrintOptions::PutPrintVectors ( VARIANT_BOOL pVal );
+__declspec(implementation_key(322)) VARIANT_BOOL IPrnVBAPrintOptions::GetPrintBitmaps ( );
+__declspec(implementation_key(323)) void IPrnVBAPrintOptions::PutPrintBitmaps ( VARIANT_BOOL pVal );
+__declspec(implementation_key(324)) VARIANT_BOOL IPrnVBAPrintOptions::GetPrintText ( );
+__declspec(implementation_key(325)) void IPrnVBAPrintOptions::PutPrintText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(326)) VARIANT_BOOL IPrnVBAPrintOptions::GetTextInBlack ( );
+__declspec(implementation_key(327)) void IPrnVBAPrintOptions::PutTextInBlack ( VARIANT_BOOL pVal );
+__declspec(implementation_key(328)) enum PrnColorMode IPrnVBAPrintOptions::GetColorMode ( );
+__declspec(implementation_key(329)) void IPrnVBAPrintOptions::PutColorMode ( enum PrnColorMode pVal );
+__declspec(implementation_key(330)) VARIANT_BOOL IPrnVBAPrintOptions::GetMarksToPage ( );
+__declspec(implementation_key(331)) void IPrnVBAPrintOptions::PutMarksToPage ( VARIANT_BOOL pVal );
+__declspec(implementation_key(332)) enum PrnBitmapColorMode IPrnVBAPrintOptions::GetBitmapColorMode ( );
+__declspec(implementation_key(333)) void IPrnVBAPrintOptions::PutBitmapColorMode ( enum PrnBitmapColorMode pVal );
+__declspec(implementation_key(334)) long IPrnVBAPrintOptions::GetFountainSteps ( );
+__declspec(implementation_key(335)) void IPrnVBAPrintOptions::PutFountainSteps ( long pVal );
+__declspec(implementation_key(336)) VARIANT_BOOL IPrnVBAPrintOptions::GetRasterizePage ( );
+__declspec(implementation_key(337)) void IPrnVBAPrintOptions::PutRasterizePage ( VARIANT_BOOL pVal );
+__declspec(implementation_key(338)) long IPrnVBAPrintOptions::GetRasterizeResolution ( );
+__declspec(implementation_key(339)) void IPrnVBAPrintOptions::PutRasterizeResolution ( long pVal );
+__declspec(implementation_key(340)) VARIANT_BOOL IPrnVBAPrintOptions::GetDownsampleColor ( );
+__declspec(implementation_key(341)) void IPrnVBAPrintOptions::PutDownsampleColor ( VARIANT_BOOL pVal );
+__declspec(implementation_key(342)) VARIANT_BOOL IPrnVBAPrintOptions::GetDownsampleGray ( );
+__declspec(implementation_key(343)) void IPrnVBAPrintOptions::PutDownsampleGray ( VARIANT_BOOL pVal );
+__declspec(implementation_key(344)) VARIANT_BOOL IPrnVBAPrintOptions::GetDownsampleMono ( );
+__declspec(implementation_key(345)) void IPrnVBAPrintOptions::PutDownsampleMono ( VARIANT_BOOL pVal );
+__declspec(implementation_key(346)) long IPrnVBAPrintOptions::GetColorResolution ( );
+__declspec(implementation_key(347)) void IPrnVBAPrintOptions::PutColorResolution ( long pVal );
+__declspec(implementation_key(348)) long IPrnVBAPrintOptions::GetGrayResolution ( );
+__declspec(implementation_key(349)) void IPrnVBAPrintOptions::PutGrayResolution ( long pVal );
+__declspec(implementation_key(350)) long IPrnVBAPrintOptions::GetMonoResolution ( );
+__declspec(implementation_key(351)) void IPrnVBAPrintOptions::PutMonoResolution ( long pVal );
+__declspec(implementation_key(352)) VARIANT_BOOL IPrnVBAPrintOptions::GetJobInformation ( );
+__declspec(implementation_key(353)) void IPrnVBAPrintOptions::PutJobInformation ( VARIANT_BOOL pVal );
+__declspec(implementation_key(354)) VARIANT_BOOL IPrnVBAPrintOptions::GetAppInfo ( );
+__declspec(implementation_key(355)) void IPrnVBAPrintOptions::PutAppInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(356)) VARIANT_BOOL IPrnVBAPrintOptions::GetDriverInfo ( );
+__declspec(implementation_key(357)) void IPrnVBAPrintOptions::PutDriverInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(358)) VARIANT_BOOL IPrnVBAPrintOptions::GetPrintJobInfo ( );
+__declspec(implementation_key(359)) void IPrnVBAPrintOptions::PutPrintJobInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(360)) VARIANT_BOOL IPrnVBAPrintOptions::GetSepsInfo ( );
+__declspec(implementation_key(361)) void IPrnVBAPrintOptions::PutSepsInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(362)) VARIANT_BOOL IPrnVBAPrintOptions::GetFontInfo ( );
+__declspec(implementation_key(363)) void IPrnVBAPrintOptions::PutFontInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(364)) VARIANT_BOOL IPrnVBAPrintOptions::GetLinkInfo ( );
+__declspec(implementation_key(365)) void IPrnVBAPrintOptions::PutLinkInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(366)) VARIANT_BOOL IPrnVBAPrintOptions::GetInRIPTrapInfo ( );
+__declspec(implementation_key(367)) void IPrnVBAPrintOptions::PutInRIPTrapInfo ( VARIANT_BOOL pVal );
+__declspec(implementation_key(368)) enum PrnObjectsColorMode IPrnVBAPrintOptions::GetObjectsColorMode ( );
+__declspec(implementation_key(369)) void IPrnVBAPrintOptions::PutObjectsColorMode ( enum PrnObjectsColorMode pVal );
+__declspec(implementation_key(370)) VARIANT_BOOL IPrnVBAPrintOptions::GetPreservePureBlack ( );
+__declspec(implementation_key(371)) void IPrnVBAPrintOptions::PutPreservePureBlack ( VARIANT_BOOL pVal );
+__declspec(implementation_key(372)) IPrnVBAPrinterPtr IPrnVBAPrintSettings::GetPrinter ( );
+__declspec(implementation_key(373)) void IPrnVBAPrintSettings::PutRefPrinter ( struct IPrnVBAPrinter * pVal );
+__declspec(implementation_key(374)) VARIANT_BOOL IPrnVBAPrintSettings::GetUsePPD ( );
+__declspec(implementation_key(375)) void IPrnVBAPrintSettings::PutUsePPD ( VARIANT_BOOL pVal );
+__declspec(implementation_key(376)) _bstr_t IPrnVBAPrintSettings::GetPPDFile ( );
+__declspec(implementation_key(377)) void IPrnVBAPrintSettings::PutPPDFile ( _bstr_t pVal );
+__declspec(implementation_key(378)) VARIANT_BOOL IPrnVBAPrintSettings::GetPrintToFile ( );
+__declspec(implementation_key(379)) void IPrnVBAPrintSettings::PutPrintToFile ( VARIANT_BOOL pVal );
+__declspec(implementation_key(380)) _bstr_t IPrnVBAPrintSettings::GetFileName ( );
+__declspec(implementation_key(381)) void IPrnVBAPrintSettings::PutFileName ( _bstr_t pVal );
+__declspec(implementation_key(382)) VARIANT_BOOL IPrnVBAPrintSettings::GetForMac ( );
+__declspec(implementation_key(383)) void IPrnVBAPrintSettings::PutForMac ( VARIANT_BOOL pVal );
+__declspec(implementation_key(384)) enum PrnFileMode IPrnVBAPrintSettings::GetFileMode ( );
+__declspec(implementation_key(385)) void IPrnVBAPrintSettings::PutFileMode ( enum PrnFileMode pVal );
+__declspec(implementation_key(386)) enum PrnPrintRange IPrnVBAPrintSettings::GetPrintRange ( );
+__declspec(implementation_key(387)) void IPrnVBAPrintSettings::PutPrintRange ( enum PrnPrintRange pVal );
+__declspec(implementation_key(388)) _bstr_t IPrnVBAPrintSettings::GetPageRange ( );
+__declspec(implementation_key(389)) void IPrnVBAPrintSettings::PutPageRange ( _bstr_t pVal );
+__declspec(implementation_key(390)) long IPrnVBAPrintSettings::GetCopies ( );
+__declspec(implementation_key(391)) void IPrnVBAPrintSettings::PutCopies ( long pVal );
+__declspec(implementation_key(392)) VARIANT_BOOL IPrnVBAPrintSettings::GetCollate ( );
+__declspec(implementation_key(393)) void IPrnVBAPrintSettings::PutCollate ( VARIANT_BOOL pVal );
+__declspec(implementation_key(394)) IPrnVBAPrintSeparationsPtr IPrnVBAPrintSettings::GetSeparations ( );
+__declspec(implementation_key(395)) IPrnVBAPrintPrepressPtr IPrnVBAPrintSettings::GetPrepress ( );
+__declspec(implementation_key(396)) IPrnVBAPrintPostScriptPtr IPrnVBAPrintSettings::GetPostScript ( );
+__declspec(implementation_key(397)) IPrnVBAPrintTrappingPtr IPrnVBAPrintSettings::GetTrapping ( );
+__declspec(implementation_key(398)) IPrnVBAPrintOptionsPtr IPrnVBAPrintSettings::GetOptions ( );
+__declspec(implementation_key(399)) HRESULT IPrnVBAPrintSettings::Reset ( );
+__declspec(implementation_key(400)) VARIANT_BOOL IPrnVBAPrintSettings::Load ( _bstr_t FileName );
+__declspec(implementation_key(401)) VARIANT_BOOL IPrnVBAPrintSettings::Save ( _bstr_t FileName );
+__declspec(implementation_key(402)) VARIANT_BOOL IPrnVBAPrintSettings::ShowDialog ( );
+__declspec(implementation_key(403)) HRESULT IPrnVBAPrintSettings::SelectPrinter ( _bstr_t Name );
+__declspec(implementation_key(404)) enum PrnPageSet IPrnVBAPrintSettings::GetPageSet ( );
+__declspec(implementation_key(405)) void IPrnVBAPrintSettings::PutPageSet ( enum PrnPageSet pVal );
+__declspec(implementation_key(406)) enum PrnPaperOrientation IPrnVBAPrintSettings::GetPaperOrientation ( );
+__declspec(implementation_key(407)) void IPrnVBAPrintSettings::PutPaperOrientation ( enum PrnPaperOrientation pVal );
+__declspec(implementation_key(408)) enum PrnPaperSize IPrnVBAPrintSettings::GetPaperSize ( );
+__declspec(implementation_key(409)) void IPrnVBAPrintSettings::PutPaperSize ( enum PrnPaperSize pVal );
+__declspec(implementation_key(410)) HRESULT IPrnVBAPrintSettings::SetPaperSize ( enum PrnPaperSize PaperSize, enum PrnPaperOrientation Orientation );
+__declspec(implementation_key(411)) double IPrnVBAPrintSettings::GetPaperWidth ( );
+__declspec(implementation_key(412)) double IPrnVBAPrintSettings::GetPaperHeight ( );
+__declspec(implementation_key(413)) HRESULT IPrnVBAPrintSettings::SetCustomPaperSize ( double Width, double Height, enum PrnPaperOrientation Orientation );
+__declspec(implementation_key(414)) IPrnVBAPrintLayoutPtr IPrnVBAPrintSettings::GetLayout ( );
+__declspec(implementation_key(415)) HRESULT IPrnVBAPrintSettings::PrintOut ( );
+__declspec(implementation_key(416)) HRESULT IPrnVBAPrintSettings::PrintColorProof ( IDispatch * ProofSettings );
+__declspec(implementation_key(417)) enum PrnPageMatchingMode IPrnVBAPrintSettings::GetPageMatchingMode ( );
+__declspec(implementation_key(418)) void IPrnVBAPrintSettings::PutPageMatchingMode ( enum PrnPageMatchingMode pVal );
+__declspec(implementation_key(419)) HRESULT IPrnVBAPrintDocument::_GetPrintDocument ( INT_PTR * pDoc );
+__declspec(implementation_key(420)) IPrnVBAPrintDocumentPtr IPrnVBAPrintDocuments::GetItem ( long Index );
+__declspec(implementation_key(421)) long IPrnVBAPrintDocuments::GetCount ( );
+__declspec(implementation_key(422)) HRESULT IPrnVBAPrintPage::_GetPrintDocument ( INT_PTR * pDoc );
+__declspec(implementation_key(423)) HRESULT IPrnVBAPrintPage::_GetPrintPage ( long * pPage );
+__declspec(implementation_key(424)) IPrnVBAPrintPagePtr IPrnVBAPrintPages::GetItem ( long Index );
+__declspec(implementation_key(425)) long IPrnVBAPrintPages::GetCount ( );
+__declspec(implementation_key(426)) IPrnVBAPrintSettingsPtr IPrnVBAPrintJob::GetSettings ( );
+__declspec(implementation_key(427)) IPrnVBAPrintDocumentsPtr IPrnVBAPrintJob::GetDocuments ( );
+__declspec(implementation_key(428)) IPrnVBAPrintPagesPtr IPrnVBAPrintJob::GetPages ( );
+__declspec(implementation_key(429)) HRESULT IPrnVBAPrintJob::Clear ( );
+__declspec(implementation_key(430)) HRESULT IPrnVBAPrintJob::PrintOut ( );
+__declspec(implementation_key(431)) HRESULT IPrnVBAPrintJob::AddDocument ( struct IPrnVBAPrintDocument * Document, _bstr_t PageRange );
+__declspec(implementation_key(432)) HRESULT IPrnVBAPrintJob::AddPage ( struct IPrnVBAPrintPage * Page );
+__declspec(implementation_key(433)) HRESULT IPDFVBASettings::Reset ( );
+__declspec(implementation_key(434)) VARIANT_BOOL IPDFVBASettings::Load ( _bstr_t SettingName );
+__declspec(implementation_key(435)) VARIANT_BOOL IPDFVBASettings::Save ( _bstr_t SettingName );
+__declspec(implementation_key(436)) VARIANT_BOOL IPDFVBASettings::ShowDialog ( );
+__declspec(implementation_key(437)) HRESULT IPDFVBASettings::PublishToPDF ( _bstr_t FileName );
+__declspec(implementation_key(438)) void IPDFVBASettings::PutPublishRange ( enum pdfExportRange pExportRange );
+__declspec(implementation_key(439)) enum pdfExportRange IPDFVBASettings::GetPublishRange ( );
+__declspec(implementation_key(440)) void IPDFVBASettings::PutPageRange ( _bstr_t pszExportPagesRange );
+__declspec(implementation_key(441)) _bstr_t IPDFVBASettings::GetPageRange ( );
+__declspec(implementation_key(442)) void IPDFVBASettings::PutAuthor ( _bstr_t pszAuthor );
+__declspec(implementation_key(443)) _bstr_t IPDFVBASettings::GetAuthor ( );
+__declspec(implementation_key(444)) void IPDFVBASettings::PutSubject ( _bstr_t pszSubject );
+__declspec(implementation_key(445)) _bstr_t IPDFVBASettings::GetSubject ( );
+__declspec(implementation_key(446)) void IPDFVBASettings::PutKeywords ( _bstr_t pszKeywords );
+__declspec(implementation_key(447)) _bstr_t IPDFVBASettings::GetKeywords ( );
+__declspec(implementation_key(448)) void IPDFVBASettings::PutBitmapCompression ( enum pdfBitmapCompressionType pBitmapCompressionType );
+__declspec(implementation_key(449)) enum pdfBitmapCompressionType IPDFVBASettings::GetBitmapCompression ( );
+__declspec(implementation_key(450)) void IPDFVBASettings::PutJPEGQualityFactor ( int pnQuality );
+__declspec(implementation_key(451)) int IPDFVBASettings::GetJPEGQualityFactor ( );
+__declspec(implementation_key(452)) void IPDFVBASettings::PutTextAsCurves ( VARIANT_BOOL pbTextAsCurves );
+__declspec(implementation_key(453)) VARIANT_BOOL IPDFVBASettings::GetTextAsCurves ( );
+__declspec(implementation_key(454)) void IPDFVBASettings::PutEmbedFonts ( VARIANT_BOOL pbEmbedFonts );
+__declspec(implementation_key(455)) VARIANT_BOOL IPDFVBASettings::GetEmbedFonts ( );
+__declspec(implementation_key(456)) void IPDFVBASettings::PutEmbedBaseFonts ( VARIANT_BOOL pbEmbedBaseFonts );
+__declspec(implementation_key(457)) VARIANT_BOOL IPDFVBASettings::GetEmbedBaseFonts ( );
+__declspec(implementation_key(458)) void IPDFVBASettings::PutTrueTypeToType1 ( VARIANT_BOOL pbTrueTypeToType1 );
+__declspec(implementation_key(459)) VARIANT_BOOL IPDFVBASettings::GetTrueTypeToType1 ( );
+__declspec(implementation_key(460)) void IPDFVBASettings::PutSubsetFonts ( VARIANT_BOOL pbSubsetType1Fonts );
+__declspec(implementation_key(461)) VARIANT_BOOL IPDFVBASettings::GetSubsetFonts ( );
+__declspec(implementation_key(462)) void IPDFVBASettings::PutSubsetPct ( long pnLevel );
+__declspec(implementation_key(463)) long IPDFVBASettings::GetSubsetPct ( );
+__declspec(implementation_key(464)) void IPDFVBASettings::PutCompressText ( VARIANT_BOOL pbCompressText );
+__declspec(implementation_key(465)) VARIANT_BOOL IPDFVBASettings::GetCompressText ( );
+__declspec(implementation_key(466)) void IPDFVBASettings::PutEncoding ( enum pdfEncodingType pEncoding );
+__declspec(implementation_key(467)) enum pdfEncodingType IPDFVBASettings::GetEncoding ( );
+__declspec(implementation_key(468)) void IPDFVBASettings::PutDownsampleColor ( VARIANT_BOOL pbDownsample );
+__declspec(implementation_key(469)) VARIANT_BOOL IPDFVBASettings::GetDownsampleColor ( );
+__declspec(implementation_key(470)) void IPDFVBASettings::PutDownsampleGray ( VARIANT_BOOL pbDownsample );
+__declspec(implementation_key(471)) VARIANT_BOOL IPDFVBASettings::GetDownsampleGray ( );
+__declspec(implementation_key(472)) void IPDFVBASettings::PutDownsampleMono ( VARIANT_BOOL pbDownsample );
+__declspec(implementation_key(473)) VARIANT_BOOL IPDFVBASettings::GetDownsampleMono ( );
+__declspec(implementation_key(474)) void IPDFVBASettings::PutColorResolution ( long pnDownsampleResolution );
+__declspec(implementation_key(475)) long IPDFVBASettings::GetColorResolution ( );
+__declspec(implementation_key(476)) void IPDFVBASettings::PutMonoResolution ( long pnDownsampleResolution );
+__declspec(implementation_key(477)) long IPDFVBASettings::GetMonoResolution ( );
+__declspec(implementation_key(478)) void IPDFVBASettings::PutGrayResolution ( long pnDownsampleResolution );
+__declspec(implementation_key(479)) long IPDFVBASettings::GetGrayResolution ( );
+__declspec(implementation_key(480)) void IPDFVBASettings::PutHyperlinks ( VARIANT_BOOL pbIncludeHyperlinks );
+__declspec(implementation_key(481)) VARIANT_BOOL IPDFVBASettings::GetHyperlinks ( );
+__declspec(implementation_key(482)) void IPDFVBASettings::PutBookmarks ( VARIANT_BOOL pbGenerateBookmarks );
+__declspec(implementation_key(483)) VARIANT_BOOL IPDFVBASettings::GetBookmarks ( );
+__declspec(implementation_key(484)) void IPDFVBASettings::PutThumbnails ( VARIANT_BOOL pbGenerateThumbnails );
+__declspec(implementation_key(485)) VARIANT_BOOL IPDFVBASettings::GetThumbnails ( );
+__declspec(implementation_key(486)) void IPDFVBASettings::PutStartup ( enum pdfDisplayOnStart pDisplayOnStart );
+__declspec(implementation_key(487)) enum pdfDisplayOnStart IPDFVBASettings::GetStartup ( );
+__declspec(implementation_key(488)) void IPDFVBASettings::PutComplexFillsAsBitmaps ( VARIANT_BOOL pbComplexFillsAsBitmaps );
+__declspec(implementation_key(489)) VARIANT_BOOL IPDFVBASettings::GetComplexFillsAsBitmaps ( );
+__declspec(implementation_key(490)) void IPDFVBASettings::PutOverprints ( VARIANT_BOOL pbPreserveOverprints );
+__declspec(implementation_key(491)) VARIANT_BOOL IPDFVBASettings::GetOverprints ( );
+__declspec(implementation_key(492)) void IPDFVBASettings::PutHalftones ( VARIANT_BOOL pbPreserveHalftones );
+__declspec(implementation_key(493)) VARIANT_BOOL IPDFVBASettings::GetHalftones ( );
+__declspec(implementation_key(494)) void IPDFVBASettings::PutSpotColors ( VARIANT_BOOL pbPreserveSpotColors );
+__declspec(implementation_key(495)) VARIANT_BOOL IPDFVBASettings::GetSpotColors ( );
+__declspec(implementation_key(496)) void IPDFVBASettings::PutMaintainOPILinks ( VARIANT_BOOL pbMaintainOPILinks );
+__declspec(implementation_key(497)) VARIANT_BOOL IPDFVBASettings::GetMaintainOPILinks ( );
+__declspec(implementation_key(498)) void IPDFVBASettings::PutFountainSteps ( long pnFountainSteps );
+__declspec(implementation_key(499)) long IPDFVBASettings::GetFountainSteps ( );
+__declspec(implementation_key(500)) void IPDFVBASettings::PutEPSAs ( enum pdfEPSAs peEPSAs );
+__declspec(implementation_key(501)) enum pdfEPSAs IPDFVBASettings::GetEPSAs ( );
+__declspec(implementation_key(502)) void IPDFVBASettings::PutpdfVersion ( enum pdfVersion pePDFVersion );
+__declspec(implementation_key(503)) enum pdfVersion IPDFVBASettings::GetpdfVersion ( );
+__declspec(implementation_key(504)) void IPDFVBASettings::PutIncludeBleed ( VARIANT_BOOL pbIncludeBleed );
+__declspec(implementation_key(505)) VARIANT_BOOL IPDFVBASettings::GetIncludeBleed ( );
+__declspec(implementation_key(506)) void IPDFVBASettings::PutBleed ( int pnBleed );
+__declspec(implementation_key(507)) int IPDFVBASettings::GetBleed ( );
+__declspec(implementation_key(508)) void IPDFVBASettings::PutLinearize ( VARIANT_BOOL pbLinearize );
+__declspec(implementation_key(509)) VARIANT_BOOL IPDFVBASettings::GetLinearize ( );
+__declspec(implementation_key(510)) void IPDFVBASettings::PutCropMarks ( VARIANT_BOOL pbCropMarks );
+__declspec(implementation_key(511)) VARIANT_BOOL IPDFVBASettings::GetCropMarks ( );
+__declspec(implementation_key(512)) void IPDFVBASettings::PutRegistrationMarks ( VARIANT_BOOL pbRegistrationMarks );
+__declspec(implementation_key(513)) VARIANT_BOOL IPDFVBASettings::GetRegistrationMarks ( );
+__declspec(implementation_key(514)) void IPDFVBASettings::PutDensitometerScales ( VARIANT_BOOL pbDensitometerScales );
+__declspec(implementation_key(515)) VARIANT_BOOL IPDFVBASettings::GetDensitometerScales ( );
+__declspec(implementation_key(516)) void IPDFVBASettings::PutFileInformation ( VARIANT_BOOL pbFileInformation );
+__declspec(implementation_key(517)) VARIANT_BOOL IPDFVBASettings::GetFileInformation ( );
+__declspec(implementation_key(518)) void IPDFVBASettings::PutColorMode ( enum pdfColorMode peColorSet );
+__declspec(implementation_key(519)) enum pdfColorMode IPDFVBASettings::GetColorMode ( );
+__declspec(implementation_key(520)) void IPDFVBASettings::PutUseColorProfile ( VARIANT_BOOL pbUseColorProfile );
+__declspec(implementation_key(521)) VARIANT_BOOL IPDFVBASettings::GetUseColorProfile ( );
+__declspec(implementation_key(522)) void IPDFVBASettings::PutColorProfile ( enum pdfColorProfile peColorProfile );
+__declspec(implementation_key(523)) enum pdfColorProfile IPDFVBASettings::GetColorProfile ( );
+__declspec(implementation_key(524)) void IPDFVBASettings::PutEmbedFilename ( _bstr_t pszEmbedFilename );
+__declspec(implementation_key(525)) _bstr_t IPDFVBASettings::GetEmbedFilename ( );
+__declspec(implementation_key(526)) void IPDFVBASettings::PutEmbedFile ( VARIANT_BOOL pbEmbedFile );
+__declspec(implementation_key(527)) VARIANT_BOOL IPDFVBASettings::GetEmbedFile ( );
+__declspec(implementation_key(528)) void IPDFVBASettings::PutJP2QualityFactor ( int pnQuality );
+__declspec(implementation_key(529)) int IPDFVBASettings::GetJP2QualityFactor ( );
+__declspec(implementation_key(530)) void IPDFVBASettings::PutTextExportMode ( enum pdfTextExportMode pExportMode );
+__declspec(implementation_key(531)) enum pdfTextExportMode IPDFVBASettings::GetTextExportMode ( );
+__declspec(implementation_key(532)) void IPDFVBASettings::PutPrintPermissions ( enum pdfPrintPermissions pPrintPermission );
+__declspec(implementation_key(533)) enum pdfPrintPermissions IPDFVBASettings::GetPrintPermissions ( );
+__declspec(implementation_key(534)) void IPDFVBASettings::PutEditPermissions ( enum pdfEditPermissions pEditPermission );
+__declspec(implementation_key(535)) enum pdfEditPermissions IPDFVBASettings::GetEditPermissions ( );
+__declspec(implementation_key(536)) void IPDFVBASettings::PutContentCopyingAllowed ( VARIANT_BOOL pbEnable );
+__declspec(implementation_key(537)) VARIANT_BOOL IPDFVBASettings::GetContentCopyingAllowed ( );
+__declspec(implementation_key(538)) void IPDFVBASettings::PutOpenPassword ( _bstr_t pszOpenPassword );
+__declspec(implementation_key(539)) _bstr_t IPDFVBASettings::GetOpenPassword ( );
+__declspec(implementation_key(540)) void IPDFVBASettings::PutPermissionPassword ( _bstr_t pszPermissionPassword );
+__declspec(implementation_key(541)) _bstr_t IPDFVBASettings::GetPermissionPassword ( );
+__declspec(implementation_key(542)) void IPDFVBASettings::PutConvertSpotColors ( VARIANT_BOOL pbConvertSpotColors );
+__declspec(implementation_key(543)) VARIANT_BOOL IPDFVBASettings::GetConvertSpotColors ( );
+__declspec(implementation_key(544)) void IPDFVBASettings::PutEncryptType ( enum pdfEncryptionType peEncryptType );
+__declspec(implementation_key(545)) enum pdfEncryptionType IPDFVBASettings::GetEncryptType ( );
+__declspec(implementation_key(546)) void IPDFVBASettings::PutOutputSpotColorsAs ( enum pdfSpotType pnConvertSpotColorsTo );
+__declspec(implementation_key(547)) enum pdfSpotType IPDFVBASettings::GetOutputSpotColorsAs ( );
+__declspec(implementation_key(548)) void IPDFVBASettings::PutOverprintBlackLimit ( int pnOverprintBlackLimit );
+__declspec(implementation_key(549)) int IPDFVBASettings::GetOverprintBlackLimit ( );
+__declspec(implementation_key(550)) void IPDFVBASettings::PutProtectedTextAsCurves ( VARIANT_BOOL pbProtectedTextAsCurves );
+__declspec(implementation_key(551)) VARIANT_BOOL IPDFVBASettings::GetProtectedTextAsCurves ( );
+__declspec(implementation_key(552)) long IVGRectangle::GetCornerUpperLeft ( );
+__declspec(implementation_key(553)) void IVGRectangle::PutCornerUpperLeft ( long pVal );
+__declspec(implementation_key(554)) long IVGRectangle::GetCornerUpperRight ( );
+__declspec(implementation_key(555)) void IVGRectangle::PutCornerUpperRight ( long pVal );
+__declspec(implementation_key(556)) long IVGRectangle::GetCornerLowerLeft ( );
+__declspec(implementation_key(557)) void IVGRectangle::PutCornerLowerLeft ( long pVal );
+__declspec(implementation_key(558)) long IVGRectangle::GetCornerLowerRight ( );
+__declspec(implementation_key(559)) void IVGRectangle::PutCornerLowerRight ( long pVal );
+__declspec(implementation_key(560)) VARIANT_BOOL IVGRectangle::GetEqualCorners ( );
+__declspec(implementation_key(561)) double IVGRectangle::GetMaxRadius ( );
+__declspec(implementation_key(562)) HRESULT IVGRectangle::SetRoundness ( long Roundness );
+__declspec(implementation_key(563)) HRESULT IVGRectangle::SetRadius ( double Radius );
+__declspec(implementation_key(564)) double IVGRectangle::GetRadiusUpperLeft ( );
+__declspec(implementation_key(565)) void IVGRectangle::PutRadiusUpperLeft ( double pVal );
+__declspec(implementation_key(566)) double IVGRectangle::GetRadiusUpperRight ( );
+__declspec(implementation_key(567)) void IVGRectangle::PutRadiusUpperRight ( double pVal );
+__declspec(implementation_key(568)) double IVGRectangle::GetRadiusLowerLeft ( );
+__declspec(implementation_key(569)) void IVGRectangle::PutRadiusLowerLeft ( double pVal );
+__declspec(implementation_key(570)) double IVGRectangle::GetRadiusLowerRight ( );
+__declspec(implementation_key(571)) void IVGRectangle::PutRadiusLowerRight ( double pVal );
+__declspec(implementation_key(572)) enum cdrCornerType IVGRectangle::GetCornerType ( );
+__declspec(implementation_key(573)) void IVGRectangle::PutCornerType ( enum cdrCornerType pVal );
+__declspec(implementation_key(574)) VARIANT_BOOL IVGRectangle::GetRelativeCornerScaling ( );
+__declspec(implementation_key(575)) void IVGRectangle::PutRelativeCornerScaling ( VARIANT_BOOL pVal );
+__declspec(implementation_key(576)) enum cdrEllipseType IVGEllipse::GetType ( );
+__declspec(implementation_key(577)) void IVGEllipse::PutType ( enum cdrEllipseType pVal );
+__declspec(implementation_key(578)) double IVGEllipse::GetStartAngle ( );
+__declspec(implementation_key(579)) void IVGEllipse::PutStartAngle ( double pVal );
+__declspec(implementation_key(580)) double IVGEllipse::GetEndAngle ( );
+__declspec(implementation_key(581)) void IVGEllipse::PutEndAngle ( double pVal );
+__declspec(implementation_key(582)) VARIANT_BOOL IVGEllipse::GetClockwise ( );
+__declspec(implementation_key(583)) void IVGEllipse::PutClockwise ( VARIANT_BOOL pVal );
+__declspec(implementation_key(584)) double IVGEllipse::GetCenterX ( );
+__declspec(implementation_key(585)) void IVGEllipse::PutCenterX ( double pVal );
+__declspec(implementation_key(586)) double IVGEllipse::GetCenterY ( );
+__declspec(implementation_key(587)) void IVGEllipse::PutCenterY ( double pVal );
+__declspec(implementation_key(588)) double IVGEllipse::GetHRadius ( );
+__declspec(implementation_key(589)) void IVGEllipse::PutHRadius ( double pVal );
+__declspec(implementation_key(590)) double IVGEllipse::GetVRadius ( );
+__declspec(implementation_key(591)) void IVGEllipse::PutVRadius ( double pVal );
+__declspec(implementation_key(592)) HRESULT IVGEllipse::SetCenterPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(593)) HRESULT IVGEllipse::GetCenterPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(594)) HRESULT IVGEllipse::SetRadius ( double HRadius, double VRadius );
+__declspec(implementation_key(595)) HRESULT IVGEllipse::GetRadius ( double * HRadius, double * VRadius );
+__declspec(implementation_key(596)) enum cdrPolygonType IVGPolygon::GetType ( );
+__declspec(implementation_key(597)) void IVGPolygon::PutType ( enum cdrPolygonType pVal );
+__declspec(implementation_key(598)) long IVGPolygon::GetSides ( );
+__declspec(implementation_key(599)) void IVGPolygon::PutSides ( long pVal );
+__declspec(implementation_key(600)) long IVGPolygon::GetSharpness ( );
+__declspec(implementation_key(601)) void IVGPolygon::PutSharpness ( long pVal );
+__declspec(implementation_key(602)) double IVGCrossPoint::GetPositionX ( );
+__declspec(implementation_key(603)) double IVGCrossPoint::GetPositionY ( );
+__declspec(implementation_key(604)) double IVGCrossPoint::GetOffset ( );
+__declspec(implementation_key(605)) double IVGCrossPoint::GetOffset2 ( );
+__declspec(implementation_key(606)) IVGCrossPointPtr IVGCrossPoints::GetItem ( long Index );
+__declspec(implementation_key(607)) IUnknownPtr IVGCrossPoints::Get_NewEnum ( );
+__declspec(implementation_key(608)) long IVGCrossPoints::GetCount ( );
+__declspec(implementation_key(609)) void IVGStructPaletteOptions::PutNumColors ( long pVal );
+__declspec(implementation_key(610)) long IVGStructPaletteOptions::GetNumColors ( );
+__declspec(implementation_key(611)) void IVGStructPaletteOptions::PutDitherIntensity ( long pVal );
+__declspec(implementation_key(612)) long IVGStructPaletteOptions::GetDitherIntensity ( );
+__declspec(implementation_key(613)) void IVGStructPaletteOptions::PutSmoothing ( long pVal );
+__declspec(implementation_key(614)) long IVGStructPaletteOptions::GetSmoothing ( );
+__declspec(implementation_key(615)) void IVGStructPaletteOptions::PutDitherType ( enum cdrDitherType pVal );
+__declspec(implementation_key(616)) enum cdrDitherType IVGStructPaletteOptions::GetDitherType ( );
+__declspec(implementation_key(617)) void IVGStructPaletteOptions::PutPaletteType ( enum cdrImagePaletteType pVal );
+__declspec(implementation_key(618)) enum cdrImagePaletteType IVGStructPaletteOptions::GetPaletteType ( );
+__declspec(implementation_key(619)) void IVGStructPaletteOptions::PutImportance ( long pVal );
+__declspec(implementation_key(620)) long IVGStructPaletteOptions::GetImportance ( );
+__declspec(implementation_key(621)) void IVGStructPaletteOptions::PutLightness ( long pVal );
+__declspec(implementation_key(622)) long IVGStructPaletteOptions::GetLightness ( );
+__declspec(implementation_key(623)) void IVGStructPaletteOptions::PutToleranceA ( long pVal );
+__declspec(implementation_key(624)) long IVGStructPaletteOptions::GetToleranceA ( );
+__declspec(implementation_key(625)) void IVGStructPaletteOptions::PutToleranceB ( long pVal );
+__declspec(implementation_key(626)) long IVGStructPaletteOptions::GetToleranceB ( );
+__declspec(implementation_key(627)) void IVGStructPaletteOptions::PutColorSensitive ( VARIANT_BOOL pVal );
+__declspec(implementation_key(628)) VARIANT_BOOL IVGStructPaletteOptions::GetColorSensitive ( );
+__declspec(implementation_key(629)) void IVGStructPaletteOptions::PutTargetColor ( long pVal );
+__declspec(implementation_key(630)) long IVGStructPaletteOptions::GetTargetColor ( );
+__declspec(implementation_key(631)) void IVGStructPaletteOptions::PutPalette ( const _variant_t & pVal );
+__declspec(implementation_key(632)) _variant_t IVGStructPaletteOptions::GetPalette ( );
+__declspec(implementation_key(633)) long IVGOutlineStyle::GetIndex ( );
+__declspec(implementation_key(634)) long IVGOutlineStyle::GetDashCount ( );
+__declspec(implementation_key(635)) void IVGOutlineStyle::PutDashCount ( long pVal );
+__declspec(implementation_key(636)) long IVGOutlineStyle::GetDashLength ( long Index );
+__declspec(implementation_key(637)) void IVGOutlineStyle::PutDashLength ( long Index, long pVal );
+__declspec(implementation_key(638)) long IVGOutlineStyle::GetGapLength ( long Index );
+__declspec(implementation_key(639)) void IVGOutlineStyle::PutGapLength ( long Index, long pVal );
+__declspec(implementation_key(640)) VARIANT_BOOL IVGOutlineStyle::GetEnhanced ( );
+__declspec(implementation_key(641)) enum cdrPatternCanvasSize IVGPatternCanvas::GetSize ( );
+__declspec(implementation_key(642)) void IVGPatternCanvas::PutSize ( enum cdrPatternCanvasSize pVal );
+__declspec(implementation_key(643)) VARIANT_BOOL IVGPatternCanvas::GetPixel ( long x, long y );
+__declspec(implementation_key(644)) void IVGPatternCanvas::PutPixel ( long x, long y, VARIANT_BOOL pVal );
+__declspec(implementation_key(645)) long IVGPatternCanvas::GetIndex ( );
+__declspec(implementation_key(646)) HRESULT IVGPatternCanvas::FillArea ( long x1, long y1, long x2, long y2, VARIANT_BOOL State );
+__declspec(implementation_key(647)) HRESULT IVGPatternCanvas::CopyArea ( long x1, long y1, long x2, long y2, long x, long y );
+__declspec(implementation_key(648)) HRESULT IVGPatternCanvas::FlipArea ( long x1, long y1, long x2, long y2, enum cdrFlipAxes Axes );
+__declspec(implementation_key(649)) HRESULT IVGPatternCanvas::RotateArea ( long x1, long y1, long x2, long y2, double Angle );
+__declspec(implementation_key(650)) HRESULT IVGPatternCanvas::Select ( long Index );
+__declspec(implementation_key(651)) HRESULT IVGPatternCanvas::Clear ( );
+__declspec(implementation_key(652)) HRESULT IVGPatternCanvas::PutCopy ( struct IVGPatternCanvas * PatternCanvas );
+__declspec(implementation_key(653)) long IVGPatternCanvas::GetWidth ( );
+__declspec(implementation_key(654)) void IVGPatternCanvas::PutWidth ( long pVal );
+__declspec(implementation_key(655)) long IVGPatternCanvas::GetHeight ( );
+__declspec(implementation_key(656)) void IVGPatternCanvas::PutHeight ( long pVal );
+__declspec(implementation_key(657)) _bstr_t IVGPatternCanvas::GetData ( );
+__declspec(implementation_key(658)) void IVGPatternCanvas::PutData ( _bstr_t pVal );
+__declspec(implementation_key(659)) HRESULT IVGPatternCanvas::PSet ( short Step, long x, long y, VARIANT_BOOL Color );
+__declspec(implementation_key(660)) HRESULT IVGPatternCanvas::Line ( short Flags, long x1, long y1, long x2, long y2, VARIANT_BOOL Color );
+__declspec(implementation_key(661)) _bstr_t IVGTextureFillProperty::GetName ( );
+__declspec(implementation_key(662)) enum cdrTexturePropertyType IVGTextureFillProperty::GetType ( );
+__declspec(implementation_key(663)) _variant_t IVGTextureFillProperty::GetValue ( );
+__declspec(implementation_key(664)) void IVGTextureFillProperty::PutValue ( const _variant_t & pVal );
+__declspec(implementation_key(665)) long IVGTextureFillProperties::GetCount ( );
+__declspec(implementation_key(666)) IVGTextureFillPropertyPtr IVGTextureFillProperties::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(667)) IUnknownPtr IVGTextureFillProperties::Get_NewEnum ( );
+__declspec(implementation_key(668)) double IVGTextureFill::GetOriginX ( );
+__declspec(implementation_key(669)) void IVGTextureFill::PutOriginX ( double pVal );
+__declspec(implementation_key(670)) double IVGTextureFill::GetOriginY ( );
+__declspec(implementation_key(671)) void IVGTextureFill::PutOriginY ( double pVal );
+__declspec(implementation_key(672)) double IVGTextureFill::GetTileWidth ( );
+__declspec(implementation_key(673)) void IVGTextureFill::PutTileWidth ( double pVal );
+__declspec(implementation_key(674)) double IVGTextureFill::GetTileHeight ( );
+__declspec(implementation_key(675)) void IVGTextureFill::PutTileHeight ( double pVal );
+__declspec(implementation_key(676)) enum cdrTileOffsetType IVGTextureFill::GetTileOffsetType ( );
+__declspec(implementation_key(677)) void IVGTextureFill::PutTileOffsetType ( enum cdrTileOffsetType pVal );
+__declspec(implementation_key(678)) long IVGTextureFill::GetTileOffset ( );
+__declspec(implementation_key(679)) void IVGTextureFill::PutTileOffset ( long pVal );
+__declspec(implementation_key(680)) double IVGTextureFill::GetSkewAngle ( );
+__declspec(implementation_key(681)) void IVGTextureFill::PutSkewAngle ( double pVal );
+__declspec(implementation_key(682)) double IVGTextureFill::GetRotationAngle ( );
+__declspec(implementation_key(683)) void IVGTextureFill::PutRotationAngle ( double pVal );
+__declspec(implementation_key(684)) VARIANT_BOOL IVGTextureFill::GetTransformWithShape ( );
+__declspec(implementation_key(685)) void IVGTextureFill::PutTransformWithShape ( VARIANT_BOOL pVal );
+__declspec(implementation_key(686)) long IVGTextureFill::GetResolution ( );
+__declspec(implementation_key(687)) void IVGTextureFill::PutResolution ( long pVal );
+__declspec(implementation_key(688)) long IVGTextureFill::GetMaximumTileWidth ( );
+__declspec(implementation_key(689)) void IVGTextureFill::PutMaximumTileWidth ( long pVal );
+__declspec(implementation_key(690)) _bstr_t IVGTextureFill::GetLibraryName ( );
+__declspec(implementation_key(691)) _bstr_t IVGTextureFill::GetTextureName ( );
+__declspec(implementation_key(692)) _bstr_t IVGTextureFill::GetStyleName ( );
+__declspec(implementation_key(693)) HRESULT IVGTextureFill::Select ( _bstr_t Texture, _bstr_t Library );
+__declspec(implementation_key(694)) HRESULT IVGTextureFill::SetProperties ( SAFEARRAY * * SettingArray );
+__declspec(implementation_key(695)) VARIANT_BOOL IVGTextureFill::GetMirrorFill ( );
+__declspec(implementation_key(696)) void IVGTextureFill::PutMirrorFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(697)) IVGTextureFillPropertiesPtr IVGTextureFill::GetProperties ( );
+__declspec(implementation_key(698)) VARIANT_BOOL IVGTextureFill::GetMirrorFillX ( );
+__declspec(implementation_key(699)) void IVGTextureFill::PutMirrorFillX ( VARIANT_BOOL pVal );
+__declspec(implementation_key(700)) VARIANT_BOOL IVGTextureFill::GetMirrorFillY ( );
+__declspec(implementation_key(701)) void IVGTextureFill::PutMirrorFillY ( VARIANT_BOOL pVal );
+__declspec(implementation_key(702)) _bstr_t IVGPostScriptFill::GetName ( );
+__declspec(implementation_key(703)) long IVGPostScriptFill::GetIndex ( );
+__declspec(implementation_key(704)) long IVGPostScriptFill::GetProperties ( long Index );
+__declspec(implementation_key(705)) void IVGPostScriptFill::PutProperties ( long Index, long pVal );
+__declspec(implementation_key(706)) HRESULT IVGPostScriptFill::Select ( const _variant_t & IndexOrName );
+__declspec(implementation_key(707)) HRESULT IVGPostScriptFill::SetProperties ( long Param1, long Param2, long Param3, long Param4, long Param5 );
+__declspec(implementation_key(708)) long IVGPSScreenOptions::GetIndex ( );
+__declspec(implementation_key(709)) _bstr_t IVGPSScreenOptions::GetName ( );
+__declspec(implementation_key(710)) double IVGPSScreenOptions::GetAngle ( );
+__declspec(implementation_key(711)) void IVGPSScreenOptions::PutAngle ( double pVal );
+__declspec(implementation_key(712)) long IVGPSScreenOptions::GetFrequency ( );
+__declspec(implementation_key(713)) void IVGPSScreenOptions::PutFrequency ( long pVal );
+__declspec(implementation_key(714)) VARIANT_BOOL IVGPSScreenOptions::Select ( _bstr_t Name );
+__declspec(implementation_key(715)) VARIANT_BOOL IVGPSScreenOptions::SetProperties ( const _variant_t & IndexOrName, double Angle, long Frequency );
+__declspec(implementation_key(716)) _bstr_t IVGPSScreenOptions::NameByIndex ( long Index );
+__declspec(implementation_key(717)) HRESULT IVGPSScreenOptions::Reset ( );
+__declspec(implementation_key(718)) VARIANT_BOOL IVGPSScreenOptions::UserAssign ( long ParentWindowHandle );
+__declspec(implementation_key(719)) double IVGArrowHeadOptions::GetLength ( );
+__declspec(implementation_key(720)) void IVGArrowHeadOptions::PutLength ( double pVal );
+__declspec(implementation_key(721)) double IVGArrowHeadOptions::GetWidth ( );
+__declspec(implementation_key(722)) void IVGArrowHeadOptions::PutWidth ( double pVal );
+__declspec(implementation_key(723)) double IVGArrowHeadOptions::GetOffsetX ( );
+__declspec(implementation_key(724)) void IVGArrowHeadOptions::PutOffsetX ( double pVal );
+__declspec(implementation_key(725)) double IVGArrowHeadOptions::GetOffsetY ( );
+__declspec(implementation_key(726)) void IVGArrowHeadOptions::PutOffsetY ( double pVal );
+__declspec(implementation_key(727)) VARIANT_BOOL IVGArrowHeadOptions::GetFlipHorizontal ( );
+__declspec(implementation_key(728)) void IVGArrowHeadOptions::PutFlipHorizontal ( VARIANT_BOOL pVal );
+__declspec(implementation_key(729)) VARIANT_BOOL IVGArrowHeadOptions::GetFlipVertical ( );
+__declspec(implementation_key(730)) void IVGArrowHeadOptions::PutFlipVertical ( VARIANT_BOOL pVal );
+__declspec(implementation_key(731)) HRESULT IVGArrowHeadOptions::Flip ( enum cdrFlipAxes Axes );
+__declspec(implementation_key(732)) double IVGArrowHeadOptions::GetRotationAngle ( );
+__declspec(implementation_key(733)) void IVGArrowHeadOptions::PutRotationAngle ( double pVal );
+__declspec(implementation_key(734)) HRESULT IVGArrowHeadOptions::CopyAssign ( struct IVGArrowHeadOptions * Source );
+__declspec(implementation_key(735)) IVGArrowHeadOptionsPtr IVGArrowHeadOptions::GetCopy ( );
+__declspec(implementation_key(736)) VARIANT_BOOL IVGArrowHeadOptions::GetFlipVerical ( );
+__declspec(implementation_key(737)) void IVGArrowHeadOptions::PutFlipVerical ( VARIANT_BOOL pVal );
+__declspec(implementation_key(738)) long IVGImageTile::GetLeft ( );
+__declspec(implementation_key(739)) long IVGImageTile::GetTop ( );
+__declspec(implementation_key(740)) long IVGImageTile::GetRight ( );
+__declspec(implementation_key(741)) long IVGImageTile::GetBottom ( );
+__declspec(implementation_key(742)) long IVGImageTile::GetWidth ( );
+__declspec(implementation_key(743)) long IVGImageTile::GetHeight ( );
+__declspec(implementation_key(744)) long IVGImageTile::GetBytesPerTile ( );
+__declspec(implementation_key(745)) long IVGImageTile::GetBytesPerLine ( );
+__declspec(implementation_key(746)) long IVGImageTile::GetBytesPerPixel ( );
+__declspec(implementation_key(747)) SAFEARRAY * IVGImageTile::GetPixelData ( );
+__declspec(implementation_key(748)) void IVGImageTile::PutPixelData ( SAFEARRAY * * pVal );
+__declspec(implementation_key(749)) VARIANT_BOOL IVGImageTile::GetReadOnly ( );
+__declspec(implementation_key(750)) long IVGImageTiles::GetCount ( );
+__declspec(implementation_key(751)) IVGImageTilePtr IVGImageTiles::GetItem ( long Index );
+__declspec(implementation_key(752)) IUnknownPtr IVGImageTiles::Get_NewEnum ( );
+__declspec(implementation_key(753)) IVGImageTilePtr IVGImageTiles::GetFirst ( );
+__declspec(implementation_key(754)) IVGImageTilePtr IVGImageTiles::GetLast ( );
+__declspec(implementation_key(755)) void IVGStructAlignProperties::PutAlignment ( enum cdrAlignment pVal );
+__declspec(implementation_key(756)) enum cdrAlignment IVGStructAlignProperties::GetAlignment ( );
+__declspec(implementation_key(757)) void IVGStructAlignProperties::PutFirstLineIndent ( double pVal );
+__declspec(implementation_key(758)) double IVGStructAlignProperties::GetFirstLineIndent ( );
+__declspec(implementation_key(759)) void IVGStructAlignProperties::PutLeftIndent ( double pVal );
+__declspec(implementation_key(760)) double IVGStructAlignProperties::GetLeftIndent ( );
+__declspec(implementation_key(761)) void IVGStructAlignProperties::PutRightIndent ( double pVal );
+__declspec(implementation_key(762)) double IVGStructAlignProperties::GetRightIndent ( );
+__declspec(implementation_key(763)) void IVGStructAlignProperties::PutMaxWordSpacing ( float pVal );
+__declspec(implementation_key(764)) float IVGStructAlignProperties::GetMaxWordSpacing ( );
+__declspec(implementation_key(765)) void IVGStructAlignProperties::PutMinWordSpacing ( float pVal );
+__declspec(implementation_key(766)) float IVGStructAlignProperties::GetMinWordSpacing ( );
+__declspec(implementation_key(767)) void IVGStructAlignProperties::PutMaxCharacterSpacing ( float pVal );
+__declspec(implementation_key(768)) float IVGStructAlignProperties::GetMaxCharacterSpacing ( );
+__declspec(implementation_key(769)) void IVGStructAlignProperties::PutHorizontalCharacterShift ( long pVal );
+__declspec(implementation_key(770)) long IVGStructAlignProperties::GetHorizontalCharacterShift ( );
+__declspec(implementation_key(771)) void IVGStructAlignProperties::PutVerticalCharacterShift ( long pVal );
+__declspec(implementation_key(772)) long IVGStructAlignProperties::GetVerticalCharacterShift ( );
+__declspec(implementation_key(773)) void IVGStructAlignProperties::PutCharacterRotation ( float pVal );
+__declspec(implementation_key(774)) float IVGStructAlignProperties::GetCharacterRotation ( );
+__declspec(implementation_key(775)) void IVGStructSpaceProperties::PutCharacterSpacing ( float pVal );
+__declspec(implementation_key(776)) float IVGStructSpaceProperties::GetCharacterSpacing ( );
+__declspec(implementation_key(777)) void IVGStructSpaceProperties::PutWordSpacing ( float pVal );
+__declspec(implementation_key(778)) float IVGStructSpaceProperties::GetWordSpacing ( );
+__declspec(implementation_key(779)) void IVGStructSpaceProperties::PutLineSpacing ( float pVal );
+__declspec(implementation_key(780)) float IVGStructSpaceProperties::GetLineSpacing ( );
+__declspec(implementation_key(781)) void IVGStructSpaceProperties::PutLineSpacingType ( enum cdrLineSpacingType pVal );
+__declspec(implementation_key(782)) enum cdrLineSpacingType IVGStructSpaceProperties::GetLineSpacingType ( );
+__declspec(implementation_key(783)) void IVGStructSpaceProperties::PutBeforeParagraphSpacing ( float pVal );
+__declspec(implementation_key(784)) float IVGStructSpaceProperties::GetBeforeParagraphSpacing ( );
+__declspec(implementation_key(785)) void IVGStructSpaceProperties::PutAfterParagraphSpacing ( float pVal );
+__declspec(implementation_key(786)) float IVGStructSpaceProperties::GetAfterParagraphSpacing ( );
+__declspec(implementation_key(787)) void IVGStructHyphenationSettings::PutUseAutomaticHyphenation ( VARIANT_BOOL pVal );
+__declspec(implementation_key(788)) VARIANT_BOOL IVGStructHyphenationSettings::GetUseAutomaticHyphenation ( );
+__declspec(implementation_key(789)) void IVGStructHyphenationSettings::PutBreakCapitalized ( VARIANT_BOOL pVal );
+__declspec(implementation_key(790)) VARIANT_BOOL IVGStructHyphenationSettings::GetBreakCapitalized ( );
+__declspec(implementation_key(791)) void IVGStructHyphenationSettings::PutHotZone ( double pVal );
+__declspec(implementation_key(792)) double IVGStructHyphenationSettings::GetHotZone ( );
+__declspec(implementation_key(793)) void IVGStructHyphenationSettings::PutMinWordLength ( long pVal );
+__declspec(implementation_key(794)) long IVGStructHyphenationSettings::GetMinWordLength ( );
+__declspec(implementation_key(795)) void IVGStructHyphenationSettings::PutMinCharactersBefore ( long pVal );
+__declspec(implementation_key(796)) long IVGStructHyphenationSettings::GetMinCharactersBefore ( );
+__declspec(implementation_key(797)) void IVGStructHyphenationSettings::PutMinCharactersAfter ( long pVal );
+__declspec(implementation_key(798)) long IVGStructHyphenationSettings::GetMinCharactersAfter ( );
+__declspec(implementation_key(799)) void IVGStructHyphenationSettings::PutBreakAllCapWords ( VARIANT_BOOL pVal );
+__declspec(implementation_key(800)) VARIANT_BOOL IVGStructHyphenationSettings::GetBreakAllCapWords ( );
+__declspec(implementation_key(801)) _bstr_t IVGUserSnapPoint::GetID ( );
+__declspec(implementation_key(802)) VARIANT_BOOL IVGUserSnapPoint::GetAutoSnap ( );
+__declspec(implementation_key(803)) void IVGUserSnapPoint::PutAutoSnap ( VARIANT_BOOL pVal );
+__declspec(implementation_key(804)) enum cdrObjectSnapPointType IVGObjectSnapPoint::GetType ( );
+__declspec(implementation_key(805)) enum cdrReferencePoint IVGBBoxSnapPoint::GetType ( );
+__declspec(implementation_key(806)) long IVGEdgeSnapPoint::GetSegmentIndex ( );
+__declspec(implementation_key(807)) double IVGEdgeSnapPoint::GetSegmentOffset ( );
+__declspec(implementation_key(808)) _bstr_t IVGEffectCustomDistortion::GetDistortionID ( );
+__declspec(implementation_key(809)) double IVGTextTabPosition::GetPosition ( );
+__declspec(implementation_key(810)) void IVGTextTabPosition::PutPosition ( double pVal );
+__declspec(implementation_key(811)) long IVGTextTabPosition::GetIndex ( );
+__declspec(implementation_key(812)) enum cdrTextTabAlignment IVGTextTabPosition::GetAlignment ( );
+__declspec(implementation_key(813)) void IVGTextTabPosition::PutAlignment ( enum cdrTextTabAlignment pVal );
+__declspec(implementation_key(814)) VARIANT_BOOL IVGTextTabPosition::GetLeadered ( );
+__declspec(implementation_key(815)) void IVGTextTabPosition::PutLeadered ( VARIANT_BOOL pVal );
+__declspec(implementation_key(816)) HRESULT IVGTextTabPosition::Delete ( );
+__declspec(implementation_key(817)) IVGTextTabPositionPtr IVGTextTabPositions::GetItem ( long Index );
+__declspec(implementation_key(818)) long IVGTextTabPositions::GetCount ( );
+__declspec(implementation_key(819)) IUnknownPtr IVGTextTabPositions::Get_NewEnum ( );
+__declspec(implementation_key(820)) long IVGTextTabPositions::GetLeaderSpacing ( );
+__declspec(implementation_key(821)) void IVGTextTabPositions::PutLeaderSpacing ( long pVal );
+__declspec(implementation_key(822)) _bstr_t IVGTextTabPositions::GetLeaderCharacter ( );
+__declspec(implementation_key(823)) void IVGTextTabPositions::PutLeaderCharacter ( _bstr_t pVal );
+__declspec(implementation_key(824)) HRESULT IVGTextTabPositions::Clear ( );
+__declspec(implementation_key(825)) IVGTextTabPositionPtr IVGTextTabPositions::Add ( double Position, enum cdrTextTabAlignment Alignment, VARIANT_BOOL Leadered );
+__declspec(implementation_key(826)) HRESULT IVGTextTabPositions::AddEvery ( double Position, enum cdrTextTabAlignment Alignment, VARIANT_BOOL Leadered );
+__declspec(implementation_key(827)) HRESULT IVGLocalizableString::Clear ( );
+__declspec(implementation_key(828)) VARIANT_BOOL IVGLocalizableString::GetIsEmpty ( );
+__declspec(implementation_key(829)) _bstr_t IVGLocalizableString::GetLangString ( _bstr_t Language );
+__declspec(implementation_key(830)) HRESULT IVGLocalizableString::SetLangString ( _bstr_t Language, _bstr_t Value );
+__declspec(implementation_key(831)) VARIANT_BOOL IVGLocalizableString::HasLangString ( _bstr_t Language );
+__declspec(implementation_key(832)) VARIANT_BOOL IVGLocalizableString::GetHasDefaultLangString ( );
+__declspec(implementation_key(833)) VARIANT_BOOL IVGLocalizableString::GetHasDefaultLangStringOnly ( );
+__declspec(implementation_key(834)) VARIANT_BOOL IVGLocalizableString::GetHasNonDefaultLangStrings ( );
+__declspec(implementation_key(835)) _bstr_t IVGLocalizableString::GetDefaultLangString ( );
+__declspec(implementation_key(836)) void IVGLocalizableString::PutDefaultLangString ( _bstr_t pVal );
+__declspec(implementation_key(837)) SAFEARRAY * IVGLocalizableString::GetLanguages ( );
+__declspec(implementation_key(838)) IVGLocalizableStringPtr IVGFillMetadata::GetTitle ( );
+__declspec(implementation_key(839)) IVGLocalizableStringPtr IVGFillMetadata::GetDescription ( );
+__declspec(implementation_key(840)) IVGLocalizableStringPtr IVGFillMetadata::GetKeywords ( );
+__declspec(implementation_key(841)) IVGLocalizableStringPtr IVGFillMetadata::GetSubject ( );
+__declspec(implementation_key(842)) IVGLocalizableStringPtr IVGFillMetadata::GetCopyright ( );
+__declspec(implementation_key(843)) _bstr_t IVGFillMetadata::GetCreatorTool ( );
+__declspec(implementation_key(844)) DATE IVGFillMetadata::GetCreationDate ( );
+__declspec(implementation_key(845)) DATE IVGFillMetadata::GetModificationDate ( );
+__declspec(implementation_key(846)) _bstr_t IVGFillMetadata::GetDocumentID ( );
+__declspec(implementation_key(847)) _bstr_t IVGFillMetadata::GetInstanceID ( );
+__declspec(implementation_key(848)) SAFEARRAY * IVGFillMetadata::GetDerivedFrom ( );
+__declspec(implementation_key(849)) IVGLocalizableStringPtr IVGFillMetadata::GetCategory ( );
+__declspec(implementation_key(850)) long IVGTextIndentLevelStyle::GetLevel ( );
+__declspec(implementation_key(851)) _bstr_t IVGTextIndentLevelStyle::GetFont ( );
+__declspec(implementation_key(852)) void IVGTextIndentLevelStyle::PutFont ( _bstr_t pVal );
+__declspec(implementation_key(853)) VARIANT_BOOL IVGTextIndentLevelStyle::GetUseParagraphFont ( );
+__declspec(implementation_key(854)) void IVGTextIndentLevelStyle::PutUseParagraphFont ( VARIANT_BOOL pVal );
+__declspec(implementation_key(855)) _bstr_t IVGTextIndentLevelStyle::GetSymbol ( );
+__declspec(implementation_key(856)) void IVGTextIndentLevelStyle::PutSymbol ( _bstr_t pVal );
+__declspec(implementation_key(857)) float IVGTextIndentLevelStyle::GetSize ( );
+__declspec(implementation_key(858)) void IVGTextIndentLevelStyle::PutSize ( float pVal );
+__declspec(implementation_key(859)) float IVGTextIndentLevelStyle::GetBaselineShift ( );
+__declspec(implementation_key(860)) void IVGTextIndentLevelStyle::PutBaselineShift ( float pVal );
+__declspec(implementation_key(861)) VARIANT_BOOL IVGTextIndentLevelStyle::GetHangingIndent ( );
+__declspec(implementation_key(862)) void IVGTextIndentLevelStyle::PutHangingIndent ( VARIANT_BOOL pVal );
+__declspec(implementation_key(863)) double IVGTextIndentLevelStyle::GetFirstCharIndent ( );
+__declspec(implementation_key(864)) void IVGTextIndentLevelStyle::PutFirstCharIndent ( double pVal );
+__declspec(implementation_key(865)) VARIANT_BOOL IVGTextIndentLevelStyle::GetFirstCharIndentIncludesBullet ( );
+__declspec(implementation_key(866)) void IVGTextIndentLevelStyle::PutFirstCharIndentIncludesBullet ( VARIANT_BOOL pVal );
+__declspec(implementation_key(867)) _bstr_t IVGTextIndentLevelStyle::GetFormat ( );
+__declspec(implementation_key(868)) void IVGTextIndentLevelStyle::PutFormat ( _bstr_t pVal );
+__declspec(implementation_key(869)) enum cdrTextIndentLevelStyle IVGTextIndentLevelStyle::GetNumberStyle ( );
+__declspec(implementation_key(870)) void IVGTextIndentLevelStyle::PutNumberStyle ( enum cdrTextIndentLevelStyle pVal );
+__declspec(implementation_key(871)) IUnknownPtr IVGTextIndentLevelStyles::Get_NewEnum ( );
+__declspec(implementation_key(872)) IVGTextIndentLevelStylePtr IVGTextIndentLevelStyles::GetItem ( long Index );
+__declspec(implementation_key(873)) long IVGTextIndentLevelStyles::GetCount ( );
+__declspec(implementation_key(874)) long IVGTextVariableAxis::GetTag ( );
+__declspec(implementation_key(875)) _bstr_t IVGTextVariableAxis::GetName ( );
+__declspec(implementation_key(876)) double IVGTextVariableAxis::GetValue ( );
+__declspec(implementation_key(877)) void IVGTextVariableAxis::PutValue ( double pVal );
+__declspec(implementation_key(878)) double IVGTextVariableAxis::GetMinValue ( );
+__declspec(implementation_key(879)) double IVGTextVariableAxis::GetMaxValue ( );
+__declspec(implementation_key(880)) double IVGTextVariableAxis::GetDefaultValue ( );
+__declspec(implementation_key(881)) IUnknownPtr IVGTextVariableAxes::Get_NewEnum ( );
+__declspec(implementation_key(882)) IVGTextVariableAxisPtr IVGTextVariableAxes::GetItem ( long Index );
+__declspec(implementation_key(883)) long IVGTextVariableAxes::GetCount ( );
+__declspec(implementation_key(884)) enum cdrGuideType IVGGuide::GetType ( );
+__declspec(implementation_key(885)) VARIANT_BOOL IVGGuide::GetPreset ( );
+__declspec(implementation_key(886)) HRESULT IVGGuide::MakeEditable ( );
+__declspec(implementation_key(887)) double IVGGuide::GetPoint1X ( );
+__declspec(implementation_key(888)) double IVGGuide::GetPoint1Y ( );
+__declspec(implementation_key(889)) double IVGGuide::GetPoint2X ( );
+__declspec(implementation_key(890)) double IVGGuide::GetPoint2Y ( );
+__declspec(implementation_key(891)) double IVGGuide::GetAngle ( );
+__declspec(implementation_key(892)) HRESULT IVGGuide::GetPoints ( double * Point1X, double * Point1Y, double * Point2X, double * Point2Y );
+__declspec(implementation_key(893)) HRESULT IVGGuide::GetPointAndAngle ( double * PointX, double * PointY, double * Angle );
+__declspec(implementation_key(894)) HRESULT IVGGuide::SetPoints ( double Point1X, double Point1Y, double Point2X, double Point2Y );
+__declspec(implementation_key(895)) HRESULT IVGGuide::SetPointAndAngle ( double PointX, double PointY, double Angle );
+__declspec(implementation_key(896)) double IVGGuide::GetInterceptX ( );
+__declspec(implementation_key(897)) double IVGGuide::GetInterceptY ( );
+__declspec(implementation_key(898)) double IVGGuide::GetCenterX ( );
+__declspec(implementation_key(899)) double IVGGuide::GetCenterY ( );
+__declspec(implementation_key(900)) _bstr_t IVGURL::GetAddress ( );
+__declspec(implementation_key(901)) void IVGURL::PutAddress ( _bstr_t pVal );
+__declspec(implementation_key(902)) _bstr_t IVGURL::GetTargetFrame ( );
+__declspec(implementation_key(903)) void IVGURL::PutTargetFrame ( _bstr_t pVal );
+__declspec(implementation_key(904)) _bstr_t IVGURL::GetAltComment ( );
+__declspec(implementation_key(905)) void IVGURL::PutAltComment ( _bstr_t pVal );
+__declspec(implementation_key(906)) _bstr_t IVGURL::GetBookMark ( );
+__declspec(implementation_key(907)) void IVGURL::PutBookMark ( _bstr_t pVal );
+__declspec(implementation_key(908)) enum cdrURLRegion IVGURL::GetRegion ( );
+__declspec(implementation_key(909)) void IVGURL::PutRegion ( enum cdrURLRegion pVal );
+__declspec(implementation_key(910)) _bstr_t IVGCustomShape::GetTypeID ( );
+__declspec(implementation_key(911)) _bstr_t IVGOLE::GetClassID ( );
+__declspec(implementation_key(912)) _bstr_t IVGOLE::GetProgID ( );
+__declspec(implementation_key(913)) enum cdrOLEType IVGOLE::GetType ( );
+__declspec(implementation_key(914)) _bstr_t IVGOLE::GetFullName ( );
+__declspec(implementation_key(915)) _bstr_t IVGOLE::GetShortName ( );
+__declspec(implementation_key(916)) _bstr_t IVGOLE::GetServerName ( );
+__declspec(implementation_key(917)) VARIANT_BOOL IVGOLE::GetModified ( );
+__declspec(implementation_key(918)) VARIANT_BOOL IVGOLE::GetIsInPlaceActive ( );
+__declspec(implementation_key(919)) VARIANT_BOOL IVGOLE::GetIsOpen ( );
+__declspec(implementation_key(920)) VARIANT_BOOL IVGOLE::GetIsServerRunning ( );
+__declspec(implementation_key(921)) long IVGOLE::GetInPlaceWindowHandle ( );
+__declspec(implementation_key(922)) HRESULT IVGOLE::Edit ( );
+__declspec(implementation_key(923)) HRESULT IVGOLE::Open ( );
+__declspec(implementation_key(924)) HRESULT IVGOLE::Activate ( );
+__declspec(implementation_key(925)) HRESULT IVGOLE::Deactivate ( );
+__declspec(implementation_key(926)) HRESULT IVGOLE::DoVerb ( long VerbID );
+__declspec(implementation_key(927)) VARIANT_BOOL IVGOLE::GetIsLinkUpToDate ( );
+__declspec(implementation_key(928)) _bstr_t IVGOLE::GetLinkPath ( );
+__declspec(implementation_key(929)) HRESULT IVGOLE::UpdateLink ( );
+__declspec(implementation_key(930)) double IVGBSplineControlPoint::Getx ( );
+__declspec(implementation_key(931)) void IVGBSplineControlPoint::Putx ( double pVal );
+__declspec(implementation_key(932)) double IVGBSplineControlPoint::Gety ( );
+__declspec(implementation_key(933)) void IVGBSplineControlPoint::Puty ( double pVal );
+__declspec(implementation_key(934)) VARIANT_BOOL IVGBSplineControlPoint::GetClamped ( );
+__declspec(implementation_key(935)) void IVGBSplineControlPoint::PutClamped ( VARIANT_BOOL pVal );
+__declspec(implementation_key(936)) HRESULT IVGBSplineControlPoint::Move ( double x, double y );
+__declspec(implementation_key(937)) HRESULT IVGBSplineControlPoint::Delete ( );
+__declspec(implementation_key(938)) HRESULT IVGBSplineControlPoint::GetPosition ( double * x, double * y );
+__declspec(implementation_key(939)) HRESULT IVGBSplineControlPoint::SetPosition ( double x, double y );
+__declspec(implementation_key(940)) HRESULT IVGBSplineControlPoint::SetProperties ( double x, double y, VARIANT_BOOL Clamped );
+__declspec(implementation_key(941)) long IVGBSplineControlPoint::GetIndex ( );
+__declspec(implementation_key(942)) IVGBSplineControlPointPtr IVGBSplineControlPoints::GetFirst ( );
+__declspec(implementation_key(943)) IVGBSplineControlPointPtr IVGBSplineControlPoints::GetLast ( );
+__declspec(implementation_key(944)) IVGBSplineControlPointPtr IVGBSplineControlPoints::GetItem ( long Index );
+__declspec(implementation_key(945)) long IVGBSplineControlPoints::GetCount ( );
+__declspec(implementation_key(946)) IUnknownPtr IVGBSplineControlPoints::Get_NewEnum ( );
+__declspec(implementation_key(947)) HRESULT IVGBSplineControlPoints::Resize ( long HowMany );
+__declspec(implementation_key(948)) IVGBSplineControlPointsPtr IVGBSpline::GetControlPoints ( );
+__declspec(implementation_key(949)) VARIANT_BOOL IVGBSpline::GetClosed ( );
+__declspec(implementation_key(950)) void IVGBSpline::PutClosed ( VARIANT_BOOL pVal );
+__declspec(implementation_key(951)) HRESULT IVGBSpline::InsertControlPoint ( long Index, double x, double y, VARIANT_BOOL Clamped );
+__declspec(implementation_key(952)) HRESULT IVGBSpline::InsertControlPoints ( long Index, long HowMany, double x, double y, VARIANT_BOOL Clamped );
+__declspec(implementation_key(953)) IVGBSplinePtr IVGBSpline::GetCopy ( );
+__declspec(implementation_key(954)) HRESULT IVGBSpline::CopyAssign ( struct IVGBSpline * rhs );
+__declspec(implementation_key(955)) _bstr_t IStructImportCropOptions::GetFileName ( );
+__declspec(implementation_key(956)) long IStructImportCropOptions::GetFilterID ( );
+__declspec(implementation_key(957)) long IStructImportCropOptions::GetCustomData ( );
+__declspec(implementation_key(958)) long IStructImportCropOptions::GetImageWidth ( );
+__declspec(implementation_key(959)) long IStructImportCropOptions::GetImageHeight ( );
+__declspec(implementation_key(960)) long IStructImportCropOptions::GetDpiX ( );
+__declspec(implementation_key(961)) long IStructImportCropOptions::GetDpiY ( );
+__declspec(implementation_key(962)) long IStructImportCropOptions::GetWidth ( );
+__declspec(implementation_key(963)) void IStructImportCropOptions::PutWidth ( long pVal );
+__declspec(implementation_key(964)) long IStructImportCropOptions::GetHeight ( );
+__declspec(implementation_key(965)) void IStructImportCropOptions::PutHeight ( long pVal );
+__declspec(implementation_key(966)) long IStructImportCropOptions::GetLeft ( );
+__declspec(implementation_key(967)) void IStructImportCropOptions::PutLeft ( long pVal );
+__declspec(implementation_key(968)) long IStructImportCropOptions::GetTop ( );
+__declspec(implementation_key(969)) void IStructImportCropOptions::PutTop ( long pVal );
+__declspec(implementation_key(970)) VARIANT_BOOL IImportCropHandler::Crop ( struct IStructImportCropOptions * Options );
+__declspec(implementation_key(971)) _bstr_t IStructImportResampleOptions::GetFileName ( );
+__declspec(implementation_key(972)) long IStructImportResampleOptions::GetFilterID ( );
+__declspec(implementation_key(973)) long IStructImportResampleOptions::GetCustomData ( );
+__declspec(implementation_key(974)) long IStructImportResampleOptions::GetWidth ( );
+__declspec(implementation_key(975)) void IStructImportResampleOptions::PutWidth ( long pVal );
+__declspec(implementation_key(976)) long IStructImportResampleOptions::GetHeight ( );
+__declspec(implementation_key(977)) void IStructImportResampleOptions::PutHeight ( long pVal );
+__declspec(implementation_key(978)) long IStructImportResampleOptions::GetDpiX ( );
+__declspec(implementation_key(979)) void IStructImportResampleOptions::PutDpiX ( long pVal );
+__declspec(implementation_key(980)) long IStructImportResampleOptions::GetDpiY ( );
+__declspec(implementation_key(981)) void IStructImportResampleOptions::PutDpiY ( long pVal );
+__declspec(implementation_key(982)) VARIANT_BOOL IImportResampleHandler::Resample ( struct IStructImportResampleOptions * Options );
+__declspec(implementation_key(983)) enum clrColorPolicyAction IVGColorManagementPolicy::GetActionForRGB ( );
+__declspec(implementation_key(984)) void IVGColorManagementPolicy::PutActionForRGB ( enum clrColorPolicyAction pVal );
+__declspec(implementation_key(985)) enum clrColorPolicyAction IVGColorManagementPolicy::GetActionForCMYK ( );
+__declspec(implementation_key(986)) void IVGColorManagementPolicy::PutActionForCMYK ( enum clrColorPolicyAction pVal );
+__declspec(implementation_key(987)) enum clrColorPolicyAction IVGColorManagementPolicy::GetActionForGrayscale ( );
+__declspec(implementation_key(988)) void IVGColorManagementPolicy::PutActionForGrayscale ( enum clrColorPolicyAction pVal );
+__declspec(implementation_key(989)) VARIANT_BOOL IVGColorManagementPolicy::GetWarnOnMismatchedProfiles ( );
+__declspec(implementation_key(990)) void IVGColorManagementPolicy::PutWarnOnMismatchedProfiles ( VARIANT_BOOL pVal );
+__declspec(implementation_key(991)) VARIANT_BOOL IVGColorManagementPolicy::GetWarnOnMissingProfiles ( );
+__declspec(implementation_key(992)) void IVGColorManagementPolicy::PutWarnOnMissingProfiles ( VARIANT_BOOL pVal );
+__declspec(implementation_key(993)) IVGColorManagementPolicyPtr IVGStructColorConversionOptions::GetColorPolicy ( );
+__declspec(implementation_key(994)) _bstr_t IVGStructColorConversionOptions::GetSourceColorProfileList ( );
+__declspec(implementation_key(995)) void IVGStructColorConversionOptions::PutSourceColorProfileList ( _bstr_t pVal );
+__declspec(implementation_key(996)) _bstr_t IVGStructColorConversionOptions::GetTargetColorProfileList ( );
+__declspec(implementation_key(997)) void IVGStructColorConversionOptions::PutTargetColorProfileList ( _bstr_t pVal );
+__declspec(implementation_key(998)) IColorConversionHandlerPtr IVGStructColorConversionOptions::GetColorConversionHandler ( );
+__declspec(implementation_key(999)) void IVGStructColorConversionOptions::PutRefColorConversionHandler ( struct IColorConversionHandler * * ppVal );
+__declspec(implementation_key(1000)) VARIANT_BOOL IVGStructImportOptions::GetLinkBitmapExternally ( );
+__declspec(implementation_key(1001)) void IVGStructImportOptions::PutLinkBitmapExternally ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1002)) VARIANT_BOOL IVGStructImportOptions::GetCombineMultilayerBitmaps ( );
+__declspec(implementation_key(1003)) void IVGStructImportOptions::PutCombineMultilayerBitmaps ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1004)) VARIANT_BOOL IVGStructImportOptions::GetExtractICCProfile ( );
+__declspec(implementation_key(1005)) void IVGStructImportOptions::PutExtractICCProfile ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1006)) _bstr_t IVGStructImportOptions::GetICCFileName ( );
+__declspec(implementation_key(1007)) void IVGStructImportOptions::PutICCFileName ( _bstr_t pVal );
+__declspec(implementation_key(1008)) VARIANT_BOOL IVGStructImportOptions::GetMaintainLayers ( );
+__declspec(implementation_key(1009)) void IVGStructImportOptions::PutMaintainLayers ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1010)) VARIANT_BOOL IVGStructImportOptions::GetUseOPILinks ( );
+__declspec(implementation_key(1011)) void IVGStructImportOptions::PutUseOPILinks ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1012)) VARIANT_BOOL IVGStructImportOptions::GetDetectWatermark ( );
+__declspec(implementation_key(1013)) void IVGStructImportOptions::PutDetectWatermark ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1014)) enum cdrImportMode IVGStructImportOptions::GetMode ( );
+__declspec(implementation_key(1015)) void IVGStructImportOptions::PutMode ( enum cdrImportMode pVal );
+__declspec(implementation_key(1016)) long IVGStructImportOptions::GetCustomData ( );
+__declspec(implementation_key(1017)) void IVGStructImportOptions::PutCustomData ( long pVal );
+__declspec(implementation_key(1018)) long IVGStructImportOptions::GetImageIndex ( );
+__declspec(implementation_key(1019)) void IVGStructImportOptions::PutImageIndex ( long pVal );
+__declspec(implementation_key(1020)) IImportCropHandlerPtr IVGStructImportOptions::GetCropHandler ( );
+__declspec(implementation_key(1021)) void IVGStructImportOptions::PutRefCropHandler ( struct IImportCropHandler * * ppVal );
+__declspec(implementation_key(1022)) IImportResampleHandlerPtr IVGStructImportOptions::GetResampleHandler ( );
+__declspec(implementation_key(1023)) void IVGStructImportOptions::PutRefResampleHandler ( struct IImportResampleHandler * * ppVal );
+__declspec(implementation_key(1024)) enum cdrImportTextFormatting IVGStructImportOptions::GetTextFormatting ( );
+__declspec(implementation_key(1025)) void IVGStructImportOptions::PutTextFormatting ( enum cdrImportTextFormatting pVal );
+__declspec(implementation_key(1026)) enum cdrImportTableOutline IVGStructImportOptions::GetTableOutline ( );
+__declspec(implementation_key(1027)) void IVGStructImportOptions::PutTableOutline ( enum cdrImportTableOutline pVal );
+__declspec(implementation_key(1028)) long IVGStructImportOptions::GetCodePage ( );
+__declspec(implementation_key(1029)) void IVGStructImportOptions::PutCodePage ( long pVal );
+__declspec(implementation_key(1030)) long IVGStructImportOptions::GetResampleWidth ( );
+__declspec(implementation_key(1031)) void IVGStructImportOptions::PutResampleWidth ( long pVal );
+__declspec(implementation_key(1032)) long IVGStructImportOptions::GetResampleHeight ( );
+__declspec(implementation_key(1033)) void IVGStructImportOptions::PutResampleHeight ( long pVal );
+__declspec(implementation_key(1034)) long IVGStructImportOptions::GetCropLeft ( );
+__declspec(implementation_key(1035)) void IVGStructImportOptions::PutCropLeft ( long pVal );
+__declspec(implementation_key(1036)) long IVGStructImportOptions::GetCropTop ( );
+__declspec(implementation_key(1037)) void IVGStructImportOptions::PutCropTop ( long pVal );
+__declspec(implementation_key(1038)) long IVGStructImportOptions::GetCropWidth ( );
+__declspec(implementation_key(1039)) void IVGStructImportOptions::PutCropWidth ( long pVal );
+__declspec(implementation_key(1040)) long IVGStructImportOptions::GetCropHeight ( );
+__declspec(implementation_key(1041)) void IVGStructImportOptions::PutCropHeight ( long pVal );
+__declspec(implementation_key(1042)) long IVGStructImportOptions::GetResampleDpiX ( );
+__declspec(implementation_key(1043)) void IVGStructImportOptions::PutResampleDpiX ( long pVal );
+__declspec(implementation_key(1044)) long IVGStructImportOptions::GetResampleDpiY ( );
+__declspec(implementation_key(1045)) void IVGStructImportOptions::PutResampleDpiY ( long pVal );
+__declspec(implementation_key(1046)) VARIANT_BOOL IVGStructImportOptions::GetForceCMYKBlackText ( );
+__declspec(implementation_key(1047)) void IVGStructImportOptions::PutForceCMYKBlackText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1048)) VARIANT_BOOL IVGStructImportOptions::GetConvertTablesToText ( );
+__declspec(implementation_key(1049)) void IVGStructImportOptions::PutConvertTablesToText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1050)) _bstr_t IVGStructImportOptions::GetTableColumnDelimiter ( );
+__declspec(implementation_key(1051)) void IVGStructImportOptions::PutTableColumnDelimiter ( _bstr_t pVal );
+__declspec(implementation_key(1052)) IVGStructColorConversionOptionsPtr IVGStructImportOptions::GetColorConversionOptions ( );
+__declspec(implementation_key(1053)) IVGStructColorConversionOptionsPtr IVGStructPasteOptions::GetColorConversionOptions ( );
+__declspec(implementation_key(1054)) _bstr_t IVGCommentAuthor::GetEmail ( );
+__declspec(implementation_key(1055)) _bstr_t IVGCommentAuthor::GetAvatar ( );
+__declspec(implementation_key(1056)) enum cdrAuthorAuthentication IVGCommentAuthor::GetAuthentication ( );
+__declspec(implementation_key(1057)) _bstr_t IVGCommentAuthor::GetName ( );
+__declspec(implementation_key(1058)) _bstr_t IVGCommentAuthor::GetOnlineID ( );
+__declspec(implementation_key(1059)) void IVGCommentAuthor::PutOnlineID ( _bstr_t pRet );
+__declspec(implementation_key(1060)) double ICorelScriptTools::AngleConvert ( long FromUnit, long ToUnit, double Value );
+__declspec(implementation_key(1061)) double ICorelScriptTools::ASin ( double Value );
+__declspec(implementation_key(1062)) HRESULT ICorelScriptTools::BeginWaitCursor ( );
+__declspec(implementation_key(1063)) HRESULT ICorelScriptTools::EndWaitCursor ( );
+__declspec(implementation_key(1064)) DATE ICorelScriptTools::BuildDate ( long Year, long Month, long Day );
+__declspec(implementation_key(1065)) DATE ICorelScriptTools::BuildTime ( long Hour, long Minute, long Second );
+__declspec(implementation_key(1066)) long ICorelScriptTools::Dec ( _bstr_t Hex );
+__declspec(implementation_key(1067)) long ICorelScriptTools::FileAttr ( _bstr_t FolderFile );
+__declspec(implementation_key(1068)) _bstr_t ICorelScriptTools::FindFirstFolder ( _bstr_t SearchCriteria, long Attributes );
+__declspec(implementation_key(1069)) _bstr_t ICorelScriptTools::FindNextFolder ( );
+__declspec(implementation_key(1070)) _bstr_t ICorelScriptTools::FormatTime ( DATE Time, _bstr_t Format );
+__declspec(implementation_key(1071)) double ICorelScriptTools::FromCentimeters ( double Value );
+__declspec(implementation_key(1072)) double ICorelScriptTools::FromCiceros ( double Value );
+__declspec(implementation_key(1073)) double ICorelScriptTools::FromDidots ( double Value );
+__declspec(implementation_key(1074)) double ICorelScriptTools::FromInches ( double Value );
+__declspec(implementation_key(1075)) double ICorelScriptTools::FromPicas ( double Value );
+__declspec(implementation_key(1076)) double ICorelScriptTools::FromPoints ( double Value );
+__declspec(implementation_key(1077)) long ICorelScriptTools::GetAppHandle ( );
+__declspec(implementation_key(1078)) VARIANT_BOOL ICorelScriptTools::GetColor ( long * Red, long * Green, long * Blue );
+__declspec(implementation_key(1079)) _bstr_t ICorelScriptTools::GetCommandLine ( );
+__declspec(implementation_key(1080)) _bstr_t ICorelScriptTools::GetCurrFolder ( );
+__declspec(implementation_key(1081)) HRESULT ICorelScriptTools::GetDateInfo ( DATE Date, long * Year, long * Month, long * Day, long * DayOfWeek );
+__declspec(implementation_key(1082)) _bstr_t ICorelScriptTools::GetFileBox ( _bstr_t Filter, _bstr_t Title, long Type, _bstr_t File, _bstr_t Extension, _bstr_t Folder, _bstr_t Button );
+__declspec(implementation_key(1083)) _bstr_t ICorelScriptTools::GetFolder ( _bstr_t InitFolder, _bstr_t Title, long ParentWindowHandle );
+__declspec(implementation_key(1084)) VARIANT_BOOL ICorelScriptTools::GetFont ( BSTR * FaceName, long * PointSize, long * Weight, VARIANT_BOOL * Italic, VARIANT_BOOL * Underline, VARIANT_BOOL * StrikeOut, long * Red, long * Green, long * Blue );
+__declspec(implementation_key(1085)) long ICorelScriptTools::GetProcessInfo ( long ProcessHandle );
+__declspec(implementation_key(1086)) _bstr_t ICorelScriptTools::GetScriptFolder ( );
+__declspec(implementation_key(1087)) _bstr_t ICorelScriptTools::GetTempFolder ( );
+__declspec(implementation_key(1088)) HRESULT ICorelScriptTools::GetTimeInfo ( DATE Time, long * Hour, long * Minute, long * Second );
+__declspec(implementation_key(1089)) long ICorelScriptTools::GetType ( const _variant_t & Expression );
+__declspec(implementation_key(1090)) long ICorelScriptTools::GetVersion ( long Option );
+__declspec(implementation_key(1091)) long ICorelScriptTools::GetWinHandle ( );
+__declspec(implementation_key(1092)) VARIANT_BOOL ICorelScriptTools::Kill ( _bstr_t FileName );
+__declspec(implementation_key(1093)) double ICorelScriptTools::LengthConvert ( long FromUnit, long ToUnit, double Value );
+__declspec(implementation_key(1094)) double ICorelScriptTools::Log ( double Value );
+__declspec(implementation_key(1095)) VARIANT_BOOL ICorelScriptTools::MkFolder ( _bstr_t Folder );
+__declspec(implementation_key(1096)) _variant_t ICorelScriptTools::RegistryQuery ( long MainKey, _bstr_t SubKey, _bstr_t Value );
+__declspec(implementation_key(1097)) VARIANT_BOOL ICorelScriptTools::Rename ( _bstr_t Src, _bstr_t Dst, long Overwrite );
+__declspec(implementation_key(1098)) VARIANT_BOOL ICorelScriptTools::RmFolder ( _bstr_t Folder );
+__declspec(implementation_key(1099)) double ICorelScriptTools::ToCentimeters ( double Value );
+__declspec(implementation_key(1100)) double ICorelScriptTools::ToCiceros ( double Value );
+__declspec(implementation_key(1101)) double ICorelScriptTools::ToDidots ( double Value );
+__declspec(implementation_key(1102)) double ICorelScriptTools::ToInches ( double Value );
+__declspec(implementation_key(1103)) double ICorelScriptTools::ToPicas ( double Value );
+__declspec(implementation_key(1104)) double ICorelScriptTools::ToPoints ( double Value );
+__declspec(implementation_key(1105)) IDispatchPtr IVGFontList::GetApplication ( );
+__declspec(implementation_key(1106)) IDispatchPtr IVGFontList::GetParent ( );
+__declspec(implementation_key(1107)) _bstr_t IVGFontList::GetItem ( long Index );
+__declspec(implementation_key(1108)) IUnknownPtr IVGFontList::Get_NewEnum ( );
+__declspec(implementation_key(1109)) long IVGFontList::GetCount ( );
+__declspec(implementation_key(1110)) IDispatchPtr IVGAppWindow::GetApplication ( );
+__declspec(implementation_key(1111)) IDispatchPtr IVGAppWindow::GetParent ( );
+__declspec(implementation_key(1112)) HRESULT IVGAppWindow::Activate ( );
+__declspec(implementation_key(1113)) VARIANT_BOOL IVGAppWindow::GetActive ( );
+__declspec(implementation_key(1114)) _bstr_t IVGAppWindow::GetCaption ( );
+__declspec(implementation_key(1115)) void IVGAppWindow::PutCaption ( _bstr_t pVal );
+__declspec(implementation_key(1116)) long IVGAppWindow::GetHeight ( );
+__declspec(implementation_key(1117)) void IVGAppWindow::PutHeight ( long pVal );
+__declspec(implementation_key(1118)) long IVGAppWindow::GetWidth ( );
+__declspec(implementation_key(1119)) void IVGAppWindow::PutWidth ( long pVal );
+__declspec(implementation_key(1120)) long IVGAppWindow::GetLeft ( );
+__declspec(implementation_key(1121)) void IVGAppWindow::PutLeft ( long pVal );
+__declspec(implementation_key(1122)) long IVGAppWindow::GetTop ( );
+__declspec(implementation_key(1123)) void IVGAppWindow::PutTop ( long pVal );
+__declspec(implementation_key(1124)) enum cdrWindowState IVGAppWindow::GetWindowState ( );
+__declspec(implementation_key(1125)) void IVGAppWindow::PutWindowState ( enum cdrWindowState pVal );
+__declspec(implementation_key(1126)) long IVGAppWindow::GetClientWidth ( );
+__declspec(implementation_key(1127)) long IVGAppWindow::GetClientHeight ( );
+__declspec(implementation_key(1128)) long IVGAppWindow::GetHandle ( );
+__declspec(implementation_key(1129)) IVGPatternCanvasPtr IVGPatternCanvases::GetItem ( long Index );
+__declspec(implementation_key(1130)) void IVGPatternCanvases::PutItem ( long Index, struct IVGPatternCanvas * ppVal );
+__declspec(implementation_key(1131)) IUnknownPtr IVGPatternCanvases::Get_NewEnum ( );
+__declspec(implementation_key(1132)) long IVGPatternCanvases::GetCount ( );
+__declspec(implementation_key(1133)) long IVGPatternCanvases::Add ( struct IVGPatternCanvas * PatternCanvas );
+__declspec(implementation_key(1134)) HRESULT IVGPatternCanvases::Remove ( long Index );
+__declspec(implementation_key(1135)) IDispatchPtr IVGClipboard::GetApplication ( );
+__declspec(implementation_key(1136)) IDispatchPtr IVGClipboard::GetParent ( );
+__declspec(implementation_key(1137)) VARIANT_BOOL IVGClipboard::GetValid ( );
+__declspec(implementation_key(1138)) VARIANT_BOOL IVGClipboard::GetEmpty ( );
+__declspec(implementation_key(1139)) HRESULT IVGClipboard::Clear ( );
+__declspec(implementation_key(1140)) VARIANT_BOOL IVGClipboard::DataPresent ( _bstr_t FormatName );
+__declspec(implementation_key(1141)) _bstr_t IVGGMSMacro::GetName ( );
+__declspec(implementation_key(1142)) HRESULT IVGGMSMacro::Run ( );
+__declspec(implementation_key(1143)) HRESULT IVGGMSMacro::Edit ( );
+__declspec(implementation_key(1144)) HRESULT IVGGMSMacro::Delete ( );
+__declspec(implementation_key(1145)) IUnknownPtr IVGGMSMacros::Get_NewEnum ( );
+__declspec(implementation_key(1146)) IVGGMSMacroPtr IVGGMSMacros::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(1147)) long IVGGMSMacros::GetCount ( );
+__declspec(implementation_key(1148)) IVGGMSMacroPtr IVGGMSMacros::Create ( _bstr_t Name );
+__declspec(implementation_key(1149)) _bstr_t IVGGMSProject::GetName ( );
+__declspec(implementation_key(1150)) void IVGGMSProject::PutName ( _bstr_t pVal );
+__declspec(implementation_key(1151)) _bstr_t IVGGMSProject::GetDisplayName ( );
+__declspec(implementation_key(1152)) IVGGMSMacrosPtr IVGGMSProject::GetMacros ( );
+__declspec(implementation_key(1153)) HRESULT IVGGMSProject::Unload ( );
+__declspec(implementation_key(1154)) _bstr_t IVGGMSProject::GetFileName ( );
+__declspec(implementation_key(1155)) _bstr_t IVGGMSProject::GetFilePath ( );
+__declspec(implementation_key(1156)) _bstr_t IVGGMSProject::GetFullFileName ( );
+__declspec(implementation_key(1157)) VARIANT_BOOL IVGGMSProject::GetDirty ( );
+__declspec(implementation_key(1158)) void IVGGMSProject::PutDirty ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1159)) VARIANT_BOOL IVGGMSProject::GetLocked ( );
+__declspec(implementation_key(1160)) VARIANT_BOOL IVGGMSProject::GetPasswordProtected ( );
+__declspec(implementation_key(1161)) IUnknownPtr IVGGMSProjects::Get_NewEnum ( );
+__declspec(implementation_key(1162)) IVGGMSProjectPtr IVGGMSProjects::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(1163)) long IVGGMSProjects::GetCount ( );
+__declspec(implementation_key(1164)) IVGGMSProjectPtr IVGGMSProjects::Load ( _bstr_t FileName, VARIANT_BOOL CopyFile, VARIANT_BOOL ForAllUsers );
+__declspec(implementation_key(1165)) IVGGMSProjectPtr IVGGMSProjects::Create ( _bstr_t Name, VARIANT_BOOL ForAllUsers, _bstr_t FileName );
+__declspec(implementation_key(1166)) _bstr_t IVGGMSManager::GetGMSPath ( );
+__declspec(implementation_key(1167)) _variant_t IVGGMSManager::RunMacro ( _bstr_t ModuleName, _bstr_t MacroName, SAFEARRAY * * Parameters );
+__declspec(implementation_key(1168)) _bstr_t IVGGMSManager::GetUserGMSPath ( );
+__declspec(implementation_key(1169)) IVGGMSProjectsPtr IVGGMSManager::GetProjects ( );
+__declspec(implementation_key(1170)) void IVGStructSaveAsOptions::PutFilter ( enum cdrFilter pVal );
+__declspec(implementation_key(1171)) enum cdrFilter IVGStructSaveAsOptions::GetFilter ( );
+__declspec(implementation_key(1172)) void IVGStructSaveAsOptions::PutVersion ( enum cdrFileVersion pVal );
+__declspec(implementation_key(1173)) enum cdrFileVersion IVGStructSaveAsOptions::GetVersion ( );
+__declspec(implementation_key(1174)) void IVGStructSaveAsOptions::PutThumbnailSize ( enum cdrThumbnailSize pVal );
+__declspec(implementation_key(1175)) enum cdrThumbnailSize IVGStructSaveAsOptions::GetThumbnailSize ( );
+__declspec(implementation_key(1176)) void IVGStructSaveAsOptions::PutRange ( enum cdrExportRange pVal );
+__declspec(implementation_key(1177)) enum cdrExportRange IVGStructSaveAsOptions::GetRange ( );
+__declspec(implementation_key(1178)) void IVGStructSaveAsOptions::PutOverwrite ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1179)) VARIANT_BOOL IVGStructSaveAsOptions::GetOverwrite ( );
+__declspec(implementation_key(1180)) void IVGStructSaveAsOptions::PutEmbedICCProfile ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1181)) VARIANT_BOOL IVGStructSaveAsOptions::GetEmbedICCProfile ( );
+__declspec(implementation_key(1182)) void IVGStructSaveAsOptions::PutEmbedVBAProject ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1183)) VARIANT_BOOL IVGStructSaveAsOptions::GetEmbedVBAProject ( );
+__declspec(implementation_key(1184)) void IVGStructSaveAsOptions::PutIncludeCMXData ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1185)) VARIANT_BOOL IVGStructSaveAsOptions::GetIncludeCMXData ( );
+__declspec(implementation_key(1186)) void IVGStructSaveAsOptions::PutKeepAppearance ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1187)) VARIANT_BOOL IVGStructSaveAsOptions::GetKeepAppearance ( );
+__declspec(implementation_key(1188)) _bstr_t IVGComponent::GetComponentID ( );
+__declspec(implementation_key(1189)) IUnknownPtr IVGComponents::Get_NewEnum ( );
+__declspec(implementation_key(1190)) IVGComponentPtr IVGComponents::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(1191)) long IVGComponents::GetCount ( );
+__declspec(implementation_key(1192)) VARIANT_BOOL IVGComponents::IsComponentInstalled ( _bstr_t ComponentID );
+__declspec(implementation_key(1193)) HRESULT IVGAppStatus::BeginProgress ( _bstr_t Message, VARIANT_BOOL CanAbort );
+__declspec(implementation_key(1194)) HRESULT IVGAppStatus::UpdateProgress ( long Step );
+__declspec(implementation_key(1195)) HRESULT IVGAppStatus::SetProgressMessage ( _bstr_t Message );
+__declspec(implementation_key(1196)) HRESULT IVGAppStatus::EndProgress ( );
+__declspec(implementation_key(1197)) long IVGAppStatus::GetProgress ( );
+__declspec(implementation_key(1198)) void IVGAppStatus::PutProgress ( long pVal );
+__declspec(implementation_key(1199)) VARIANT_BOOL IVGAppStatus::GetAborted ( );
+__declspec(implementation_key(1200)) long IVGStructOpenOptions::GetCodePage ( );
+__declspec(implementation_key(1201)) void IVGStructOpenOptions::PutCodePage ( long pVal );
+__declspec(implementation_key(1202)) IVGStructColorConversionOptionsPtr IVGStructOpenOptions::GetColorConversionOptions ( );
+__declspec(implementation_key(1203)) HRESULT IVGOnScreenHandle::Show ( );
+__declspec(implementation_key(1204)) HRESULT IVGOnScreenHandle::Hide ( );
+__declspec(implementation_key(1205)) HRESULT IVGOnScreenHandle::SetHandleColor ( long Color );
+__declspec(implementation_key(1206)) HRESULT IVGOnScreenHandle::SetPosition ( double x, double y );
+__declspec(implementation_key(1207)) HRESULT IVGOnScreenHandle::UpdateHotTracking ( double MouseX, double MouseY );
+__declspec(implementation_key(1208)) VARIANT_BOOL IVGOnScreenHandle::GetIsHotTracked ( );
+__declspec(implementation_key(1209)) VARIANT_BOOL IVGOnScreenHandle::GetIsOnHandle ( double MouseX, double MouseY );
+__declspec(implementation_key(1210)) HRESULT IVGOnScreenText::Show ( );
+__declspec(implementation_key(1211)) HRESULT IVGOnScreenText::Hide ( );
+__declspec(implementation_key(1212)) HRESULT IVGOnScreenText::SetTextColor ( long Color );
+__declspec(implementation_key(1213)) HRESULT IVGOnScreenText::SetTextAndPosition ( _bstr_t Text, double x, double y, enum cdrOnScreenTextAlign align, double xRef, double yRef );
+__declspec(implementation_key(1214)) HRESULT IVGOnScreenText::SetText ( _bstr_t Text );
+__declspec(implementation_key(1215)) HRESULT IVGOnScreenText::SetPixelOffset ( long x, long y );
+__declspec(implementation_key(1216)) HRESULT IVGOnScreenText::UpdatePosition ( double x, double y );
+__declspec(implementation_key(1217)) HRESULT IVGToolShapeAttributes::SetCanResize ( VARIANT_BOOL val );
+__declspec(implementation_key(1218)) HRESULT IVGToolShapeAttributes::SetCanRotate ( VARIANT_BOOL val );
+__declspec(implementation_key(1219)) HRESULT IVGToolShapeAttributes::SetCanSkew ( VARIANT_BOOL val );
+__declspec(implementation_key(1220)) HRESULT IVGToolShapeAttributes::SetCanSizeDisproportionally ( VARIANT_BOOL val );
+__declspec(implementation_key(1221)) HRESULT IVGToolShapeAttributes::SetCanApplyNonlinearTransforms ( VARIANT_BOOL val );
+__declspec(implementation_key(1222)) HRESULT IVGToolShapeAttributes::SetRegenerateOnTransform ( VARIANT_BOOL val );
+__declspec(implementation_key(1223)) HRESULT IVGToolShapeAttributes::SetRegenerateOnStyleChange ( VARIANT_BOOL val );
+__declspec(implementation_key(1224)) HRESULT IVGToolShapeAttributes::SetPropertyBarGuid ( _bstr_t val );
+__declspec(implementation_key(1225)) HRESULT IVGToolShapeAttributes::SetContextMenuGuid ( _bstr_t val );
+__declspec(implementation_key(1226)) HRESULT IVGToolShapeAttributes::SetObjectManagerBitmapGuid ( _bstr_t val );
+__declspec(implementation_key(1227)) HRESULT IVGToolShapeAttributes::SetEditStateGuid ( _bstr_t val );
+__declspec(implementation_key(1228)) HRESULT IVGToolShapeAttributes::SetDefaultShapename ( _bstr_t val );
+__declspec(implementation_key(1229)) _bstr_t IVGMetadata::GetKeywords ( );
+__declspec(implementation_key(1230)) void IVGMetadata::PutKeywords ( _bstr_t pVal );
+__declspec(implementation_key(1231)) _bstr_t IVGMetadata::GetNotes ( );
+__declspec(implementation_key(1232)) void IVGMetadata::PutNotes ( _bstr_t pVal );
+__declspec(implementation_key(1233)) _bstr_t IVGMetadata::GetAuthor ( );
+__declspec(implementation_key(1234)) void IVGMetadata::PutAuthor ( _bstr_t pVal );
+__declspec(implementation_key(1235)) _bstr_t IVGMetadata::GetLastAuthor ( );
+__declspec(implementation_key(1236)) void IVGMetadata::PutLastAuthor ( _bstr_t pVal );
+__declspec(implementation_key(1237)) _bstr_t IVGMetadata::GetSubject ( );
+__declspec(implementation_key(1238)) void IVGMetadata::PutSubject ( _bstr_t pVal );
+__declspec(implementation_key(1239)) _bstr_t IVGMetadata::GetCopyright ( );
+__declspec(implementation_key(1240)) void IVGMetadata::PutCopyright ( _bstr_t pVal );
+__declspec(implementation_key(1241)) long IVGMetadata::GetRevision ( );
+__declspec(implementation_key(1242)) void IVGMetadata::PutRevision ( long pVal );
+__declspec(implementation_key(1243)) _bstr_t IVGMetadata::GetTemplateSided ( );
+__declspec(implementation_key(1244)) void IVGMetadata::PutTemplateSided ( _bstr_t pVal );
+__declspec(implementation_key(1245)) _bstr_t IVGMetadata::GetTemplateFolds ( );
+__declspec(implementation_key(1246)) void IVGMetadata::PutTemplateFolds ( _bstr_t pVal );
+__declspec(implementation_key(1247)) _bstr_t IVGMetadata::GetTemplateType ( );
+__declspec(implementation_key(1248)) void IVGMetadata::PutTemplateType ( _bstr_t pVal );
+__declspec(implementation_key(1249)) _bstr_t IVGMetadata::GetTemplateIndustry ( );
+__declspec(implementation_key(1250)) void IVGMetadata::PutTemplateIndustry ( _bstr_t pVal );
+__declspec(implementation_key(1251)) _bstr_t IVGMetadata::GetTitle ( );
+__declspec(implementation_key(1252)) void IVGMetadata::PutTitle ( _bstr_t pVal );
+__declspec(implementation_key(1253)) _bstr_t IVGMetadata::GetDocID ( );
+__declspec(implementation_key(1254)) void IVGMetadata::PutDocID ( _bstr_t pVal );
+__declspec(implementation_key(1255)) enum cdrTextLanguage IVGMetadata::GetDocLanguage ( );
+__declspec(implementation_key(1256)) void IVGMetadata::PutDocLanguage ( enum cdrTextLanguage pVal );
+__declspec(implementation_key(1257)) _bstr_t IVGMetadata::GetTemplateDesignerNotes ( );
+__declspec(implementation_key(1258)) void IVGMetadata::PutTemplateDesignerNotes ( _bstr_t pVal );
+__declspec(implementation_key(1259)) IVGLocalizableStringPtr IVGMetadata::GetLocalizableKeywords ( );
+__declspec(implementation_key(1260)) IVGLocalizableStringPtr IVGMetadata::GetLocalizableNotes ( );
+__declspec(implementation_key(1261)) IVGLocalizableStringPtr IVGMetadata::GetLocalizableTitle ( );
+__declspec(implementation_key(1262)) IVGLocalizableStringPtr IVGMetadata::GetLocalizableSubject ( );
+__declspec(implementation_key(1263)) IVGLocalizableStringPtr IVGMetadata::GetLocalizableCopyright ( );
+__declspec(implementation_key(1264)) IVGLocalizableStringPtr IVGMetadata::GetLocalizableTemplateDesignerNotes ( );
+__declspec(implementation_key(1265)) IVGLocalizableStringPtr IVGMetadata::GetCategory ( );
+__declspec(implementation_key(1266)) _bstr_t _IGlobalMacroStorage::Get_CodeName ( );
+__declspec(implementation_key(1267)) void _IGlobalMacroStorage::Put_CodeName ( _bstr_t pVal );
+__declspec(implementation_key(1268)) HRESULT DIVGDocumentEvents::QueryClose ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1269)) HRESULT DIVGDocumentEvents::QuerySave ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1270)) HRESULT DIVGDocumentEvents::QueryPrint ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1271)) HRESULT DIVGDocumentEvents::QueryExport ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1272)) HRESULT DIVGDocumentEvents::Open ( );
+__declspec(implementation_key(1273)) HRESULT DIVGDocumentEvents::Close ( );
+__declspec(implementation_key(1274)) HRESULT DIVGDocumentEvents::BeforeSave ( VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1275)) HRESULT DIVGDocumentEvents::AfterSave ( VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1276)) HRESULT DIVGDocumentEvents::BeforePrint ( );
+__declspec(implementation_key(1277)) HRESULT DIVGDocumentEvents::AfterPrint ( );
+__declspec(implementation_key(1278)) HRESULT DIVGDocumentEvents::BeforeExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1279)) HRESULT DIVGDocumentEvents::AfterExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1280)) HRESULT DIVGDocumentEvents::LayerCreate ( struct IVGLayer * Layer );
+__declspec(implementation_key(1281)) HRESULT DIVGDocumentEvents::LayerDelete ( long Count );
+__declspec(implementation_key(1282)) HRESULT DIVGDocumentEvents::LayerActivate ( struct IVGLayer * Layer );
+__declspec(implementation_key(1283)) HRESULT DIVGDocumentEvents::LayerChange ( struct IVGLayer * Layer );
+__declspec(implementation_key(1284)) HRESULT DIVGDocumentEvents::PageCreate ( struct IVGPage * Page );
+__declspec(implementation_key(1285)) HRESULT DIVGDocumentEvents::PageDelete ( long Count );
+__declspec(implementation_key(1286)) HRESULT DIVGDocumentEvents::PageActivate ( struct IVGPage * Page );
+__declspec(implementation_key(1287)) HRESULT DIVGDocumentEvents::PageChange ( struct IVGPage * Page );
+__declspec(implementation_key(1288)) HRESULT DIVGDocumentEvents::ShapeCreate ( struct IVGShape * Shape );
+__declspec(implementation_key(1289)) HRESULT DIVGDocumentEvents::ShapeDelete ( long Count );
+__declspec(implementation_key(1290)) HRESULT DIVGDocumentEvents::ShapeMove ( struct IVGShape * Shape );
+__declspec(implementation_key(1291)) HRESULT DIVGDocumentEvents::ShapeTransform ( struct IVGShape * Shape );
+__declspec(implementation_key(1292)) HRESULT DIVGDocumentEvents::ShapeDistort ( struct IVGShape * Shape );
+__declspec(implementation_key(1293)) HRESULT DIVGDocumentEvents::ShapeChange ( struct IVGShape * Shape, enum cdrShapeChangeScope Scope );
+__declspec(implementation_key(1294)) HRESULT DIVGDocumentEvents::SelectionChange ( );
+__declspec(implementation_key(1295)) HRESULT IVGDocumentEvents::QueryClose ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1296)) HRESULT IVGDocumentEvents::QuerySave ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1297)) HRESULT IVGDocumentEvents::QueryPrint ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1298)) HRESULT IVGDocumentEvents::QueryExport ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1299)) HRESULT IVGDocumentEvents::Open ( );
+__declspec(implementation_key(1300)) HRESULT IVGDocumentEvents::Close ( );
+__declspec(implementation_key(1301)) HRESULT IVGDocumentEvents::BeforeSave ( VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1302)) HRESULT IVGDocumentEvents::AfterSave ( VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1303)) HRESULT IVGDocumentEvents::BeforePrint ( );
+__declspec(implementation_key(1304)) HRESULT IVGDocumentEvents::AfterPrint ( );
+__declspec(implementation_key(1305)) HRESULT IVGDocumentEvents::BeforeExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1306)) HRESULT IVGDocumentEvents::AfterExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1307)) HRESULT IVGDocumentEvents::LayerCreate ( struct IVGLayer * Layer );
+__declspec(implementation_key(1308)) HRESULT IVGDocumentEvents::LayerDelete ( long Count );
+__declspec(implementation_key(1309)) HRESULT IVGDocumentEvents::LayerActivate ( struct IVGLayer * Layer );
+__declspec(implementation_key(1310)) HRESULT IVGDocumentEvents::LayerChange ( struct IVGLayer * Layer );
+__declspec(implementation_key(1311)) HRESULT IVGDocumentEvents::PageCreate ( struct IVGPage * Page );
+__declspec(implementation_key(1312)) HRESULT IVGDocumentEvents::PageDelete ( long Count );
+__declspec(implementation_key(1313)) HRESULT IVGDocumentEvents::PageActivate ( struct IVGPage * Page );
+__declspec(implementation_key(1314)) HRESULT IVGDocumentEvents::PageChange ( struct IVGPage * Page );
+__declspec(implementation_key(1315)) HRESULT IVGDocumentEvents::ShapeCreate ( struct IVGShape * Shape );
+__declspec(implementation_key(1316)) HRESULT IVGDocumentEvents::ShapeDelete ( long Count );
+__declspec(implementation_key(1317)) HRESULT IVGDocumentEvents::ShapeMove ( struct IVGShape * Shape );
+__declspec(implementation_key(1318)) HRESULT IVGDocumentEvents::ShapeTransform ( struct IVGShape * Shape );
+__declspec(implementation_key(1319)) HRESULT IVGDocumentEvents::ShapeDistort ( struct IVGShape * Shape );
+__declspec(implementation_key(1320)) HRESULT IVGDocumentEvents::ShapeChange ( struct IVGShape * Shape, enum cdrShapeChangeScope Scope );
+__declspec(implementation_key(1321)) HRESULT IVGDocumentEvents::SelectionChange ( );
+__declspec(implementation_key(1322)) HRESULT IVGApplicationEvents::QueryDocumentClose ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1323)) HRESULT IVGApplicationEvents::QueryDocumentSave ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1324)) HRESULT IVGApplicationEvents::QueryDocumentPrint ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1325)) HRESULT IVGApplicationEvents::QueryDocumentExport ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1326)) HRESULT IVGApplicationEvents::QueryQuit ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1327)) HRESULT IVGApplicationEvents::DocumentOpen ( struct IVGDocument * Doc, _bstr_t FileName );
+__declspec(implementation_key(1328)) HRESULT IVGApplicationEvents::DocumentNew ( struct IVGDocument * Doc, VARIANT_BOOL FromTemplate, _bstr_t Template, VARIANT_BOOL IncludeGraphics );
+__declspec(implementation_key(1329)) HRESULT IVGApplicationEvents::DocumentClose ( struct IVGDocument * Doc );
+__declspec(implementation_key(1330)) HRESULT IVGApplicationEvents::DocumentBeforeSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1331)) HRESULT IVGApplicationEvents::DocumentAfterSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1332)) HRESULT IVGApplicationEvents::DocumentBeforePrint ( struct IVGDocument * Doc );
+__declspec(implementation_key(1333)) HRESULT IVGApplicationEvents::DocumentAfterPrint ( struct IVGDocument * Doc );
+__declspec(implementation_key(1334)) HRESULT IVGApplicationEvents::DocumentBeforeExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1335)) HRESULT IVGApplicationEvents::DocumentAfterExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1336)) HRESULT IVGApplicationEvents::WindowActivate ( struct IVGDocument * Doc, struct IVGWindow * Window );
+__declspec(implementation_key(1337)) HRESULT IVGApplicationEvents::WindowDeactivate ( struct IVGDocument * Doc, struct IVGWindow * Window );
+__declspec(implementation_key(1338)) HRESULT IVGApplicationEvents::SelectionChange ( );
+__declspec(implementation_key(1339)) HRESULT IVGApplicationEvents::Start ( );
+__declspec(implementation_key(1340)) HRESULT IVGApplicationEvents::Quit ( );
+__declspec(implementation_key(1341)) HRESULT IVGApplicationEvents::OnPluginCommand ( _bstr_t CommandID );
+__declspec(implementation_key(1342)) HRESULT IVGApplicationEvents::OnUpdatePluginCommand ( _bstr_t CommandID, VARIANT_BOOL * Enabled, enum cdrCommandCheckState * Checked );
+__declspec(implementation_key(1343)) HRESULT IVGApplicationEvents::OnApplicationEvent ( _bstr_t EventName, SAFEARRAY * * Parameters );
+__declspec(implementation_key(1344)) HRESULT DIVGApplicationEvents::QueryDocumentClose ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1345)) HRESULT DIVGApplicationEvents::QueryDocumentSave ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1346)) HRESULT DIVGApplicationEvents::QueryDocumentPrint ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1347)) HRESULT DIVGApplicationEvents::QueryDocumentExport ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1348)) HRESULT DIVGApplicationEvents::QueryQuit ( VARIANT_BOOL * Cancel );
+__declspec(implementation_key(1349)) HRESULT DIVGApplicationEvents::DocumentOpen ( struct IVGDocument * Doc, _bstr_t FileName );
+__declspec(implementation_key(1350)) HRESULT DIVGApplicationEvents::DocumentNew ( struct IVGDocument * Doc, VARIANT_BOOL FromTemplate, _bstr_t Template, VARIANT_BOOL IncludeGraphics );
+__declspec(implementation_key(1351)) HRESULT DIVGApplicationEvents::DocumentClose ( struct IVGDocument * Doc );
+__declspec(implementation_key(1352)) HRESULT DIVGApplicationEvents::DocumentBeforeSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1353)) HRESULT DIVGApplicationEvents::DocumentAfterSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName );
+__declspec(implementation_key(1354)) HRESULT DIVGApplicationEvents::DocumentBeforePrint ( struct IVGDocument * Doc );
+__declspec(implementation_key(1355)) HRESULT DIVGApplicationEvents::DocumentAfterPrint ( struct IVGDocument * Doc );
+__declspec(implementation_key(1356)) HRESULT DIVGApplicationEvents::DocumentBeforeExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1357)) HRESULT DIVGApplicationEvents::DocumentAfterExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap );
+__declspec(implementation_key(1358)) HRESULT DIVGApplicationEvents::WindowActivate ( struct IVGDocument * Doc, struct IVGWindow * Window );
+__declspec(implementation_key(1359)) HRESULT DIVGApplicationEvents::WindowDeactivate ( struct IVGDocument * Doc, struct IVGWindow * Window );
+__declspec(implementation_key(1360)) HRESULT DIVGApplicationEvents::SelectionChange ( );
+__declspec(implementation_key(1361)) HRESULT DIVGApplicationEvents::Start ( );
+__declspec(implementation_key(1362)) HRESULT DIVGApplicationEvents::Quit ( );
+__declspec(implementation_key(1363)) HRESULT DIVGApplicationEvents::OnPluginCommand ( _bstr_t CommandID );
+__declspec(implementation_key(1364)) HRESULT DIVGApplicationEvents::OnUpdatePluginCommand ( _bstr_t CommandID, VARIANT_BOOL * Enabled, enum cdrCommandCheckState * Checked );
+__declspec(implementation_key(1365)) HRESULT DIVGApplicationEvents::OnApplicationEvent ( _bstr_t EventName, SAFEARRAY * * Parameters );
+__declspec(implementation_key(1366)) ICUICommandBarsPtr ICUIFrameWork::GetCommandBars ( );
+__declspec(implementation_key(1367)) ICUICommandBarPtr ICUIFrameWork::GetMainMenu ( );
+__declspec(implementation_key(1368)) ICUICommandBarPtr ICUIFrameWork::GetStatusBar ( );
+__declspec(implementation_key(1369)) _bstr_t ICUIFrameWork::GetName ( );
+__declspec(implementation_key(1370)) HRESULT ICUIFrameWork::ImportWorkspace ( _bstr_t FileName );
+__declspec(implementation_key(1371)) ICUIAutomationPtr ICUIFrameWork::GetAutomation ( );
+__declspec(implementation_key(1372)) HRESULT ICUIFrameWork::ShowDocker ( _bstr_t Guid );
+__declspec(implementation_key(1373)) HRESULT ICUIFrameWork::HideDocker ( _bstr_t Guid );
+__declspec(implementation_key(1374)) VARIANT_BOOL ICUIFrameWork::IsDockerVisible ( _bstr_t Guid );
+__declspec(implementation_key(1375)) HRESULT ICUIFrameWork::AddDocker ( _bstr_t Guid, _bstr_t ClassName, _bstr_t AssemblyPath );
+__declspec(implementation_key(1376)) HRESULT ICUIFrameWork::RemoveDocker ( _bstr_t Guid );
+__declspec(implementation_key(1377)) ICUIFrameWindowsPtr ICUIFrameWork::GetFrameWindows ( );
+__declspec(implementation_key(1378)) ICUIFrameWindowPtr ICUIFrameWork::GetMainFrameWindow ( );
+__declspec(implementation_key(1379)) ICUIApplicationPtr ICUIFrameWork::GetApplication ( );
+__declspec(implementation_key(1380)) ICUIFrameWindowPtr ICUIFrameWork::CreateFrameWindowForViewHost ( struct ICUIViewHost * ViewHostToInsert );
+__declspec(implementation_key(1381)) ICUIFrameWindowPtr ICUIFrameWork::CreateFrameWindowForView ( struct ICUIViewWindow * ViewToInsert );
+__declspec(implementation_key(1382)) HRESULT ICUIFrameWork::ShowDialog ( _bstr_t Guid );
+__declspec(implementation_key(1383)) HRESULT ICUIFrameWork::HideDialog ( _bstr_t Guid );
+__declspec(implementation_key(1384)) long ICUIFrameWork::ShowMessageBox ( _bstr_t szMessage, _bstr_t szMainInstruction, long unFlags, struct ICUIBitmapImage * pImage, _bstr_t szHelpGuid, _bstr_t szWarningName, enum cuiMessageBoxFlags eFlags, struct ICUIDataContext * pDataContext );
+__declspec(implementation_key(1385)) ICUIWarningPtr ICUIFrameWork::GetWarning ( _bstr_t szWarningID, VARIANT_BOOL bHidden );
+__declspec(implementation_key(1386)) ICUITaskManagerPtr ICUIFrameWork::GetTaskManager ( );
+__declspec(implementation_key(1387)) long ICUIFrameWindows::GetCount ( );
+__declspec(implementation_key(1388)) ICUIFrameWindowPtr ICUIFrameWindows::GetItem ( long Index );
+__declspec(implementation_key(1389)) IUnknownPtr ICUIFrameWindows::Get_NewEnum ( );
+__declspec(implementation_key(1390)) ICUIFrameWindowPtr ICUIFrameWindows::Find ( _bstr_t ID );
+__declspec(implementation_key(1391)) ICUIFrameWindowPtr ICUIFrameWindows::GetFirst ( );
+__declspec(implementation_key(1392)) ICUIFrameWindowPtr ICUIFrameWindows::GetLast ( );
+__declspec(implementation_key(1393)) _bstr_t ICUIFrameWindow::GetID ( );
+__declspec(implementation_key(1394)) _bstr_t ICUIFrameWindow::GetCaption ( );
+__declspec(implementation_key(1395)) HRESULT ICUIFrameWindow::Minimize ( );
+__declspec(implementation_key(1396)) HRESULT ICUIFrameWindow::Maximize ( );
+__declspec(implementation_key(1397)) HRESULT ICUIFrameWindow::Restore ( );
+__declspec(implementation_key(1398)) enum cuiWindowState ICUIFrameWindow::GetState ( );
+__declspec(implementation_key(1399)) VARIANT_BOOL ICUIFrameWindow::GetIsMainFrame ( );
+__declspec(implementation_key(1400)) HRESULT ICUIFrameWindow::Close ( );
+__declspec(implementation_key(1401)) HRESULT ICUIFrameWindow::Activate ( );
+__declspec(implementation_key(1402)) VARIANT_BOOL ICUIFrameWindow::GetIsActive ( );
+__declspec(implementation_key(1403)) long ICUIFrameWindow::GetHandle ( );
+__declspec(implementation_key(1404)) HRESULT ICUIFrameWindow::TileViews ( VARIANT_BOOL TileHorizontally );
+__declspec(implementation_key(1405)) HRESULT ICUIFrameWindow::CombineViews ( );
+__declspec(implementation_key(1406)) ICUIViewHostsPtr ICUIFrameWindow::GetViewHosts ( );
+__declspec(implementation_key(1407)) ICUIDockHostsPtr ICUIFrameWindow::GetDockHosts ( );
+__declspec(implementation_key(1408)) ICUIDockHostPtr ICUIFrameWindow::GetRootDockHost ( );
+__declspec(implementation_key(1409)) ICUIScreenRectPtr ICUIFrameWindow::GetPosition ( );
+__declspec(implementation_key(1410)) long ICUIViewHosts::GetCount ( );
+__declspec(implementation_key(1411)) ICUIViewHostPtr ICUIViewHosts::GetItem ( long Index );
+__declspec(implementation_key(1412)) IUnknownPtr ICUIViewHosts::Get_NewEnum ( );
+__declspec(implementation_key(1413)) ICUIViewHostPtr ICUIViewHosts::Find ( _bstr_t ID );
+__declspec(implementation_key(1414)) ICUIViewHostPtr ICUIViewHosts::GetFirst ( );
+__declspec(implementation_key(1415)) ICUIViewHostPtr ICUIViewHosts::GetLast ( );
+__declspec(implementation_key(1416)) _bstr_t ICUIViewHost::GetID ( );
+__declspec(implementation_key(1417)) ICUIDockHostPtr ICUIViewHost::GetDockHost ( );
+__declspec(implementation_key(1418)) ICUIViewWindowsPtr ICUIViewHost::GetViews ( );
+__declspec(implementation_key(1419)) ICUIDockItemPtr ICUIViewHost::GetDockItem ( );
+__declspec(implementation_key(1420)) ICUIScreenRectPtr ICUIViewHost::GetPosition ( );
+__declspec(implementation_key(1421)) HRESULT ICUIViewHost::InsertView ( struct ICUIViewWindow * ViewToInsert, long Index );
+__declspec(implementation_key(1422)) HRESULT ICUIViewHost::InsertViewHost ( struct ICUIViewHost * ViewHostToInsert, long Index );
+__declspec(implementation_key(1423)) _bstr_t ICUIViewWindow::GetID ( );
+__declspec(implementation_key(1424)) ICUIViewHostPtr ICUIViewWindow::GetViewHost ( );
+__declspec(implementation_key(1425)) long ICUIViewWindow::GetIndex ( );
+__declspec(implementation_key(1426)) _bstr_t ICUIViewWindow::GetKind ( );
+__declspec(implementation_key(1427)) _bstr_t ICUIViewWindow::GetTitle ( );
+__declspec(implementation_key(1428)) _bstr_t ICUIViewWindow::GetDescription ( );
+__declspec(implementation_key(1429)) ICUIScreenRectPtr ICUIViewWindow::GetPosition ( );
+__declspec(implementation_key(1430)) HRESULT ICUIViewWindow::Activate ( );
+__declspec(implementation_key(1431)) HRESULT ICUIViewWindow::Close ( );
+__declspec(implementation_key(1432)) IDispatchPtr ICUIViewWindow::GetAppView ( );
+__declspec(implementation_key(1433)) long ICUIViewWindows::GetCount ( );
+__declspec(implementation_key(1434)) ICUIViewWindowPtr ICUIViewWindows::GetItem ( long Index );
+__declspec(implementation_key(1435)) IUnknownPtr ICUIViewWindows::Get_NewEnum ( );
+__declspec(implementation_key(1436)) ICUIViewWindowPtr ICUIViewWindows::Find ( _bstr_t ID );
+__declspec(implementation_key(1437)) ICUIViewWindowPtr ICUIViewWindows::GetFirst ( );
+__declspec(implementation_key(1438)) ICUIViewWindowPtr ICUIViewWindows::GetLast ( );
+__declspec(implementation_key(1439)) _bstr_t ICUIDockHost::GetID ( );
+__declspec(implementation_key(1440)) enum cuiDockHostOrientation ICUIDockHost::GetOrientation ( );
+__declspec(implementation_key(1441)) ICUIDockHostPtr ICUIDockHost::GetParentDockHost ( );
+__declspec(implementation_key(1442)) ICUIDockItemPtr ICUIDockHost::GetDockItem ( );
+__declspec(implementation_key(1443)) ICUIDockItemsPtr ICUIDockHost::GetChildren ( );
+__declspec(implementation_key(1444)) HRESULT ICUIDockHost::InsertViewHost ( struct ICUIViewHost * ViewHostToInsert, long Index, enum cuiDockOperation Operation );
+__declspec(implementation_key(1445)) ICUIViewHostPtr ICUIDockHost::InsertView ( struct ICUIViewWindow * ViewToInsert, long Index, enum cuiDockOperation Operation );
+__declspec(implementation_key(1446)) ICUIScreenRectPtr ICUIDockHost::GetPosition ( );
+__declspec(implementation_key(1447)) _bstr_t ICUIDockItem::GetID ( );
+__declspec(implementation_key(1448)) enum cuiDockItemType ICUIDockItem::GetType ( );
+__declspec(implementation_key(1449)) ICUIViewHostPtr ICUIDockItem::GetViewHost ( );
+__declspec(implementation_key(1450)) ICUIDockHostPtr ICUIDockItem::GetDockHost ( );
+__declspec(implementation_key(1451)) long ICUIDockItem::GetIndex ( );
+__declspec(implementation_key(1452)) long ICUIDockItem::GetRelativeSize ( );
+__declspec(implementation_key(1453)) void ICUIDockItem::PutRelativeSize ( long pVal );
+__declspec(implementation_key(1454)) ICUIScreenRectPtr ICUIDockItem::GetPosition ( );
+__declspec(implementation_key(1455)) long ICUIDockItems::GetCount ( );
+__declspec(implementation_key(1456)) ICUIDockItemPtr ICUIDockItems::GetItem ( long Index );
+__declspec(implementation_key(1457)) IUnknownPtr ICUIDockItems::Get_NewEnum ( );
+__declspec(implementation_key(1458)) ICUIDockItemPtr ICUIDockItems::Find ( _bstr_t ID );
+__declspec(implementation_key(1459)) ICUIDockItemPtr ICUIDockItems::GetFirst ( );
+__declspec(implementation_key(1460)) ICUIDockItemPtr ICUIDockItems::GetLast ( );
+__declspec(implementation_key(1461)) long ICUIDockHosts::GetCount ( );
+__declspec(implementation_key(1462)) ICUIDockHostPtr ICUIDockHosts::GetItem ( long Index );
+__declspec(implementation_key(1463)) IUnknownPtr ICUIDockHosts::Get_NewEnum ( );
+__declspec(implementation_key(1464)) ICUIDockHostPtr ICUIDockHosts::Find ( _bstr_t ID );
+__declspec(implementation_key(1465)) ICUIDockHostPtr ICUIDockHosts::GetFirst ( );
+__declspec(implementation_key(1466)) ICUIDockHostPtr ICUIDockHosts::GetLast ( );
+__declspec(implementation_key(1467)) ICUIDataContextPtr ICUIApplication::GetDataContext ( );
+__declspec(implementation_key(1468)) VARIANT_BOOL ICUIApplication::RegisterDataSource ( _bstr_t DataSourceName, struct ICUIDataSourceFactory * Factory, _bstr_t CategoryList, VARIANT_BOOL AutoCreateInstance );
+__declspec(implementation_key(1469)) VARIANT_BOOL ICUIApplication::UnregisterDataSource ( _bstr_t DataSourceName );
+__declspec(implementation_key(1470)) ICUIImageListPtr ICUIApplication::CreateImageList ( );
+__declspec(implementation_key(1471)) ICUIFrameWorkPtr ICUIApplication::GetFrameWork ( );
+__declspec(implementation_key(1472)) ICUIScreenRectPtr ICUIApplication::CreateScreenRect ( long Left, long Top, long Width, long Height );
+__declspec(implementation_key(1473)) ICUIBitmapImagePtr ICUIApplication::CreateBitmapImage ( const _variant_t & ImageData, long MaxSize );
+__declspec(implementation_key(1474)) ICUIStatusTextPtr ICUIApplication::CreateStatusText ( );
+__declspec(implementation_key(1475)) _bstr_t ICUIApplication::LoadLocalizedString ( _bstr_t Guid );
+__declspec(implementation_key(1476)) ICUIDataSourceFactoryPtr ICUIApplication::CreateDataSourceFactory ( IDispatch * DataSourceFactoryObject );
+__declspec(implementation_key(1477)) HRESULT ICUIDataSourceProxy::UpdateListeners ( _bstr_t ListenerNames );
+__declspec(implementation_key(1478)) ICUIApplicationPtr ICUIDataSourceProxy::GetApplication ( );
+__declspec(implementation_key(1479)) _bstr_t ICUIDataSourceProxy::GetName ( );
+__declspec(implementation_key(1480)) HRESULT ICUIDataSourceProxy::InvokeMethod ( _bstr_t MethodName );
+__declspec(implementation_key(1481)) _variant_t ICUIDataSourceProxy::GetProperty ( _bstr_t PropertyName );
+__declspec(implementation_key(1482)) HRESULT ICUIDataSourceProxy::SetProperty ( _bstr_t PropertyName, const _variant_t & Value );
+__declspec(implementation_key(1483)) ICUIDataContextPtr ICUIDataContext::CreateChildDataContext ( _bstr_t CategoryList );
+__declspec(implementation_key(1484)) _bstr_t ICUIDataContext::GetCategories ( );
+__declspec(implementation_key(1485)) VARIANT_BOOL ICUIDataContext::HasCategory ( _bstr_t Category );
+__declspec(implementation_key(1486)) ICUIDataSourceProxyPtr ICUIDataContext::AddDataSource ( _bstr_t DataSourceName, IDispatch * DataSourceObject );
+__declspec(implementation_key(1487)) VARIANT_BOOL ICUIDataContext::ShowDialog ( _bstr_t dialogID );
+__declspec(implementation_key(1488)) ICUIDataSourceProxyPtr ICUIDataContext::GetDataSource ( _bstr_t DataSourceName );
+__declspec(implementation_key(1489)) IDispatchPtr ICUIDataSourceFactory::CreateDataSource ( _bstr_t DataSourceName, struct ICUIDataSourceProxy * Proxy );
+__declspec(implementation_key(1490)) IVGApplicationPtr IVGDocument::GetApplication ( );
+__declspec(implementation_key(1491)) IVGDocumentsPtr IVGDocument::GetParent ( );
+__declspec(implementation_key(1492)) _bstr_t IVGDocument::GetName ( );
+__declspec(implementation_key(1493)) HRESULT IVGDocument::SaveAs ( _bstr_t FileName, struct IVGStructSaveAsOptions * Options );
+__declspec(implementation_key(1494)) HRESULT IVGDocument::Save ( );
+__declspec(implementation_key(1495)) IVGPagesPtr IVGDocument::GetPages ( );
+__declspec(implementation_key(1496)) enum cdrReferencePoint IVGDocument::GetReferencePoint ( );
+__declspec(implementation_key(1497)) void IVGDocument::PutReferencePoint ( enum cdrReferencePoint pRefPoint );
+__declspec(implementation_key(1498)) VARIANT_BOOL IVGDocument::GetApplyToDuplicate ( );
+__declspec(implementation_key(1499)) void IVGDocument::PutApplyToDuplicate ( VARIANT_BOOL ApplyToDuplicate );
+__declspec(implementation_key(1500)) IVGPagePtr IVGDocument::GetActivePage ( );
+__declspec(implementation_key(1501)) IVGLayerPtr IVGDocument::GetActiveLayer ( );
+__declspec(implementation_key(1502)) IVGWindowsPtr IVGDocument::GetWindows ( );
+__declspec(implementation_key(1503)) IVGWindowPtr IVGDocument::GetActiveWindow ( );
+__declspec(implementation_key(1504)) HRESULT IVGDocument::Close ( );
+__declspec(implementation_key(1505)) HRESULT IVGDocument::Undo ( long Levels );
+__declspec(implementation_key(1506)) HRESULT IVGDocument::Redo ( long Levels );
+__declspec(implementation_key(1507)) HRESULT IVGDocument::Repeat ( );
+__declspec(implementation_key(1508)) HRESULT IVGDocument::Activate ( );
+__declspec(implementation_key(1509)) enum cdrUnit IVGDocument::GetUnit ( );
+__declspec(implementation_key(1510)) void IVGDocument::PutUnit ( enum cdrUnit pnUnit );
+__declspec(implementation_key(1511)) double IVGDocument::GetDrawingOriginX ( );
+__declspec(implementation_key(1512)) void IVGDocument::PutDrawingOriginX ( double plX );
+__declspec(implementation_key(1513)) double IVGDocument::GetDrawingOriginY ( );
+__declspec(implementation_key(1514)) void IVGDocument::PutDrawingOriginY ( double plY );
+__declspec(implementation_key(1515)) IVGPagePtr IVGDocument::AddPages ( long NumberOfPages );
+__declspec(implementation_key(1516)) IVGPagePtr IVGDocument::InsertPages ( long NumberOfPages, VARIANT_BOOL BeforePage, long Page );
+__declspec(implementation_key(1517)) IVGShapePtr IVGDocument::Selection ( );
+__declspec(implementation_key(1518)) HRESULT IVGDocument::ClearSelection ( );
+__declspec(implementation_key(1519)) HRESULT IVGDocument::Export ( _bstr_t FileName, enum cdrFilter Filter, enum cdrExportRange Range, struct IVGStructExportOptions * Options, struct IVGStructPaletteOptions * PaletteOptions );
+__declspec(implementation_key(1520)) HRESULT IVGDocument::ResolveAllBitmapsLinks ( );
+__declspec(implementation_key(1521)) VARIANT_BOOL IVGDocument::GetDirty ( );
+__declspec(implementation_key(1522)) void IVGDocument::PutDirty ( VARIANT_BOOL Dirty );
+__declspec(implementation_key(1523)) long IVGDocument::GetUserClick ( double * x, double * y, long * ShiftState, long TimeOut, VARIANT_BOOL Snap, enum cdrCursorShape CursorShape );
+__declspec(implementation_key(1524)) long IVGDocument::GetUserArea ( double * x1, double * y1, double * x2, double * y2, long * ShiftState, long TimeOut, VARIANT_BOOL Snap, enum cdrCursorShape CursorShape );
+__declspec(implementation_key(1525)) HRESULT IVGDocument::BeginCommandGroup ( _bstr_t CommandName );
+__declspec(implementation_key(1526)) HRESULT IVGDocument::EndCommandGroup ( );
+__declspec(implementation_key(1527)) _bstr_t IVGDocument::GetFilePath ( );
+__declspec(implementation_key(1528)) _bstr_t IVGDocument::GetFileName ( );
+__declspec(implementation_key(1529)) _bstr_t IVGDocument::GetFullFileName ( );
+__declspec(implementation_key(1530)) long IVGDocument::GetResolution ( );
+__declspec(implementation_key(1531)) void IVGDocument::PutResolution ( long pResolution );
+__declspec(implementation_key(1532)) enum cdrShapeEnumDirection IVGDocument::GetShapeEnumDirection ( );
+__declspec(implementation_key(1533)) void IVGDocument::PutShapeEnumDirection ( enum cdrShapeEnumDirection peDirection );
+__declspec(implementation_key(1534)) IVGShapeRangePtr IVGDocument::GetSelectionRange ( );
+__declspec(implementation_key(1535)) IVGRulersPtr IVGDocument::GetRulers ( );
+__declspec(implementation_key(1536)) IVGGridPtr IVGDocument::GetGrid ( );
+__declspec(implementation_key(1537)) IVGViewsPtr IVGDocument::GetViews ( );
+__declspec(implementation_key(1538)) IVGViewPtr IVGDocument::CreateView ( _bstr_t Name, double OriginX, double OriginY, long Zoom, struct IVGPage * Page );
+__declspec(implementation_key(1539)) IVGPowerClipPtr IVGDocument::GetActivePowerClip ( );
+__declspec(implementation_key(1540)) long IVGDocument::AdviseEvents ( IDispatch * EventSink );
+__declspec(implementation_key(1541)) HRESULT IVGDocument::UnadviseEvents ( long Cookie );
+__declspec(implementation_key(1542)) double IVGDocument::GetWorldScale ( );
+__declspec(implementation_key(1543)) void IVGDocument::PutWorldScale ( double Scale );
+__declspec(implementation_key(1544)) HRESULT IVGDocument::PrintOut ( );
+__declspec(implementation_key(1545)) IVGShapePtr IVGDocument::GetActiveShape ( );
+__declspec(implementation_key(1546)) long IVGDocument::GetCurvePrecision ( );
+__declspec(implementation_key(1547)) IVGPagePtr IVGDocument::AddPagesEx ( long NumberOfPages, double Width, double Height );
+__declspec(implementation_key(1548)) IVGPagePtr IVGDocument::InsertPagesEx ( long NumberOfPages, VARIANT_BOOL BeforePage, long Page, double Width, double Height );
+__declspec(implementation_key(1549)) _bstr_t IVGDocument::GetTitle ( );
+__declspec(implementation_key(1550)) HRESULT IVGDocument::SaveSettings ( _bstr_t Tag );
+__declspec(implementation_key(1551)) HRESULT IVGDocument::RestoreSettings ( _bstr_t Tag );
+__declspec(implementation_key(1552)) VARIANT_BOOL IVGDocument::GetActive ( );
+__declspec(implementation_key(1553)) long IVGDocument::GetIndex ( );
+__declspec(implementation_key(1554)) ICorelExportFilterPtr IVGDocument::ExportEx ( _bstr_t FileName, enum cdrFilter Filter, enum cdrExportRange Range, struct IVGStructExportOptions * Options, struct IVGStructPaletteOptions * PaletteOptions );
+__declspec(implementation_key(1555)) ICorelExportFilterPtr IVGDocument::ExportBitmap ( _bstr_t FileName, enum cdrFilter Filter, enum cdrExportRange Range, enum cdrImageType ImageType, long Width, long Height, long ResolutionX, long ResolutionY, enum cdrAntiAliasingType AntiAliasingType, VARIANT_BOOL Dithered, VARIANT_BOOL Transparent, VARIANT_BOOL UseColorProfile, VARIANT_BOOL MaintainLayers, enum cdrCompressionType Compression, struct IVGStructPaletteOptions * PaletteOptions, struct IVGRect * ExportArea );
+__declspec(implementation_key(1556)) VARIANT_BOOL IVGDocument::GetEditAcrossLayers ( );
+__declspec(implementation_key(1557)) void IVGDocument::PutEditAcrossLayers ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1558)) IVGPropertiesPtr IVGDocument::GetProperties ( );
+__declspec(implementation_key(1559)) void IVGDocument::PutCurvePrecision ( long lpPrec );
+__declspec(implementation_key(1560)) IPrnVBAPrintSettingsPtr IVGDocument::GetPrintSettings ( );
+__declspec(implementation_key(1561)) _bstr_t IVGDocument::GetKeywords ( );
+__declspec(implementation_key(1562)) void IVGDocument::PutKeywords ( _bstr_t pVal );
+__declspec(implementation_key(1563)) _bstr_t IVGDocument::GetNotes ( );
+__declspec(implementation_key(1564)) void IVGDocument::PutNotes ( _bstr_t pVal );
+__declspec(implementation_key(1565)) VARIANT_BOOL IVGDocument::GetPreserveSelection ( );
+__declspec(implementation_key(1566)) void IVGDocument::PutPreserveSelection ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1567)) HRESULT IVGDocument::ResetSettings ( );
+__declspec(implementation_key(1568)) IVGDataFieldsPtr IVGDocument::GetDataFields ( );
+__declspec(implementation_key(1569)) IPDFVBASettingsPtr IVGDocument::GetPDFSettings ( );
+__declspec(implementation_key(1570)) HRESULT IVGDocument::PublishToPDF ( _bstr_t FileName );
+__declspec(implementation_key(1571)) IVGSelectionInformationPtr IVGDocument::GetSelectionInfo ( );
+__declspec(implementation_key(1572)) IVGPageSizesPtr IVGDocument::GetPageSizes ( );
+__declspec(implementation_key(1573)) IVGComponentsPtr IVGDocument::GetComponents ( );
+__declspec(implementation_key(1574)) IVGSymbolLibraryPtr IVGDocument::GetSymbolLibrary ( );
+__declspec(implementation_key(1575)) IVGCurvePtr IVGDocument::CreateCurve ( );
+__declspec(implementation_key(1576)) IVGCurvePtr IVGDocument::CreateCurveFromArray ( SAFEARRAY * * Source, long NumElements );
+__declspec(implementation_key(1577)) HRESULT IVGDocument::LoadStyleSheet ( _bstr_t FileName );
+__declspec(implementation_key(1578)) HRESULT IVGDocument::SaveStyleSheet ( _bstr_t FileName );
+__declspec(implementation_key(1579)) HRESULT IVGDocument::SaveStyleSheetAsDefault ( );
+__declspec(implementation_key(1580)) HRESULT IVGDocument::CreateSelection ( SAFEARRAY * * ShapeArray );
+__declspec(implementation_key(1581)) HRESULT IVGDocument::AddToSelection ( SAFEARRAY * * ShapeArray );
+__declspec(implementation_key(1582)) HRESULT IVGDocument::RemoveFromSelection ( SAFEARRAY * * ShapeArray );
+__declspec(implementation_key(1583)) IVGShapesPtr IVGDocument::GetSelectableShapes ( );
+__declspec(implementation_key(1584)) double IVGDocument::ToUnits ( double Value, enum cdrUnit FromUnit );
+__declspec(implementation_key(1585)) double IVGDocument::FromUnits ( double Value, enum cdrUnit ToUnit );
+__declspec(implementation_key(1586)) long IVGDocument::GetResolutionX ( );
+__declspec(implementation_key(1587)) void IVGDocument::PutResolutionX ( long pResolution );
+__declspec(implementation_key(1588)) long IVGDocument::GetResolutionY ( );
+__declspec(implementation_key(1589)) void IVGDocument::PutResolutionY ( long pResolution );
+__declspec(implementation_key(1590)) IVGPagePtr IVGDocument::GetMasterPage ( );
+__declspec(implementation_key(1591)) VARIANT_BOOL IVGDocument::Revert ( );
+__declspec(implementation_key(1592)) _bstr_t IVGDocument::GetCodeName ( );
+__declspec(implementation_key(1593)) _bstr_t IVGDocument::Get_CodeName ( );
+__declspec(implementation_key(1594)) void IVGDocument::Put_CodeName ( _bstr_t pVal );
+__declspec(implementation_key(1595)) void IVGDocument::PutName ( _bstr_t pbstrName );
+__declspec(implementation_key(1596)) void IVGDocument::PutFullFileName ( _bstr_t pFullFileName );
+__declspec(implementation_key(1597)) IVGTreeNodePtr IVGDocument::GetTreeRoot ( );
+__declspec(implementation_key(1598)) IVGTreeManagerPtr IVGDocument::GetTreeManager ( );
+__declspec(implementation_key(1599)) IVGShapePtr IVGDocument::LogCreateShape ( struct IVGShape * VirtualShape );
+__declspec(implementation_key(1600)) IVGShapeRangePtr IVGDocument::LogCreateShapeRange ( struct IVGShapeRange * VirtualShapeRange );
+__declspec(implementation_key(1601)) IVGFillPtr IVGDocument::CreateFill ( _bstr_t FillString );
+__declspec(implementation_key(1602)) IVGOutlinePtr IVGDocument::CreateOutline ( _bstr_t OutlineString );
+__declspec(implementation_key(1603)) IVGHatchLibrariesPtr IVGDocument::GetHatchLibraries ( );
+__declspec(implementation_key(1604)) IVGShapeRangePtr IVGDocument::CreateShapeRangeFromArray ( SAFEARRAY * * ShapeArray );
+__declspec(implementation_key(1605)) HRESULT IVGDocument::ClearUndoList ( );
+__declspec(implementation_key(1606)) double IVGDocument::GetSourcePlatformVersion ( );
+__declspec(implementation_key(1607)) void IVGDocument::PutSourcePlatformVersion ( double pVal );
+__declspec(implementation_key(1608)) enum cdrFilter IVGDocument::GetSourceFormat ( );
+__declspec(implementation_key(1609)) VARIANT_BOOL IVGDocument::GetIsCurrentVersion ( );
+__declspec(implementation_key(1610)) enum cdrFileVersion IVGDocument::GetSourceFileVersion ( );
+__declspec(implementation_key(1611)) void IVGDocument::PutSourceFileVersion ( enum cdrFileVersion pVal );
+__declspec(implementation_key(1612)) IVGFillPtr IVGDocument::CreateUniformFill ( struct IVGColor * Color );
+__declspec(implementation_key(1613)) IVGMetadataPtr IVGDocument::GetMetadata ( );
+__declspec(implementation_key(1614)) enum cdrDocLayout IVGDocument::GetLayout ( );
+__declspec(implementation_key(1615)) void IVGDocument::PutLayout ( enum cdrDocLayout pVal );
+__declspec(implementation_key(1616)) VARIANT_BOOL IVGDocument::GetFacingPages ( );
+__declspec(implementation_key(1617)) void IVGDocument::PutFacingPages ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1618)) VARIANT_BOOL IVGDocument::GetFirstPageOnRightSide ( );
+__declspec(implementation_key(1619)) void IVGDocument::PutFirstPageOnRightSide ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1620)) HRESULT IVGDocument::SetLayout ( enum cdrDocLayout Layout, VARIANT_BOOL FacingPages, VARIANT_BOOL StartOnRightSide );
+__declspec(implementation_key(1621)) IVGSpreadsPtr IVGDocument::GetSpreads ( );
+__declspec(implementation_key(1622)) IVGSpreadPtr IVGDocument::GetActiveSpread ( );
+__declspec(implementation_key(1623)) IVGArrowHeadPtr IVGDocument::CreateArrowHead ( struct IVGCurve * Curve );
+__declspec(implementation_key(1624)) IVGArrowHeadPtr IVGDocument::CreateArrowHeadEx ( struct IVGCurve * Curve, double CenterX, double CenterY, double OutlineWidthScale, double LineOffset );
+__declspec(implementation_key(1625)) VARIANT_BOOL IVGDocument::DeletePages ( long StartPage, long NumPages );
+__declspec(implementation_key(1626)) IVGArrowHeadPtr IVGDocument::CreateArrowHead2 ( struct IVGCurve * Curve, _bstr_t Name );
+__declspec(implementation_key(1627)) IVGArrowHeadPtr IVGDocument::CreateArrowHeadEx2 ( struct IVGCurve * Curve, _bstr_t Name, double CenterX, double CenterY, double OutlineWidthScale, double LineOffset );
+__declspec(implementation_key(1628)) IVGArrowHeadOptionsPtr IVGDocument::CreateArrowHeadOptions ( double Length, double Width, double OffsetX, double OffsetY, double RotationAngle, VARIANT_BOOL FlipHorizontal, VARIANT_BOOL FlipVertical );
+__declspec(implementation_key(1629)) HRESULT IVGDocument::SaveAsCopy ( _bstr_t FileName, struct IVGStructSaveAsOptions * Options );
+__declspec(implementation_key(1630)) IVGSnapPointPtr IVGDocument::CreateFreeSnapPoint ( double PositionX, double PositionY );
+__declspec(implementation_key(1631)) IVGBSplinePtr IVGDocument::CreateBSpline ( long NumControlPoints, VARIANT_BOOL Closed );
+__declspec(implementation_key(1632)) IVGDocumentPtr IVGDocument::Duplicate ( );
+__declspec(implementation_key(1633)) IVGDocumentPtr IVGDocument::Clone ( );
+__declspec(implementation_key(1634)) VARIANT_BOOL IVGDocument::GetIsTemporary ( );
+__declspec(implementation_key(1635)) IVGColorContextPtr IVGDocument::GetColorContext ( );
+__declspec(implementation_key(1636)) HRESULT IVGDocument::AssignColorContext ( struct IVGColorContext * ColorContext );
+__declspec(implementation_key(1637)) HRESULT IVGDocument::ConvertToColorContext ( struct IVGColorContext * ColorContext );
+__declspec(implementation_key(1638)) HRESULT IVGDocument::PrintColorProof ( struct IVGProofColorSettings * ProofSettings );
+__declspec(implementation_key(1639)) IVGPalettePtr IVGDocument::GetPalette ( );
+__declspec(implementation_key(1640)) long IVGDocument::GetTextFormatter ( );
+__declspec(implementation_key(1641)) void IVGDocument::PutTextFormatter ( long pVal );
+__declspec(implementation_key(1642)) IVGStyleSheetPtr IVGDocument::GetStyleSheet ( );
+__declspec(implementation_key(1643)) HRESULT IVGDocument::InteractiveImport ( SAFEARRAY * * FileNames );
+__declspec(implementation_key(1644)) VARIANT_BOOL IVGDocument::AddColorsToDocPalette ( VARIANT_BOOL SelectedOnly, long MaxColorsPerBitmap );
+__declspec(implementation_key(1645)) long IVGDocument::CreateColorStyles ( VARIANT_BOOL UseFills, VARIANT_BOOL UseOutlines, VARIANT_BOOL SelectedOnly, long NumberOfColorHarmonies, enum cdrColorType ConvertColorsTo );
+__declspec(implementation_key(1646)) IVGCurvePtr IVGDocument::CreateCurveFitToPoints ( struct IVGPointRange * Points, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance );
+__declspec(implementation_key(1647)) IVGCurvePtr IVGDocument::CreateCurveFitToPointsAndCusps ( struct IVGPointRange * Points, SAFEARRAY * * CuspIndexArray, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance );
+__declspec(implementation_key(1648)) IVGColorPtr IVGDocument::SampleColorAtPoint ( double x, double y, enum cdrColorType ColorType );
+__declspec(implementation_key(1649)) IVGColorPtr IVGDocument::SampleColorInArea ( double x1, double y1, double x2, double y2, long XSamples, long YSamples, enum cdrColorType ColorType );
+__declspec(implementation_key(1650)) HRESULT IVGDocument::ShowAllHiddenObjects ( );
+__declspec(implementation_key(1651)) HRESULT IVGDocument::InteractiveImportWithContentIdentifier ( SAFEARRAY * * FileNames, SAFEARRAY * * ContentIdentifiers );
+__declspec(implementation_key(1652)) HRESULT IVGDocument::ReplaceContentByIdentifier ( SAFEARRAY * * ContentIdentifiers, SAFEARRAY * * FileNames );
+__declspec(implementation_key(1653)) SAFEARRAY * IVGDocument::GetContentIdentifiers ( );
+__declspec(implementation_key(1654)) _variant_t IVGDocument::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(1655)) IVGMathUtilsPtr IVGDocument::GetMath ( );
+__declspec(implementation_key(1656)) IVGImagePtr IVGDocument::CreateImage ( enum cdrImageType ImageType, long Width, long Height, struct IVGColor * FillColor );
+__declspec(implementation_key(1657)) IVGDocumentMarkupPtr IVGDocument::GetMarkup ( );
+__declspec(implementation_key(1658)) double IVGRect::Getx ( );
+__declspec(implementation_key(1659)) void IVGRect::Putx ( double pVal );
+__declspec(implementation_key(1660)) double IVGRect::Gety ( );
+__declspec(implementation_key(1661)) void IVGRect::Puty ( double pVal );
+__declspec(implementation_key(1662)) double IVGRect::GetWidth ( );
+__declspec(implementation_key(1663)) void IVGRect::PutWidth ( double pVal );
+__declspec(implementation_key(1664)) double IVGRect::GetHeight ( );
+__declspec(implementation_key(1665)) void IVGRect::PutHeight ( double pVal );
+__declspec(implementation_key(1666)) HRESULT IVGRect::SetRect ( double x, double y, double Width, double Height );
+__declspec(implementation_key(1667)) HRESULT IVGRect::GetRect ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(1668)) HRESULT IVGRect::CopyAssign ( struct IVGRect * Source );
+__declspec(implementation_key(1669)) IVGRectPtr IVGRect::GetCopy ( );
+__declspec(implementation_key(1670)) IVGRectPtr IVGRect::Intersect ( struct IVGRect * Rect );
+__declspec(implementation_key(1671)) VARIANT_BOOL IVGRect::GetIsEmpty ( );
+__declspec(implementation_key(1672)) IVGRectPtr IVGRect::Union ( struct IVGRect * Rect );
+__declspec(implementation_key(1673)) HRESULT IVGRect::Offset ( double OffsetX, double OffsetY );
+__declspec(implementation_key(1674)) VARIANT_BOOL IVGRect::Inflate ( double Left, double Top, double Right, double Bottom );
+__declspec(implementation_key(1675)) VARIANT_BOOL IVGRect::IsPointInside ( double x, double y );
+__declspec(implementation_key(1676)) HRESULT IVGRect::Clear ( );
+__declspec(implementation_key(1677)) IVGRectPtr IVGRect::ChangeContext ( struct IVGDocument * SrcDoc, struct IVGDocument * DestDoc );
+__declspec(implementation_key(1678)) double IVGRect::GetLeft ( );
+__declspec(implementation_key(1679)) double IVGRect::GetRight ( );
+__declspec(implementation_key(1680)) double IVGRect::GetTop ( );
+__declspec(implementation_key(1681)) double IVGRect::GetBottom ( );
+__declspec(implementation_key(1682)) double IVGRect::GetCenterX ( );
+__declspec(implementation_key(1683)) double IVGRect::GetCenterY ( );
+__declspec(implementation_key(1684)) IVGApplicationPtr IVGApplication::GetApplication ( );
+__declspec(implementation_key(1685)) IVGApplicationPtr IVGApplication::GetParent ( );
+__declspec(implementation_key(1686)) VARIANT_BOOL IVGApplication::GetVisible ( );
+__declspec(implementation_key(1687)) void IVGApplication::PutVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1688)) IVGDocumentsPtr IVGApplication::GetDocuments ( );
+__declspec(implementation_key(1689)) IVGDocumentPtr IVGApplication::GetActiveDocument ( );
+__declspec(implementation_key(1690)) IVGPagePtr IVGApplication::GetActivePage ( );
+__declspec(implementation_key(1691)) IVGWindowPtr IVGApplication::GetActiveWindow ( );
+__declspec(implementation_key(1692)) IVGWindowsPtr IVGApplication::GetWindows ( );
+__declspec(implementation_key(1693)) ICorelScriptToolsPtr IVGApplication::CorelScriptTools ( );
+__declspec(implementation_key(1694)) IVGWorkspacePtr IVGApplication::GetActiveWorkspace ( );
+__declspec(implementation_key(1695)) IVGWorkspacesPtr IVGApplication::GetWorkspaces ( );
+__declspec(implementation_key(1696)) IVGPalettePtr IVGApplication::GetActivePalette ( );
+__declspec(implementation_key(1697)) IVGPalettesPtr IVGApplication::GetPalettes ( );
+__declspec(implementation_key(1698)) HRESULT IVGApplication::Quit ( );
+__declspec(implementation_key(1699)) IVGColorPtr IVGApplication::CreateColor ( _bstr_t ColorString );
+__declspec(implementation_key(1700)) IVGFontListPtr IVGApplication::GetFontList ( );
+__declspec(implementation_key(1701)) IVGAppWindowPtr IVGApplication::GetAppWindow ( );
+__declspec(implementation_key(1702)) IVGRecentFilesPtr IVGApplication::GetRecentFiles ( );
+__declspec(implementation_key(1703)) IDispatchPtr IVGApplication::GetVBE ( );
+__declspec(implementation_key(1704)) double IVGApplication::cdrMixedDouble ( );
+__declspec(implementation_key(1705)) float IVGApplication::cdrMixedSingle ( );
+__declspec(implementation_key(1706)) long IVGApplication::cdrMixedLong ( );
+__declspec(implementation_key(1707)) VARIANT_BOOL IVGApplication::GetEventsEnabled ( );
+__declspec(implementation_key(1708)) void IVGApplication::PutEventsEnabled ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1709)) IVGDocumentPtr IVGApplication::OpenDocument ( _bstr_t FileName, long CodePage );
+__declspec(implementation_key(1710)) IVGDocumentPtr IVGApplication::CreateDocument ( );
+__declspec(implementation_key(1711)) IVGColorPtr IVGApplication::CreateColorEx ( long ColorModel, long V1, long V2, long V3, long V4, long V5, long V6, long V7 );
+__declspec(implementation_key(1712)) IVGArrowHeadsPtr IVGApplication::GetArrowHeads ( );
+__declspec(implementation_key(1713)) IVGOutlineStylesPtr IVGApplication::GetOutlineStyles ( );
+__declspec(implementation_key(1714)) _bstr_t IVGApplication::GetVersion ( );
+__declspec(implementation_key(1715)) long IVGApplication::GetVersionMajor ( );
+__declspec(implementation_key(1716)) long IVGApplication::GetVersionMinor ( );
+__declspec(implementation_key(1717)) long IVGApplication::GetVersionBuild ( );
+__declspec(implementation_key(1718)) _bstr_t IVGApplication::GetPath ( );
+__declspec(implementation_key(1719)) _bstr_t IVGApplication::GetConfigPath ( );
+__declspec(implementation_key(1720)) _bstr_t IVGApplication::GetSetupPath ( );
+__declspec(implementation_key(1721)) IVGLayerPtr IVGApplication::GetActiveLayer ( );
+__declspec(implementation_key(1722)) IVGShapePtr IVGApplication::GetActiveSelection ( );
+__declspec(implementation_key(1723)) IVGPatternCanvasesPtr IVGApplication::GetPatternCanvases ( );
+__declspec(implementation_key(1724)) IVGClipboardPtr IVGApplication::GetClipboard ( );
+__declspec(implementation_key(1725)) IVGShapeRangePtr IVGApplication::GetActiveSelectionRange ( );
+__declspec(implementation_key(1726)) enum cdrTools IVGApplication::GetActiveTool ( );
+__declspec(implementation_key(1727)) void IVGApplication::PutActiveTool ( enum cdrTools pTool );
+__declspec(implementation_key(1728)) IVGShapePtr IVGApplication::GetActiveShape ( );
+__declspec(implementation_key(1729)) VARIANT_BOOL IVGApplication::GetOptimization ( );
+__declspec(implementation_key(1730)) void IVGApplication::PutOptimization ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1731)) enum cdrPanoseMatchingType IVGApplication::GetPanoseMatching ( );
+__declspec(implementation_key(1732)) void IVGApplication::PutPanoseMatching ( enum cdrPanoseMatchingType pVal );
+__declspec(implementation_key(1733)) IDispatchPtr IVGApplication::GetAddIns ( );
+__declspec(implementation_key(1734)) IVGColorPtr IVGApplication::CreateRGBColor ( long Red, long Green, long Blue );
+__declspec(implementation_key(1735)) IVGColorPtr IVGApplication::CreateCMYColor ( long Cyan, long Magenta, long Yellow );
+__declspec(implementation_key(1736)) IVGColorPtr IVGApplication::CreateCMYKColor ( long Cyan, long Magenta, long Yellow, long Black );
+__declspec(implementation_key(1737)) IVGColorPtr IVGApplication::CreateGrayColor ( long GrayValue );
+__declspec(implementation_key(1738)) IVGColorPtr IVGApplication::CreateHLSColor ( long Hue, long Lightness, long Saturation );
+__declspec(implementation_key(1739)) IVGColorPtr IVGApplication::CreateHSBColor ( long Hue, long Saturation, long Brightness );
+__declspec(implementation_key(1740)) IVGColorPtr IVGApplication::CreateBWColor ( VARIANT_BOOL White );
+__declspec(implementation_key(1741)) IVGColorPtr IVGApplication::CreateYIQColor ( long y, long I, long Q );
+__declspec(implementation_key(1742)) IVGColorPtr IVGApplication::CreateLabColor ( long L, long A, long B );
+__declspec(implementation_key(1743)) IVGColorPtr IVGApplication::CreateFixedColor ( enum cdrPaletteID PaletteID, long PaletteIndex, long Tint );
+__declspec(implementation_key(1744)) IVGColorPtr IVGApplication::CreateRegistrationColor ( );
+__declspec(implementation_key(1745)) IVGSnapPointPtr IVGApplication::CreateSnapPoint ( double PositionX, double PositionY );
+__declspec(implementation_key(1746)) IVGDocumentPtr IVGApplication::CreateDocumentFromTemplate ( _bstr_t Template, VARIANT_BOOL IncludeGraphics );
+__declspec(implementation_key(1747)) IPrnVBAPrintersPtr IVGApplication::GetPrinters ( );
+__declspec(implementation_key(1748)) IPrnVBAPrintJobPtr IVGApplication::GetPrintJob ( );
+__declspec(implementation_key(1749)) ICUICommandBarsPtr IVGApplication::GetCommandBars ( );
+__declspec(implementation_key(1750)) ICUICommandBarPtr IVGApplication::GetStatusBar ( );
+__declspec(implementation_key(1751)) ICUICommandBarPtr IVGApplication::GetMainMenu ( );
+__declspec(implementation_key(1752)) IVGGMSManagerPtr IVGApplication::GetGMSManager ( );
+__declspec(implementation_key(1753)) HRESULT IVGApplication::ImportWorkspace ( _bstr_t FileName );
+__declspec(implementation_key(1754)) HRESULT IVGApplication::Refresh ( );
+__declspec(implementation_key(1755)) IVGStructSaveAsOptionsPtr IVGApplication::CreateStructSaveAsOptions ( );
+__declspec(implementation_key(1756)) IVGStructExportOptionsPtr IVGApplication::CreateStructExportOptions ( );
+__declspec(implementation_key(1757)) IVGStructImportOptionsPtr IVGApplication::CreateStructImportOptions ( );
+__declspec(implementation_key(1758)) IVGStructPaletteOptionsPtr IVGApplication::CreateStructPaletteOptions ( );
+__declspec(implementation_key(1759)) IVGNodeRangePtr IVGApplication::CreateNodeRange ( );
+__declspec(implementation_key(1760)) IVGSegmentRangePtr IVGApplication::CreateSegmentRange ( );
+__declspec(implementation_key(1761)) IVGShapeRangePtr IVGApplication::CreateShapeRange ( );
+__declspec(implementation_key(1762)) IVGPatternCanvasPtr IVGApplication::CreatePatternCanvas ( );
+__declspec(implementation_key(1763)) IVGCurvePtr IVGApplication::CreateCurve ( struct IVGDocument * Document );
+__declspec(implementation_key(1764)) _bstr_t IVGApplication::GetUserDataPath ( );
+__declspec(implementation_key(1765)) VARIANT_BOOL IVGApplication::InitializeVBA ( );
+__declspec(implementation_key(1766)) _bstr_t IVGApplication::GetHelpFile ( );
+__declspec(implementation_key(1767)) ICUIFrameWorkPtr IVGApplication::GetFrameWork ( );
+__declspec(implementation_key(1768)) IVGStructFontPropertiesPtr IVGApplication::CreateStructFontProperties ( );
+__declspec(implementation_key(1769)) IVGStructAlignPropertiesPtr IVGApplication::CreateStructAlignProperties ( );
+__declspec(implementation_key(1770)) IVGStructSpacePropertiesPtr IVGApplication::CreateStructSpaceProperties ( );
+__declspec(implementation_key(1771)) IVGStructHyphenationSettingsPtr IVGApplication::CreateStructHyphenationSettings ( );
+__declspec(implementation_key(1772)) IVGComponentsPtr IVGApplication::GetComponents ( );
+__declspec(implementation_key(1773)) IVGSymbolLibrariesPtr IVGApplication::GetSymbolLibraries ( );
+__declspec(implementation_key(1774)) long IVGApplication::AdviseEvents ( IDispatch * EventSink );
+__declspec(implementation_key(1775)) HRESULT IVGApplication::UnadviseEvents ( long Cookie );
+__declspec(implementation_key(1776)) enum cdrApplicationID IVGApplication::GetID ( );
+__declspec(implementation_key(1777)) _bstr_t IVGApplication::GetName ( );
+__declspec(implementation_key(1778)) enum cdrApplicationClass IVGApplication::GetClass ( );
+__declspec(implementation_key(1779)) long IVGApplication::GetPlatformVersionMajor ( );
+__declspec(implementation_key(1780)) long IVGApplication::GetPlatformVersionMinor ( );
+__declspec(implementation_key(1781)) long IVGApplication::CheckPlatformVersion ( long VersionMajor, long VersionMinor );
+__declspec(implementation_key(1782)) IVGAppStatusPtr IVGApplication::GetStatus ( );
+__declspec(implementation_key(1783)) double IVGApplication::ConvertUnits ( double Value, enum cdrUnit FromUnit, enum cdrUnit ToUnit );
+__declspec(implementation_key(1784)) enum cdrTextLanguage IVGApplication::GetUILanguage ( );
+__declspec(implementation_key(1785)) VARIANT_BOOL IVGApplication::IsUILanguageAvailable ( enum cdrTextLanguage Language );
+__declspec(implementation_key(1786)) IVGPageSizesPtr IVGApplication::GetPageSizes ( );
+__declspec(implementation_key(1787)) enum cdrUnit IVGApplication::GetUnit ( );
+__declspec(implementation_key(1788)) void IVGApplication::PutUnit ( enum cdrUnit pVal );
+__declspec(implementation_key(1789)) _bstr_t IVGApplication::ConvertToUnicode ( _bstr_t String, long CodePage );
+__declspec(implementation_key(1790)) _bstr_t IVGApplication::ConvertFromUnicode ( _bstr_t String, long CodePage );
+__declspec(implementation_key(1791)) _bstr_t IVGApplication::GetUserWorkspacePath ( );
+__declspec(implementation_key(1792)) _bstr_t IVGApplication::GetLanguagePath ( );
+__declspec(implementation_key(1793)) IVGTreeManagerPtr IVGApplication::GetActiveTreeManager ( );
+__declspec(implementation_key(1794)) IVGLayerPtr IVGApplication::GetActiveVirtualLayer ( );
+__declspec(implementation_key(1795)) IVGDuotonePtr IVGApplication::CreateDuotone ( );
+__declspec(implementation_key(1796)) IVGColorManagerPtr IVGApplication::GetColorManager ( );
+__declspec(implementation_key(1797)) IVGOutlineStylesPtr IVGApplication::GetEnhancedOutlines ( );
+__declspec(implementation_key(1798)) VARIANT_BOOL IVGApplication::AddPluginCommand ( _bstr_t CommandID, _bstr_t Caption, _bstr_t Tooltip );
+__declspec(implementation_key(1799)) VARIANT_BOOL IVGApplication::RemovePluginCommand ( _bstr_t CommandID );
+__declspec(implementation_key(1800)) IVGOutlineStylePtr IVGApplication::CreateOutlineStyle ( long DashDotCount, SAFEARRAY * * DashDotLengths );
+__declspec(implementation_key(1801)) enum cdrAppStartupMode IVGApplication::GetStartupMode ( );
+__declspec(implementation_key(1802)) void IVGApplication::PutStartupMode ( enum cdrAppStartupMode pVal );
+__declspec(implementation_key(1803)) IVGPropertiesPtr IVGApplication::GetGlobalUserData ( );
+__declspec(implementation_key(1804)) IVGPropertiesPtr IVGApplication::GetSessionUserData ( );
+__declspec(implementation_key(1805)) _variant_t IVGApplication::Evaluate ( _bstr_t Expression );
+__declspec(implementation_key(1806)) IVGRectPtr IVGApplication::CreateRect ( double x, double y, double Width, double Height );
+__declspec(implementation_key(1807)) HRESULT IVGApplication::ForceUpdateFontTable ( );
+__declspec(implementation_key(1808)) IVGSpreadPtr IVGApplication::GetActiveSpread ( );
+__declspec(implementation_key(1809)) IVGDocumentPtr IVGApplication::OpenDocumentAsCopy ( _bstr_t FileName, struct IVGStructOpenOptions * Options );
+__declspec(implementation_key(1810)) IVGColorContextPtr IVGApplication::GetDefaultColorContext ( );
+__declspec(implementation_key(1811)) IVGColorContextPtr IVGApplication::CreateColorContext ( struct IVGColorProfile * RGBProfile, struct IVGColorProfile * CMYKProfile, struct IVGColorProfile * GrayscaleProfile, enum clrRenderingIntent RenderingIntent, enum clrColorModel BlendingColorModel );
+__declspec(implementation_key(1812)) IVGColorContextPtr IVGApplication::CreateColorContext2 ( _bstr_t ColorProfileList, enum clrRenderingIntent RenderingIntent, enum clrColorModel BlendingColorModel );
+__declspec(implementation_key(1813)) IVGDocumentPtr IVGApplication::CreateDocumentEx ( struct IVGStructCreateOptions * Options );
+__declspec(implementation_key(1814)) IVGDocumentPtr IVGApplication::OpenDocumentEx ( _bstr_t FileName, struct IVGStructOpenOptions * Options );
+__declspec(implementation_key(1815)) IVGStructOpenOptionsPtr IVGApplication::CreateStructOpenOptions ( );
+__declspec(implementation_key(1816)) IVGStructCreateOptionsPtr IVGApplication::CreateStructCreateOptions ( );
+__declspec(implementation_key(1817)) IVGStructPasteOptionsPtr IVGApplication::CreateStructPasteOptions ( );
+__declspec(implementation_key(1818)) IVGProofColorSettingsPtr IVGApplication::CreateProofColorSettings ( _bstr_t ProfileName, enum clrRenderingIntent RenderingIntent, VARIANT_BOOL PreserveColorValues );
+__declspec(implementation_key(1819)) IVGPaletteManagerPtr IVGApplication::GetPaletteManager ( );
+__declspec(implementation_key(1820)) IVGColorPtr IVGApplication::CreateSpotColor ( _bstr_t PaletteIdentifier, long SpotColorID, long Tint );
+__declspec(implementation_key(1821)) IVGColorPtr IVGApplication::CreateSpotColorByName ( _bstr_t PaletteIdentifier, _bstr_t SpotColorName, long Tint );
+__declspec(implementation_key(1822)) IVGColorPtr IVGApplication::CreatePaletteColor ( _bstr_t PaletteIdentifier, long ColorIndex );
+__declspec(implementation_key(1823)) SAFEARRAY * IVGApplication::GetSupportedOpenTypeFeatures ( );
+__declspec(implementation_key(1824)) IVGFillMetadataPtr IVGApplication::CreateFillMetadata ( );
+__declspec(implementation_key(1825)) _bstr_t IVGApplication::GetAddonPath ( );
+__declspec(implementation_key(1826)) _bstr_t IVGApplication::GetProgramPath ( );
+__declspec(implementation_key(1827)) _bstr_t IVGApplication::GetActiveToolStateGuid ( );
+__declspec(implementation_key(1828)) void IVGApplication::PutActiveToolStateGuid ( _bstr_t pTool );
+__declspec(implementation_key(1829)) HRESULT IVGApplication::RegisterToolState ( _bstr_t ToolStateGuid, _bstr_t ToolStateName, struct IVGToolState * ToolState );
+__declspec(implementation_key(1830)) VARIANT_BOOL IVGApplication::UnregisterToolState ( _bstr_t ToolStateGuid );
+__declspec(implementation_key(1831)) IVGOnScreenCurvePtr IVGApplication::CreateOnScreenCurve ( );
+__declspec(implementation_key(1832)) IVGOnScreenHandlePtr IVGApplication::CreateOnScreenHandle ( );
+__declspec(implementation_key(1833)) IVGOnScreenTextPtr IVGApplication::CreateOnScreenText ( );
+__declspec(implementation_key(1834)) IVGMathUtilsPtr IVGApplication::GetMath ( );
+__declspec(implementation_key(1835)) HRESULT IVGApplication::RegisterUserApplicationPreference ( _bstr_t GroupName, _bstr_t KeyName, const _variant_t & DefaultVal );
+__declspec(implementation_key(1836)) _variant_t IVGApplication::GetApplicationPreferenceValue ( _bstr_t GroupName, _bstr_t KeyName );
+__declspec(implementation_key(1837)) HRESULT IVGApplication::SetApplicationPreferenceValue ( _bstr_t GroupName, _bstr_t KeyName, const _variant_t & newVal );
+__declspec(implementation_key(1838)) IVGPropertiesPtr IVGApplication::CreateProperties ( );
+__declspec(implementation_key(1839)) HRESULT IVGApplication::RegisterToolShape ( _bstr_t ToolShapeGuid, struct IVGToolShapeAttributes * ToolShapeAttributes, struct IVGToolShape * ToolShape );
+__declspec(implementation_key(1840)) IVGToolShapeAttributesPtr IVGApplication::CreateToolShapeAttributes ( );
+__declspec(implementation_key(1841)) _bstr_t IVGApplication::GetUILanguageCode ( );
+__declspec(implementation_key(1842)) HRESULT IVGApplication::StartTemporaryToolState ( _bstr_t StateGuid );
+__declspec(implementation_key(1843)) HRESULT IVGApplication::MarkupLogout ( );
+__declspec(implementation_key(1844)) HRESULT IVGApplication::MarkupLogin ( struct IVGCommentAuthor * Author );
+__declspec(implementation_key(1845)) IVGCommentAuthorPtr IVGApplication::CreateMarkupAuthor ( _bstr_t Name, _bstr_t Avatar, _bstr_t Email, enum cdrAuthorAuthentication Authentication );
+__declspec(implementation_key(1846)) IVGApplicationPtr IVGDocuments::GetApplication ( );
+__declspec(implementation_key(1847)) IVGApplicationPtr IVGDocuments::GetParent ( );
+__declspec(implementation_key(1848)) IVGDocumentPtr IVGDocuments::GetItem ( long Index );
+__declspec(implementation_key(1849)) IUnknownPtr IVGDocuments::Get_NewEnum ( );
+__declspec(implementation_key(1850)) long IVGDocuments::GetCount ( );
+__declspec(implementation_key(1851)) IVGApplicationPtr IVGOutlineStyles::GetApplication ( );
+__declspec(implementation_key(1852)) IVGApplicationPtr IVGOutlineStyles::GetParent ( );
+__declspec(implementation_key(1853)) IVGOutlineStylePtr IVGOutlineStyles::GetItem ( long Index );
+__declspec(implementation_key(1854)) IUnknownPtr IVGOutlineStyles::Get_NewEnum ( );
+__declspec(implementation_key(1855)) long IVGOutlineStyles::GetCount ( );
+__declspec(implementation_key(1856)) IVGOutlineStylePtr IVGOutlineStyles::Add ( );
+__declspec(implementation_key(1857)) HRESULT IVGOutlineStyles::Remove ( long Index );
+__declspec(implementation_key(1858)) HRESULT IVGOutlineStyles::Save ( );
+__declspec(implementation_key(1859)) IVGOutlineStylePtr IVGOutlineStyles::AddStyle ( struct IVGOutlineStyle * Style );
+__declspec(implementation_key(1860)) IVGApplicationPtr IVGRulers::GetApplication ( );
+__declspec(implementation_key(1861)) IVGDocumentPtr IVGRulers::GetParent ( );
+__declspec(implementation_key(1862)) enum cdrUnit IVGRulers::GetVUnits ( );
+__declspec(implementation_key(1863)) void IVGRulers::PutVUnits ( enum cdrUnit pVal );
+__declspec(implementation_key(1864)) enum cdrUnit IVGRulers::GetHUnits ( );
+__declspec(implementation_key(1865)) void IVGRulers::PutHUnits ( enum cdrUnit pVal );
+__declspec(implementation_key(1866)) IVGApplicationPtr IVGGrid::GetApplication ( );
+__declspec(implementation_key(1867)) IVGDocumentPtr IVGGrid::GetParent ( );
+__declspec(implementation_key(1868)) VARIANT_BOOL IVGGrid::GetVisible ( );
+__declspec(implementation_key(1869)) void IVGGrid::PutVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1870)) enum cdrGridType IVGGrid::GetType ( );
+__declspec(implementation_key(1871)) void IVGGrid::PutType ( enum cdrGridType pVal );
+__declspec(implementation_key(1872)) VARIANT_BOOL IVGGrid::GetSnap ( );
+__declspec(implementation_key(1873)) void IVGGrid::PutSnap ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1874)) HRESULT IVGGrid::SetFrequency ( double GridX, double GridY );
+__declspec(implementation_key(1875)) double IVGGrid::GetSpacingX ( );
+__declspec(implementation_key(1876)) void IVGGrid::PutSpacingX ( double pVal );
+__declspec(implementation_key(1877)) double IVGGrid::GetSpacingY ( );
+__declspec(implementation_key(1878)) void IVGGrid::PutSpacingY ( double pVal );
+__declspec(implementation_key(1879)) HRESULT IVGAppPlugin::OnLoad ( struct IVGApplication * Application );
+__declspec(implementation_key(1880)) HRESULT IVGAppPlugin::StartSession ( );
+__declspec(implementation_key(1881)) HRESULT IVGAppPlugin::StopSession ( );
+__declspec(implementation_key(1882)) HRESULT IVGAppPlugin::OnUnload ( );
+__declspec(implementation_key(1883)) _bstr_t IVGPage::GetName ( );
+__declspec(implementation_key(1884)) void IVGPage::PutName ( _bstr_t pVal );
+__declspec(implementation_key(1885)) IVGApplicationPtr IVGPage::GetApplication ( );
+__declspec(implementation_key(1886)) IVGPagesPtr IVGPage::GetParent ( );
+__declspec(implementation_key(1887)) IVGLayersPtr IVGPage::GetLayers ( );
+__declspec(implementation_key(1888)) IVGShapesPtr IVGPage::GetShapes ( );
+__declspec(implementation_key(1889)) IVGLayerPtr IVGPage::GetActiveLayer ( );
+__declspec(implementation_key(1890)) _bstr_t IVGPage::GetPaper ( );
+__declspec(implementation_key(1891)) double IVGPage::GetSizeWidth ( );
+__declspec(implementation_key(1892)) void IVGPage::PutSizeWidth ( double pVal );
+__declspec(implementation_key(1893)) double IVGPage::GetSizeHeight ( );
+__declspec(implementation_key(1894)) void IVGPage::PutSizeHeight ( double pVal );
+__declspec(implementation_key(1895)) long IVGPage::GetResolution ( );
+__declspec(implementation_key(1896)) void IVGPage::PutResolution ( long pVal );
+__declspec(implementation_key(1897)) double IVGPage::GetBleed ( );
+__declspec(implementation_key(1898)) void IVGPage::PutBleed ( double pVal );
+__declspec(implementation_key(1899)) enum cdrPageOrientation IVGPage::GetOrientation ( );
+__declspec(implementation_key(1900)) void IVGPage::PutOrientation ( enum cdrPageOrientation pVal );
+__declspec(implementation_key(1901)) long IVGPage::GetIndex ( );
+__declspec(implementation_key(1902)) HRESULT IVGPage::Activate ( );
+__declspec(implementation_key(1903)) HRESULT IVGPage::Delete ( );
+__declspec(implementation_key(1904)) IVGLayerPtr IVGPage::CreateLayer ( _bstr_t LayerName );
+__declspec(implementation_key(1905)) IVGShapePtr IVGPage::TextFind ( _bstr_t Text, VARIANT_BOOL CaseSensitive );
+__declspec(implementation_key(1906)) HRESULT IVGPage::TextReplace ( _bstr_t OldText, _bstr_t NewText, VARIANT_BOOL CaseSensitive, VARIANT_BOOL ReplaceSelectedOnly );
+__declspec(implementation_key(1907)) IVGShapePtr IVGPage::SelectShapesAtPoint ( double x, double y, VARIANT_BOOL SelectUnfilled, double HotArea );
+__declspec(implementation_key(1908)) IVGShapePtr IVGPage::SelectShapesFromRectangle ( double x1, double y1, double x2, double y2, VARIANT_BOOL Touch );
+__declspec(implementation_key(1909)) enum cdrPageBackground IVGPage::GetBackground ( );
+__declspec(implementation_key(1910)) void IVGPage::PutBackground ( enum cdrPageBackground pVal );
+__declspec(implementation_key(1911)) IVGColorPtr IVGPage::GetColor ( );
+__declspec(implementation_key(1912)) void IVGPage::PutColor ( struct IVGColor * pVal );
+__declspec(implementation_key(1913)) VARIANT_BOOL IVGPage::GetPrintExportBackground ( );
+__declspec(implementation_key(1914)) void IVGPage::PutPrintExportBackground ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1915)) IVGShapeRangePtr IVGPage::GetGuides ( enum cdrGuideType Type );
+__declspec(implementation_key(1916)) IVGShapePtr IVGPage::FindShape ( _bstr_t Name, enum cdrShapeType Type, long StaticID, VARIANT_BOOL Recursive );
+__declspec(implementation_key(1917)) IVGShapeRangePtr IVGPage::FindShapes ( _bstr_t Name, enum cdrShapeType Type, VARIANT_BOOL Recursive );
+__declspec(implementation_key(1918)) HRESULT IVGPage::MoveTo ( long Index );
+__declspec(implementation_key(1919)) HRESULT IVGPage::UnlockAllShapes ( );
+__declspec(implementation_key(1920)) IVGPropertiesPtr IVGPage::GetProperties ( );
+__declspec(implementation_key(1921)) HRESULT IVGPage::GetSize ( double * Width, double * Height );
+__declspec(implementation_key(1922)) HRESULT IVGPage::SetSize ( double Width, double Height );
+__declspec(implementation_key(1923)) double IVGPage::GetCenterX ( );
+__declspec(implementation_key(1924)) double IVGPage::GetCenterY ( );
+__declspec(implementation_key(1925)) _variant_t IVGPage::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(1926)) IVGPagePtr IVGPage::GetPrevious ( );
+__declspec(implementation_key(1927)) IVGPagePtr IVGPage::GetNext ( );
+__declspec(implementation_key(1928)) IVGShapesPtr IVGPage::GetSelectableShapes ( );
+__declspec(implementation_key(1929)) IVGTreeNodePtr IVGPage::GetTreeNode ( );
+__declspec(implementation_key(1930)) HRESULT IVGPage::GetCenterPosition ( double * CenterX, double * CenterY );
+__declspec(implementation_key(1931)) HRESULT IVGPage::SelectSize ( _bstr_t PageSizeName, VARIANT_BOOL Landscape );
+__declspec(implementation_key(1932)) IVGLayerPtr IVGPage::GetGuidesLayer ( );
+__declspec(implementation_key(1933)) IVGLayerPtr IVGPage::GetDesktopLayer ( );
+__declspec(implementation_key(1934)) IVGLayerPtr IVGPage::GetGridLayer ( );
+__declspec(implementation_key(1935)) HRESULT IVGPage::GetBoundingBox ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(1936)) double IVGPage::GetLeftX ( );
+__declspec(implementation_key(1937)) double IVGPage::GetRightX ( );
+__declspec(implementation_key(1938)) double IVGPage::GetBottomY ( );
+__declspec(implementation_key(1939)) double IVGPage::GetTopY ( );
+__declspec(implementation_key(1940)) IVGLayersPtr IVGPage::GetAllLayers ( );
+__declspec(implementation_key(1941)) IVGRectPtr IVGPage::GetBoundingBox ( );
+__declspec(implementation_key(1942)) IVGSpreadPtr IVGPage::GetSpread ( );
+__declspec(implementation_key(1943)) IVGSnapPointPtr IVGPage::FindClosestSnapPoint ( enum cdrPointType TypeSet, double PositionX, double PositionY, double HotArea );
+__declspec(implementation_key(1944)) IVGRectPtr IVGPage::GetObjectsBoundingBox ( VARIANT_BOOL SelectedOnly, VARIANT_BOOL IncludeNonPrintable );
+__declspec(implementation_key(1945)) IVGShapePtr IVGPage::FindShapeAtPoint ( double x, double y, VARIANT_BOOL TreatAsFilled );
+__declspec(implementation_key(1946)) IVGPageMarkupPtr IVGPage::GetMarkup ( );
+__declspec(implementation_key(1947)) IVGApplicationPtr IVGPages::GetApplication ( );
+__declspec(implementation_key(1948)) IVGDocumentPtr IVGPages::GetParent ( );
+__declspec(implementation_key(1949)) IVGPagePtr IVGPages::GetItem ( long Index );
+__declspec(implementation_key(1950)) IUnknownPtr IVGPages::Get_NewEnum ( );
+__declspec(implementation_key(1951)) long IVGPages::GetCount ( );
+__declspec(implementation_key(1952)) IVGPagePtr IVGPages::GetFirst ( );
+__declspec(implementation_key(1953)) IVGPagePtr IVGPages::GetLast ( );
+__declspec(implementation_key(1954)) IVGApplicationPtr IVGLayers::GetApplication ( );
+__declspec(implementation_key(1955)) IVGPagePtr IVGLayers::GetParent ( );
+__declspec(implementation_key(1956)) IVGLayerPtr IVGLayers::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(1957)) IUnknownPtr IVGLayers::Get_NewEnum ( );
+__declspec(implementation_key(1958)) long IVGLayers::GetCount ( );
+__declspec(implementation_key(1959)) IVGLayerPtr IVGLayers::Find ( _bstr_t LayerName );
+__declspec(implementation_key(1960)) IVGLayerPtr IVGLayers::GetTop ( );
+__declspec(implementation_key(1961)) IVGLayerPtr IVGLayers::GetBottom ( );
+__declspec(implementation_key(1962)) IVGApplicationPtr IVGLayer::GetApplication ( );
+__declspec(implementation_key(1963)) IVGLayersPtr IVGLayer::GetParent ( );
+__declspec(implementation_key(1964)) _bstr_t IVGLayer::GetName ( );
+__declspec(implementation_key(1965)) void IVGLayer::PutName ( _bstr_t pVal );
+__declspec(implementation_key(1966)) IVGShapesPtr IVGLayer::GetShapes ( );
+__declspec(implementation_key(1967)) HRESULT IVGLayer::Activate ( );
+__declspec(implementation_key(1968)) VARIANT_BOOL IVGLayer::GetVisible ( );
+__declspec(implementation_key(1969)) void IVGLayer::PutVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1970)) VARIANT_BOOL IVGLayer::GetPrintable ( );
+__declspec(implementation_key(1971)) void IVGLayer::PutPrintable ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1972)) VARIANT_BOOL IVGLayer::GetEditable ( );
+__declspec(implementation_key(1973)) void IVGLayer::PutEditable ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1974)) VARIANT_BOOL IVGLayer::GetMaster ( );
+__declspec(implementation_key(1975)) void IVGLayer::PutMaster ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1976)) VARIANT_BOOL IVGLayer::GetOverrideColor ( );
+__declspec(implementation_key(1977)) void IVGLayer::PutOverrideColor ( VARIANT_BOOL pVal );
+__declspec(implementation_key(1978)) IVGColorPtr IVGLayer::GetColor ( );
+__declspec(implementation_key(1979)) void IVGLayer::PutColor ( struct IVGColor * pVal );
+__declspec(implementation_key(1980)) HRESULT IVGLayer::Delete ( );
+__declspec(implementation_key(1981)) HRESULT IVGLayer::MoveAbove ( struct IVGLayer * Layer );
+__declspec(implementation_key(1982)) HRESULT IVGLayer::MoveBelow ( struct IVGLayer * Layer );
+__declspec(implementation_key(1983)) HRESULT IVGLayer::Import ( _bstr_t FileName, enum cdrFilter Filter, struct IVGStructImportOptions * Options );
+__declspec(implementation_key(1984)) IVGShapePtr IVGLayer::CreateRectangle ( double Left, double Top, double Right, double Bottom, long CornerUL, long CornerUR, long CornerLR, long CornerLL );
+__declspec(implementation_key(1985)) IVGShapePtr IVGLayer::CreateEllipse ( double Left, double Top, double Right, double Bottom, double StartAngle, double EndAngle, VARIANT_BOOL Pie );
+__declspec(implementation_key(1986)) IVGShapePtr IVGLayer::CreatePolygon ( double Left, double Top, double Right, double Bottom, long Sides, long SubPaths, long Complexity, VARIANT_BOOL Star, long StarComplexity, long MaxComplexity );
+__declspec(implementation_key(1987)) IVGShapePtr IVGLayer::CreateGridBoxes ( double Left, double Top, double Right, double Bottom, long Wide, long High );
+__declspec(implementation_key(1988)) IVGShapePtr IVGLayer::CreateSpiral ( double Left, double Top, double Right, double Bottom, long NumRevolutions, enum cdrSpiralType SpiralType, long GrowthRate );
+__declspec(implementation_key(1989)) IVGShapePtr IVGLayer::CreateArtisticText ( double Left, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment );
+__declspec(implementation_key(1990)) IVGShapePtr IVGLayer::CreateParagraphText ( double Left, double Top, double Right, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment );
+__declspec(implementation_key(1991)) IVGShapePtr IVGLayer::CreateCurveSegment ( double StartX, double StartY, double EndX, double EndY, double StartingControlPointLength, double StartingControlPointAngle, double EndingControlPointLength, double EndingControlPointAngle );
+__declspec(implementation_key(1992)) IVGShapePtr IVGLayer::CreateLineSegment ( double StartX, double StartY, double EndX, double EndY );
+__declspec(implementation_key(1993)) IVGShapePtr IVGLayer::CreateConnector ( struct IVGSnapPoint * Start, struct IVGSnapPoint * End );
+__declspec(implementation_key(1994)) IVGShapePtr IVGLayer::CreateCurve ( struct IVGCurve * Source );
+__declspec(implementation_key(1995)) IVGShapePtr IVGLayer::Paste ( );
+__declspec(implementation_key(1996)) IVGShapePtr IVGLayer::CreateGuideAngle ( double x, double y, double Angle );
+__declspec(implementation_key(1997)) IVGShapePtr IVGLayer::CreateGuide ( double x1, double y1, double x2, double y2 );
+__declspec(implementation_key(1998)) IVGShapePtr IVGLayer::CreateEllipse2 ( double CenterX, double CenterY, double Radius1, double Radius2, double StartAngle, double EndAngle, VARIANT_BOOL Pie );
+__declspec(implementation_key(1999)) IVGShapePtr IVGLayer::FindShape ( _bstr_t Name, enum cdrShapeType Type, long StaticID, VARIANT_BOOL Recursive );
+__declspec(implementation_key(2000)) IVGShapeRangePtr IVGLayer::FindShapes ( _bstr_t Name, enum cdrShapeType Type, VARIANT_BOOL Recursive );
+__declspec(implementation_key(2001)) IVGShapePtr IVGLayer::CreateRectangle2 ( double x, double y, double Width, double Height, double RadiusUL, double RadiusUR, double RadiusLR, double RadiusLL );
+__declspec(implementation_key(2002)) IVGShapePtr IVGLayer::CreateFreeConnector ( double x1, double y1, double x2, double y2 );
+__declspec(implementation_key(2003)) IVGPropertiesPtr IVGLayer::GetProperties ( );
+__declspec(implementation_key(2004)) IVGPropertiesPtr IVGLayer::GetMasterProperties ( );
+__declspec(implementation_key(2005)) long IVGLayer::GetIndex ( );
+__declspec(implementation_key(2006)) IVGShapePtr IVGLayer::CreateCurveSegment2 ( double x1, double y1, double StartingControlPointX, double StartingControlPointY, double EndingControlPointX, double EndingControlPointY, double x2, double y2 );
+__declspec(implementation_key(2007)) ICorelImportFilterPtr IVGLayer::ImportEx ( _bstr_t FileName, enum cdrFilter Filter, struct IVGStructImportOptions * Options );
+__declspec(implementation_key(2008)) IVGShapePtr IVGLayer::CreateArtisticTextWide ( double Left, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment );
+__declspec(implementation_key(2009)) IVGShapePtr IVGLayer::CreateParagraphTextWide ( double Left, double Top, double Right, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment );
+__declspec(implementation_key(2010)) _variant_t IVGLayer::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(2011)) IVGShapePtr IVGLayer::CreateCustomShape ( _bstr_t TypeID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(2012)) IVGShapePtr IVGLayer::CreateLinearDimension ( enum cdrLinearDimensionType Type, struct IVGSnapPoint * Point1, struct IVGSnapPoint * Point2, VARIANT_BOOL TextCentered, double TextX, double TextY, enum cdrDimensionStyle Style, long Precision, VARIANT_BOOL ShowUnits, enum cdrDimensionLinearUnits Units, enum cdrDimensionPlacement Placement, VARIANT_BOOL HorizontalText, VARIANT_BOOL BoxedText, VARIANT_BOOL LeadingZero, _bstr_t Prefix, _bstr_t Suffix, double OutlineWidth, struct IVGArrowHead * Arrows, struct IVGColor * OutlineColor, _bstr_t TextFont, double TextSize, struct IVGColor * TextColor );
+__declspec(implementation_key(2013)) IVGShapePtr IVGLayer::CreateAngularDimension ( struct IVGSnapPoint * Center, struct IVGSnapPoint * Point1, struct IVGSnapPoint * Point2, double TextX, double TextY, long Precision, VARIANT_BOOL ShowUnits, enum cdrDimensionAngularUnits Units, VARIANT_BOOL BoxedText, VARIANT_BOOL LeadingZero, _bstr_t Prefix, _bstr_t Suffix, double OutlineWidth, struct IVGArrowHead * Arrows, struct IVGColor * OutlineColor, _bstr_t TextFont, double TextSize, struct IVGColor * TextColor );
+__declspec(implementation_key(2014)) IVGShapePtr IVGLayer::CreateSymbol ( double x, double y, _bstr_t SymbolName, struct IVGSymbolLibrary * Library );
+__declspec(implementation_key(2015)) IVGShapePtr IVGLayer::CreatePolygon2 ( double CenterX, double CenterY, double Radius, long Sides, double Angle, double InnerRadius, VARIANT_BOOL Star, long Sharpness );
+__declspec(implementation_key(2016)) VARIANT_BOOL IVGLayer::PasteSpecial ( _bstr_t FormatName, VARIANT_BOOL PasteLink, VARIANT_BOOL DisplayAsIcon, _bstr_t Caption, const _variant_t & Icon );
+__declspec(implementation_key(2017)) IVGShapePtr IVGLayer::CreateOLEObject ( _bstr_t ObjectID, VARIANT_BOOL DisplayAsIcon, _bstr_t Caption, const _variant_t & Icon );
+__declspec(implementation_key(2018)) IVGShapePtr IVGLayer::CreateOLEObjectFromFile ( _bstr_t FileName, VARIANT_BOOL Link, VARIANT_BOOL DisplayAsIcon, _bstr_t Caption, const _variant_t & Icon );
+__declspec(implementation_key(2019)) IVGShapesPtr IVGLayer::GetSelectableShapes ( );
+__declspec(implementation_key(2020)) IVGTreeNodePtr IVGLayer::GetTreeNode ( );
+__declspec(implementation_key(2021)) VARIANT_BOOL IVGLayer::GetIsGuidesLayer ( );
+__declspec(implementation_key(2022)) VARIANT_BOOL IVGLayer::GetIsDesktopLayer ( );
+__declspec(implementation_key(2023)) VARIANT_BOOL IVGLayer::GetIsGridLayer ( );
+__declspec(implementation_key(2024)) VARIANT_BOOL IVGLayer::GetIsSpecialLayer ( );
+__declspec(implementation_key(2025)) IVGLayerPtr IVGLayer::GetMasterLayer ( );
+__declspec(implementation_key(2026)) long IVGLayer::GetAbsoluteIndex ( );
+__declspec(implementation_key(2027)) IVGPagePtr IVGLayer::GetPage ( );
+__declspec(implementation_key(2028)) IVGLayerPtr IVGLayer::GetAbove ( VARIANT_BOOL IgnoreMasters );
+__declspec(implementation_key(2029)) IVGLayerPtr IVGLayer::GetBelow ( VARIANT_BOOL IgnoreMasters );
+__declspec(implementation_key(2030)) IVGShapePtr IVGLayer::CreateRectangleRect ( struct IVGRect * Rect, double RadiusUL, double RadiusUR, double RadiusLR, double RadiusLL );
+__declspec(implementation_key(2031)) IVGShapePtr IVGLayer::CreateEllipseRect ( struct IVGRect * Rect, double StartAngle, double EndAngle, VARIANT_BOOL Pie );
+__declspec(implementation_key(2032)) IVGShapePtr IVGLayer::CreateConnectorEx ( enum cdrConnectorType Type, struct IVGSnapPoint * Start, struct IVGSnapPoint * End );
+__declspec(implementation_key(2033)) IVGShapePtr IVGLayer::CreateRightAngleConnector ( struct IVGSnapPoint * Start, struct IVGSnapPoint * End, double CornerRadius );
+__declspec(implementation_key(2034)) IVGShapePtr IVGLayer::CreateBSpline ( struct IVGBSpline * Source );
+__declspec(implementation_key(2035)) IVGShapeRangePtr IVGLayer::PasteEx ( struct IVGStructPasteOptions * Options );
+__declspec(implementation_key(2036)) IVGShapePtr IVGLayer::CreateToolShape ( _bstr_t ToolShapeGuid, struct IVGProperties * ShapeProperties );
+__declspec(implementation_key(2037)) IVGShapePtr IVGLayer::CreateBitmap ( double Left, double Top, double Right, double Bottom, struct IVGImage * Image, struct IVGImage * ImageAlpha );
+__declspec(implementation_key(2038)) IVGShapePtr IVGLayer::CreateBitmap2 ( double x, double y, double Width, double Height, struct IVGImage * Image, struct IVGImage * ImageAlpha );
+__declspec(implementation_key(2039)) IVGShapePtr IVGLayer::CreateBitmapRect ( struct IVGRect * Rect, struct IVGImage * Image, struct IVGImage * ImageAlpha );
+__declspec(implementation_key(2040)) IVGApplicationPtr IVGShapes::GetApplication ( );
+__declspec(implementation_key(2041)) IDispatchPtr IVGShapes::GetParent ( );
+__declspec(implementation_key(2042)) IVGShapePtr IVGShapes::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(2043)) IUnknownPtr IVGShapes::Get_NewEnum ( );
+__declspec(implementation_key(2044)) long IVGShapes::GetCount ( );
+__declspec(implementation_key(2045)) IVGShapeRangePtr IVGShapes::Range ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(2046)) IVGShapeRangePtr IVGShapes::All ( );
+__declspec(implementation_key(2047)) IVGShapeRangePtr IVGShapes::AllExcluding ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(2048)) IVGShapePtr IVGShapes::FindShape ( _bstr_t Name, enum cdrShapeType Type, long StaticID, VARIANT_BOOL Recursive, _bstr_t Query );
+__declspec(implementation_key(2049)) IVGShapeRangePtr IVGShapes::FindShapes ( _bstr_t Name, enum cdrShapeType Type, VARIANT_BOOL Recursive, _bstr_t Query );
+__declspec(implementation_key(2050)) IVGShapePtr IVGShapes::GetFirst ( );
+__declspec(implementation_key(2051)) IVGShapePtr IVGShapes::GetLast ( );
+__declspec(implementation_key(2052)) IVGApplicationPtr IVGShape::GetApplication ( );
+__declspec(implementation_key(2053)) IDispatchPtr IVGShape::GetParent ( );
+__declspec(implementation_key(2054)) long IVGShape::GetStaticID ( );
+__declspec(implementation_key(2055)) HRESULT IVGShape::ConvertToCurves ( );
+__declspec(implementation_key(2056)) _bstr_t IVGShape::GetName ( );
+__declspec(implementation_key(2057)) void IVGShape::PutName ( _bstr_t pVal );
+__declspec(implementation_key(2058)) IVGShapesPtr IVGShape::GetShapes ( );
+__declspec(implementation_key(2059)) IVGRectanglePtr IVGShape::GetRectangle ( );
+__declspec(implementation_key(2060)) double IVGShape::GetPositionX ( );
+__declspec(implementation_key(2061)) void IVGShape::PutPositionX ( double pVal );
+__declspec(implementation_key(2062)) double IVGShape::GetPositionY ( );
+__declspec(implementation_key(2063)) void IVGShape::PutPositionY ( double pVal );
+__declspec(implementation_key(2064)) double IVGShape::GetSizeWidth ( );
+__declspec(implementation_key(2065)) void IVGShape::PutSizeWidth ( double pVal );
+__declspec(implementation_key(2066)) double IVGShape::GetSizeHeight ( );
+__declspec(implementation_key(2067)) void IVGShape::PutSizeHeight ( double pVal );
+__declspec(implementation_key(2068)) IVGEllipsePtr IVGShape::GetEllipse ( );
+__declspec(implementation_key(2069)) IVGPolygonPtr IVGShape::GetPolygon ( );
+__declspec(implementation_key(2070)) IVGCurvePtr IVGShape::GetCurve ( );
+__declspec(implementation_key(2071)) IVGBitmapPtr IVGShape::GetBitmap ( );
+__declspec(implementation_key(2072)) enum cdrShapeType IVGShape::GetType ( );
+__declspec(implementation_key(2073)) IVGOutlinePtr IVGShape::GetOutline ( );
+__declspec(implementation_key(2074)) IVGFillPtr IVGShape::GetFill ( );
+__declspec(implementation_key(2075)) IVGTextPtr IVGShape::GetText ( );
+__declspec(implementation_key(2076)) HRESULT IVGShape::Delete ( );
+__declspec(implementation_key(2077)) IVGShapePtr IVGShape::Duplicate ( double OffsetX, double OffsetY );
+__declspec(implementation_key(2078)) HRESULT IVGShape::Skew ( double AngleX, double AngleY );
+__declspec(implementation_key(2079)) HRESULT IVGShape::Move ( double DeltaX, double DeltaY );
+__declspec(implementation_key(2080)) double IVGShape::GetRotationAngle ( );
+__declspec(implementation_key(2081)) void IVGShape::PutRotationAngle ( double pVal );
+__declspec(implementation_key(2082)) double IVGShape::GetRotationCenterX ( );
+__declspec(implementation_key(2083)) void IVGShape::PutRotationCenterX ( double pVal );
+__declspec(implementation_key(2084)) double IVGShape::GetRotationCenterY ( );
+__declspec(implementation_key(2085)) void IVGShape::PutRotationCenterY ( double pVal );
+__declspec(implementation_key(2086)) HRESULT IVGShape::Rotate ( double Angle );
+__declspec(implementation_key(2087)) IVGShapePtr IVGShape::ConvertToBitmap ( long BitDepth, VARIANT_BOOL Grayscale, VARIANT_BOOL Dithered, VARIANT_BOOL TransparentBG, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL MultiChannel, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit );
+__declspec(implementation_key(2088)) IVGShapePtr IVGShape::Group ( );
+__declspec(implementation_key(2089)) HRESULT IVGShape::Ungroup ( );
+__declspec(implementation_key(2090)) HRESULT IVGShape::UngroupAll ( );
+__declspec(implementation_key(2091)) HRESULT IVGShape::OrderToFront ( );
+__declspec(implementation_key(2092)) HRESULT IVGShape::OrderToBack ( );
+__declspec(implementation_key(2093)) HRESULT IVGShape::OrderForwardOne ( );
+__declspec(implementation_key(2094)) HRESULT IVGShape::OrderBackOne ( );
+__declspec(implementation_key(2095)) HRESULT IVGShape::OrderFrontOf ( struct IVGShape * Shape );
+__declspec(implementation_key(2096)) HRESULT IVGShape::OrderBackOf ( struct IVGShape * Shape );
+__declspec(implementation_key(2097)) VARIANT_BOOL IVGShape::OrderIsInFrontOf ( struct IVGShape * Shape );
+__declspec(implementation_key(2098)) HRESULT IVGShape::AddToSelection ( );
+__declspec(implementation_key(2099)) HRESULT IVGShape::RemoveFromSelection ( );
+__declspec(implementation_key(2100)) HRESULT IVGShape::Separate ( );
+__declspec(implementation_key(2101)) IVGLayerPtr IVGShape::GetLayer ( );
+__declspec(implementation_key(2102)) void IVGShape::PutLayer ( struct IVGLayer * ppVal );
+__declspec(implementation_key(2103)) IVGSnapPointsPtr IVGShape::GetSnapPoints ( );
+__declspec(implementation_key(2104)) IVGConnectorPtr IVGShape::GetConnector ( );
+__declspec(implementation_key(2105)) enum cdrPositionOfPointOverShape IVGShape::IsOnShape ( double x, double y, double HotArea );
+__declspec(implementation_key(2106)) IVGArrowHeadPtr IVGShape::CreateArrowHead ( );
+__declspec(implementation_key(2107)) HRESULT IVGShape::Copy ( );
+__declspec(implementation_key(2108)) HRESULT IVGShape::Cut ( );
+__declspec(implementation_key(2109)) IVGShapePtr IVGShape::Clone ( double OffsetX, double OffsetY );
+__declspec(implementation_key(2110)) HRESULT IVGShape::Stretch ( double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize );
+__declspec(implementation_key(2111)) HRESULT IVGShape::SetPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(2112)) HRESULT IVGShape::SetSize ( double Width, double Height );
+__declspec(implementation_key(2113)) HRESULT IVGShape::GetPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(2114)) HRESULT IVGShape::GetSize ( double * Width, double * Height );
+__declspec(implementation_key(2115)) IVGPropertiesPtr IVGShape::GetProperties ( );
+__declspec(implementation_key(2116)) HRESULT IVGShape::OrderReverse ( );
+__declspec(implementation_key(2117)) IVGShapePtr IVGShape::Combine ( );
+__declspec(implementation_key(2118)) HRESULT IVGShape::BreakApart ( );
+__declspec(implementation_key(2119)) void IVGShape::PutFill ( struct IVGFill * ppVal );
+__declspec(implementation_key(2120)) IVGShapePtr IVGShape::Weld ( struct IVGShape * TargetShape, VARIANT_BOOL LeaveSource, VARIANT_BOOL LeaveTarget );
+__declspec(implementation_key(2121)) IVGShapePtr IVGShape::Trim ( struct IVGShape * TargetShape, VARIANT_BOOL LeaveSource, VARIANT_BOOL LeaveTarget );
+__declspec(implementation_key(2122)) IVGShapePtr IVGShape::Intersect ( struct IVGShape * TargetShape, VARIANT_BOOL LeaveSource, VARIANT_BOOL LeaveTarget );
+__declspec(implementation_key(2123)) IVGEffectsPtr IVGShape::GetEffects ( );
+__declspec(implementation_key(2124)) IVGEffectPtr IVGShape::GetEffect ( );
+__declspec(implementation_key(2125)) IVGEffectPtr IVGShape::CreateDropShadow ( enum cdrDropShadowType Type, long Opacity, long Feather, double OffsetX, double OffsetY, struct IVGColor * Color, enum cdrFeatherType FeatherType, enum cdrEdgeType FeatherEdge, double PerspectiveAngle, double PerspectiveStretch, long Fade, enum cdrMergeMode MergeMode );
+__declspec(implementation_key(2126)) IVGEffectPtr IVGShape::CreateBlend ( struct IVGShape * Shape, int Steps, enum cdrFountainFillBlendType ColorBlendType, enum cdrBlendMode Mode, double Spacing, double Angle, VARIANT_BOOL Loop, struct IVGShape * Path, VARIANT_BOOL RotateShapes, long SpacingAccel, long ColorAccel, VARIANT_BOOL AccelSize );
+__declspec(implementation_key(2127)) IVGEffectPtr IVGShape::CreateExtrude ( enum cdrExtrudeType Type, enum cdrExtrudeVPType VPType, double VPX, double VPY, double Depth, enum cdrExtrudeShading Shading, struct IVGColor * BaseColor, struct IVGColor * ShadingColor, double BevelDepth, double BevelAngle, struct IVGColor * BevelColor, VARIANT_BOOL BevelOnly );
+__declspec(implementation_key(2128)) IVGEffectPtr IVGShape::CreateEnvelope ( long PresetIndex, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines );
+__declspec(implementation_key(2129)) HRESULT IVGShape::Flip ( enum cdrFlipAxes Axes );
+__declspec(implementation_key(2130)) VARIANT_BOOL IVGShape::GetLocked ( );
+__declspec(implementation_key(2131)) void IVGShape::PutLocked ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2132)) double IVGShape::GetOriginalWidth ( );
+__declspec(implementation_key(2133)) double IVGShape::GetOriginalHeight ( );
+__declspec(implementation_key(2134)) VARIANT_BOOL IVGShape::GetSelected ( );
+__declspec(implementation_key(2135)) void IVGShape::PutSelected ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2136)) IVGEffectPtr IVGShape::CreateLens ( enum cdrLensType Type, double RateOrMagnification, struct IVGColor * Color1, struct IVGColor * Color2, enum cdrFountainFillBlendType ColorMapPalette );
+__declspec(implementation_key(2137)) IVGEffectPtr IVGShape::CreatePerspective ( const _variant_t & HorizVanishPointX, const _variant_t & HorizVanishPointY, const _variant_t & VertVanishPointX, const _variant_t & VertVanishPointY );
+__declspec(implementation_key(2138)) IVGEffectPtr IVGShape::CreateContour ( enum cdrContourDirection Direction, double Offset, long Steps, enum cdrFountainFillBlendType BlendType, struct IVGColor * OutlineColor, struct IVGColor * FillColor, struct IVGColor * FillColor2, long SpacingAccel, long ColorAccel, enum cdrContourEndCapType EndCapType, enum cdrContourCornerType CornerType, double MiterLimit );
+__declspec(implementation_key(2139)) IVGEffectPtr IVGShape::CreatePushPullDistortion ( double OriginX, double OriginY, long Amplitude );
+__declspec(implementation_key(2140)) IVGEffectPtr IVGShape::CreateZipperDistortion ( double OriginX, double OriginY, long Amplitude, long Frequency, VARIANT_BOOL Random, VARIANT_BOOL Smooth, VARIANT_BOOL Local );
+__declspec(implementation_key(2141)) IVGEffectPtr IVGShape::CreateTwisterDistortion ( double OriginX, double OriginY, double Angle );
+__declspec(implementation_key(2142)) IVGGuidePtr IVGShape::GetGuide ( );
+__declspec(implementation_key(2143)) HRESULT IVGShape::AddToPowerClip ( struct IVGShape * Shape, enum cdrTriState CenterInContainer );
+__declspec(implementation_key(2144)) HRESULT IVGShape::RemoveFromContainer ( long Level );
+__declspec(implementation_key(2145)) IVGPowerClipPtr IVGShape::GetPowerClip ( );
+__declspec(implementation_key(2146)) IVGShapePtr IVGShape::GetPowerClipParent ( );
+__declspec(implementation_key(2147)) VARIANT_BOOL IVGShape::GetDrapeFill ( );
+__declspec(implementation_key(2148)) void IVGShape::PutDrapeFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2149)) VARIANT_BOOL IVGShape::GetOverprintFill ( );
+__declspec(implementation_key(2150)) void IVGShape::PutOverprintFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2151)) VARIANT_BOOL IVGShape::GetOverprintOutline ( );
+__declspec(implementation_key(2152)) void IVGShape::PutOverprintOutline ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2153)) IVGURLPtr IVGShape::GetURL ( );
+__declspec(implementation_key(2154)) IVGDataItemsPtr IVGShape::GetObjectData ( );
+__declspec(implementation_key(2155)) IVGCloneLinkPtr IVGShape::GetCloneLink ( );
+__declspec(implementation_key(2156)) IVGShapeRangePtr IVGShape::GetClones ( );
+__declspec(implementation_key(2157)) double IVGShape::GetAbsoluteHScale ( );
+__declspec(implementation_key(2158)) double IVGShape::GetAbsoluteVScale ( );
+__declspec(implementation_key(2159)) double IVGShape::GetAbsoluteSkew ( );
+__declspec(implementation_key(2160)) IVGTransparencyPtr IVGShape::GetTransparency ( );
+__declspec(implementation_key(2161)) HRESULT IVGShape::GetMatrix ( double * d11, double * d12, double * d21, double * d22, double * tx, double * ty );
+__declspec(implementation_key(2162)) HRESULT IVGShape::SetMatrix ( double d11, double d12, double d21, double d22, double tx, double ty );
+__declspec(implementation_key(2163)) IVGShapePtr IVGShape::ConvertToBitmapEx ( enum cdrImageType Mode, VARIANT_BOOL Dithered, VARIANT_BOOL Transparent, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit );
+__declspec(implementation_key(2164)) HRESULT IVGShape::SkewEx ( double AngleX, double AngleY, double CenterX, double CenterY );
+__declspec(implementation_key(2165)) HRESULT IVGShape::RotateEx ( double Angle, double CenterX, double CenterY );
+__declspec(implementation_key(2166)) IVGShapePtr IVGShape::GetParentGroup ( );
+__declspec(implementation_key(2167)) HRESULT IVGShape::SetBoundingBox ( double x, double y, double Width, double Height, VARIANT_BOOL KeepAspect, enum cdrReferencePoint ReferencePoint );
+__declspec(implementation_key(2168)) HRESULT IVGShape::CreateSelection ( );
+__declspec(implementation_key(2169)) HRESULT IVGShape::SetRotationCenter ( double x, double y );
+__declspec(implementation_key(2170)) HRESULT IVGShape::ClearEffect ( enum cdrEffectType Type );
+__declspec(implementation_key(2171)) IVGShapePtr IVGShape::GetNext ( enum cdrShapeLevel Level, VARIANT_BOOL EnterGroups, VARIANT_BOOL Loop );
+__declspec(implementation_key(2172)) IVGShapePtr IVGShape::GetPrevious ( enum cdrShapeLevel Level, VARIANT_BOOL EnterGroups, VARIANT_BOOL Loop );
+__declspec(implementation_key(2173)) HRESULT IVGShape::StretchEx ( double CenterX, double CenterY, double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize );
+__declspec(implementation_key(2174)) HRESULT IVGShape::SetSizeEx ( double CenterX, double CenterY, double Width, double Height );
+__declspec(implementation_key(2175)) HRESULT IVGShape::GetBoundingBox ( double * x, double * y, double * Width, double * Height, VARIANT_BOOL UseOutline );
+__declspec(implementation_key(2176)) IVGShapeRangePtr IVGShape::UngroupEx ( );
+__declspec(implementation_key(2177)) IVGShapeRangePtr IVGShape::UngroupAllEx ( );
+__declspec(implementation_key(2178)) IVGShapeRangePtr IVGShape::BreakApartEx ( );
+__declspec(implementation_key(2179)) HRESULT IVGShape::ApplyStyle ( _bstr_t StyleName );
+__declspec(implementation_key(2180)) enum cdrWrapStyle IVGShape::GetWrapText ( );
+__declspec(implementation_key(2181)) void IVGShape::PutWrapText ( enum cdrWrapStyle pVal );
+__declspec(implementation_key(2182)) double IVGShape::GetTextWrapOffset ( );
+__declspec(implementation_key(2183)) void IVGShape::PutTextWrapOffset ( double pVal );
+__declspec(implementation_key(2184)) IVGShapePtr IVGShape::PlaceTextInside ( struct IVGShape * TextShape );
+__declspec(implementation_key(2185)) IVGCurvePtr IVGShape::GetDisplayCurve ( );
+__declspec(implementation_key(2186)) _variant_t IVGShape::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(2187)) IVGCustomShapePtr IVGShape::GetCustom ( );
+__declspec(implementation_key(2188)) IVGEffectPtr IVGShape::CreateCustomEffect ( _bstr_t EffectID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(2189)) IVGEffectPtr IVGShape::CreateCustomDistortion ( _bstr_t DistortionID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(2190)) HRESULT IVGShape::AlignToShape ( enum cdrAlignType Type, struct IVGShape * Shape, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(2191)) HRESULT IVGShape::AlignToShapeRange ( enum cdrAlignType Type, struct IVGShapeRange * ShapeRange, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(2192)) HRESULT IVGShape::AlignToPage ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(2193)) HRESULT IVGShape::AlignToPageCenter ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(2194)) HRESULT IVGShape::AlignToGrid ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(2195)) HRESULT IVGShape::AlignToPoint ( enum cdrAlignType Type, double x, double y, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(2196)) IVGDimensionPtr IVGShape::GetDimension ( );
+__declspec(implementation_key(2197)) IVGSymbolPtr IVGShape::GetSymbol ( );
+__declspec(implementation_key(2198)) IVGShapePtr IVGShape::ConvertToSymbol ( _bstr_t Name );
+__declspec(implementation_key(2199)) IVGOLEPtr IVGShape::GetOLE ( );
+__declspec(implementation_key(2200)) IVGShapeRangePtr IVGShape::DuplicateAsRange ( double OffsetX, double OffsetY );
+__declspec(implementation_key(2201)) IVGShapeRangePtr IVGShape::CloneAsRange ( double OffsetX, double OffsetY );
+__declspec(implementation_key(2202)) HRESULT IVGShape::MoveToLayer ( struct IVGLayer * Layer );
+__declspec(implementation_key(2203)) IVGShapePtr IVGShape::CopyToLayer ( struct IVGLayer * Layer );
+__declspec(implementation_key(2204)) IVGShapeRangePtr IVGShape::CopyToLayerAsRange ( struct IVGLayer * Layer );
+__declspec(implementation_key(2205)) HRESULT IVGShape::ClearTransformations ( );
+__declspec(implementation_key(2206)) HRESULT IVGShape::Distribute ( enum cdrDistributeType Type, VARIANT_BOOL PageExtent );
+__declspec(implementation_key(2207)) VARIANT_BOOL IVGShape::CompareTo ( struct IVGShape * Shape, enum cdrCompareType CompareType, enum cdrCompareCondition Condition );
+__declspec(implementation_key(2208)) VARIANT_BOOL IVGShape::GetSelectable ( );
+__declspec(implementation_key(2209)) HRESULT IVGShape::ApplyEffectInvert ( );
+__declspec(implementation_key(2210)) HRESULT IVGShape::ApplyEffectPosterize ( long Level );
+__declspec(implementation_key(2211)) HRESULT IVGShape::ApplyEffectBCI ( long Brighness, long Contrast, long Intensity );
+__declspec(implementation_key(2212)) HRESULT IVGShape::ApplyEffectColorBalance ( long CyanRed, long MagentaGreen, long YellowBlue, VARIANT_BOOL ApplyToShadows, VARIANT_BOOL ApplyToMidtones, VARIANT_BOOL ApplyToHighlights, VARIANT_BOOL PreserveLuminance );
+__declspec(implementation_key(2213)) HRESULT IVGShape::ApplyEffectGamma ( double Gamma );
+__declspec(implementation_key(2214)) HRESULT IVGShape::ApplyEffectHSL ( const _variant_t & Hue, const _variant_t & Saturation, const _variant_t & Lightness );
+__declspec(implementation_key(2215)) HRESULT IVGShape::TransformMatrix ( double d11, double d12, double d21, double d22, double tx, double ty );
+__declspec(implementation_key(2216)) HRESULT IVGShape::AffineTransform ( double d11, double d12, double d21, double d22, double CenterX, double CenterY );
+__declspec(implementation_key(2217)) IVGTreeNodePtr IVGShape::GetTreeNode ( );
+__declspec(implementation_key(2218)) HRESULT IVGShape::ReplaceWith ( struct IVGShape * VirtualShape );
+__declspec(implementation_key(2219)) VARIANT_BOOL IVGShape::GetVirtual ( );
+__declspec(implementation_key(2220)) VARIANT_BOOL IVGShape::GetCanHaveFill ( );
+__declspec(implementation_key(2221)) VARIANT_BOOL IVGShape::GetCanHaveOutline ( );
+__declspec(implementation_key(2222)) VARIANT_BOOL IVGShape::GetIsSimpleShape ( );
+__declspec(implementation_key(2223)) HRESULT IVGShape::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2224)) HRESULT IVGShape::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2225)) HRESULT IVGShape::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2226)) enum cdrFillMode IVGShape::GetFillMode ( );
+__declspec(implementation_key(2227)) void IVGShape::PutFillMode ( enum cdrFillMode pVal );
+__declspec(implementation_key(2228)) double IVGShape::GetLeftX ( );
+__declspec(implementation_key(2229)) double IVGShape::GetRightX ( );
+__declspec(implementation_key(2230)) double IVGShape::GetTopY ( );
+__declspec(implementation_key(2231)) double IVGShape::GetBottomY ( );
+__declspec(implementation_key(2232)) IVGShapeRangePtr IVGShape::StepAndRepeat ( long NumCopies, double DistanceX, double DistanceY, enum cdrDistanceMode ModeX, enum cdrDirection DirectionX, enum cdrDistanceMode ModeY, enum cdrDirection DirectionY );
+__declspec(implementation_key(2233)) VARIANT_BOOL IVGShape::GetOverprintBitmap ( );
+__declspec(implementation_key(2234)) void IVGShape::PutOverprintBitmap ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2235)) VARIANT_BOOL IVGShape::IsTypeAnyOf ( SAFEARRAY * * TypeList );
+__declspec(implementation_key(2236)) IVGShapeRangePtr IVGShape::GetLinkedShapes ( enum cdrShapeLinkType LinkType );
+__declspec(implementation_key(2237)) IVGEffectPtr IVGShape::CreateEnvelopeFromShape ( struct IVGShape * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices );
+__declspec(implementation_key(2238)) IVGEffectPtr IVGShape::CreateEnvelopeFromCurve ( struct IVGCurve * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices );
+__declspec(implementation_key(2239)) IVGEPSPtr IVGShape::GetEPS ( );
+__declspec(implementation_key(2240)) _variant_t IVGShape::Evaluate ( _bstr_t Expression );
+__declspec(implementation_key(2241)) IVGRectPtr IVGShape::GetBoundingBox ( );
+__declspec(implementation_key(2242)) HRESULT IVGShape::GetPositionEx ( enum cdrReferencePoint ReferencePoint, double * x, double * y );
+__declspec(implementation_key(2243)) HRESULT IVGShape::SetPositionEx ( enum cdrReferencePoint ReferencePoint, double x, double y );
+__declspec(implementation_key(2244)) double IVGShape::GetCenterX ( );
+__declspec(implementation_key(2245)) void IVGShape::PutCenterX ( double pVal );
+__declspec(implementation_key(2246)) double IVGShape::GetCenterY ( );
+__declspec(implementation_key(2247)) void IVGShape::PutCenterY ( double pVal );
+__declspec(implementation_key(2248)) void IVGShape::PutLeftX ( double pVal );
+__declspec(implementation_key(2249)) void IVGShape::PutRightX ( double pVal );
+__declspec(implementation_key(2250)) void IVGShape::PutTopY ( double pVal );
+__declspec(implementation_key(2251)) void IVGShape::PutBottomY ( double pVal );
+__declspec(implementation_key(2252)) long IVGShape::GetZOrder ( );
+__declspec(implementation_key(2253)) VARIANT_BOOL IVGShape::CompareToEx ( struct IVGShape * Shape2, _bstr_t Condition, const _variant_t & Data );
+__declspec(implementation_key(2254)) VARIANT_BOOL IVGShape::CopyPropertiesFrom ( struct IVGShape * Source, enum cdrCopyProperties Properties );
+__declspec(implementation_key(2255)) enum cdrOverprintState IVGShape::GetOverprintFillState ( );
+__declspec(implementation_key(2256)) enum cdrOverprintState IVGShape::GetOverprintOutlineState ( );
+__declspec(implementation_key(2257)) IVGPagePtr IVGShape::GetPage ( );
+__declspec(implementation_key(2258)) IVGSnapPointsPtr IVGShape::SnapPointsOfType ( enum cdrPointType TypeSet );
+__declspec(implementation_key(2259)) IVGSnapPointPtr IVGShape::FindSnapPoint ( _bstr_t ReferenceData );
+__declspec(implementation_key(2260)) IVGSpreadPtr IVGShape::GetSpread ( );
+__declspec(implementation_key(2261)) VARIANT_BOOL IVGShape::GetPixelAlignedRendering ( );
+__declspec(implementation_key(2262)) void IVGShape::PutPixelAlignedRendering ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2263)) IVGBSplinePtr IVGShape::GetBSpline ( );
+__declspec(implementation_key(2264)) IVGDocumentPtr IVGShape::CreateDocumentFrom ( VARIANT_BOOL TemporaryDocument );
+__declspec(implementation_key(2265)) HRESULT IVGShape::AlignAndDistribute ( enum cdrAlignDistributeH MethodH, enum cdrAlignDistributeV MethodV, enum cdrAlignShapesTo AlignTo, enum cdrDistributeArea DistributeArea, VARIANT_BOOL UseOutline, enum cdrTextAlignOrigin TextAlignOrigin, double PointX, double PointY, struct IVGRect * DistributeRect );
+__declspec(implementation_key(2266)) IVGStylePtr IVGShape::GetStyle ( );
+__declspec(implementation_key(2267)) IVGShapePtr IVGShape::CreateBoundary ( double x, double y, VARIANT_BOOL PlaceOnTop, VARIANT_BOOL DeleteSource );
+__declspec(implementation_key(2268)) IVGShapeRangePtr IVGShape::EqualDivide ( long Divisions, double Gap, VARIANT_BOOL Group, VARIANT_BOOL Combine, VARIANT_BOOL DeleteSource );
+__declspec(implementation_key(2269)) IVGShapePtr IVGShape::Project ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate );
+__declspec(implementation_key(2270)) IVGShapePtr IVGShape::Unproject ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate );
+__declspec(implementation_key(2271)) IVGTransformMatrixPtr IVGShape::GetTransformationMatrix ( );
+__declspec(implementation_key(2272)) void IVGShape::PutTransformationMatrix ( struct IVGTransformMatrix * TransformMatrix );
+__declspec(implementation_key(2273)) HRESULT IVGShape::ApplyTransformMatrix ( struct IVGTransformMatrix * TransformMatrix );
+__declspec(implementation_key(2274)) VARIANT_BOOL IVGShape::GetVisible ( );
+__declspec(implementation_key(2275)) void IVGShape::PutVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2276)) HRESULT IVGShape::ModifyToolShapeProperties ( struct IVGProperties * ShapePropertiesToModify );
+__declspec(implementation_key(2277)) _bstr_t IVGShape::GetToolShapeGuid ( );
+__declspec(implementation_key(2278)) IVGShapeRangePtr IVGShape::CreateParallelCurves ( long Count, double distanceBetweenCurves );
+__declspec(implementation_key(2279)) IVGShapePtr IVGShape::FindShapeAtPoint ( double x, double y, VARIANT_BOOL TreatAsFilled );
+__declspec(implementation_key(2280)) SAFEARRAY * IVGShape::GetColorTypes ( );
+__declspec(implementation_key(2281)) SAFEARRAY * IVGShape::GetColors ( long MaxBitmapColors );
+__declspec(implementation_key(2282)) HRESULT IVGShape::FlattenEffects ( );
+__declspec(implementation_key(2283)) IVGEffectPtr IVGShape::CreateInnerShadow ( long Opacity, long Feather, double OffsetX, double OffsetY, struct IVGColor * Color, enum cdrFeatherType FeatherType, enum cdrEdgeType FeatherEdge, enum cdrMergeMode MergeMode, double Depth );
+__declspec(implementation_key(2284)) _bstr_t IVGCustomEffect::GetEffectID ( );
+__declspec(implementation_key(2285)) IVGShapePtr IVGCustomEffect::GetEffectGroup ( );
+__declspec(implementation_key(2286)) IVGApplicationPtr IVGCloneLink::GetApplication ( );
+__declspec(implementation_key(2287)) IVGShapePtr IVGCloneLink::GetParent ( );
+__declspec(implementation_key(2288)) IVGShapePtr IVGCloneLink::GetCloneParent ( );
+__declspec(implementation_key(2289)) VARIANT_BOOL IVGCloneLink::GetFillLinked ( );
+__declspec(implementation_key(2290)) void IVGCloneLink::PutFillLinked ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2291)) VARIANT_BOOL IVGCloneLink::GetOutlineLinked ( );
+__declspec(implementation_key(2292)) void IVGCloneLink::PutOutlineLinked ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2293)) VARIANT_BOOL IVGCloneLink::GetShapeLinked ( );
+__declspec(implementation_key(2294)) void IVGCloneLink::PutShapeLinked ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2295)) VARIANT_BOOL IVGCloneLink::GetTransformLinked ( );
+__declspec(implementation_key(2296)) void IVGCloneLink::PutTransformLinked ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2297)) VARIANT_BOOL IVGCloneLink::GetBitmapColorMaskLinked ( );
+__declspec(implementation_key(2298)) void IVGCloneLink::PutBitmapColorMaskLinked ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2299)) HRESULT IVGCloneLink::RestoreAllLinks ( );
+__declspec(implementation_key(2300)) IVGShapePtr IVGCommentTarget::GetShape ( );
+__declspec(implementation_key(2301)) void IVGCommentTarget::PutRefShape ( struct IVGShape * * pRet );
+__declspec(implementation_key(2302)) _bstr_t IVGCommentTarget::GetGuid ( );
+__declspec(implementation_key(2303)) void IVGCommentTarget::PutGuid ( _bstr_t pRet );
+__declspec(implementation_key(2304)) IVGApplicationPtr IVGSelectionInformation::GetApplication ( );
+__declspec(implementation_key(2305)) IVGDocumentPtr IVGSelectionInformation::GetParent ( );
+__declspec(implementation_key(2306)) long IVGSelectionInformation::GetCount ( );
+__declspec(implementation_key(2307)) IVGShapePtr IVGSelectionInformation::GetFirstShape ( );
+__declspec(implementation_key(2308)) IVGShapePtr IVGSelectionInformation::GetSecondShape ( );
+__declspec(implementation_key(2309)) IVGShapePtr IVGSelectionInformation::GetBlendTopShape ( );
+__declspec(implementation_key(2310)) IVGShapePtr IVGSelectionInformation::GetBlendBottomShape ( );
+__declspec(implementation_key(2311)) IVGShapePtr IVGSelectionInformation::GetBlendPath ( );
+__declspec(implementation_key(2312)) VARIANT_BOOL IVGSelectionInformation::GetCanCreateBlend ( );
+__declspec(implementation_key(2313)) IVGShapePtr IVGSelectionInformation::GetDistortionShape ( );
+__declspec(implementation_key(2314)) enum cdrDistortionType IVGSelectionInformation::GetDistortionType ( );
+__declspec(implementation_key(2315)) IVGShapePtr IVGSelectionInformation::GetExtrudeFaceShape ( );
+__declspec(implementation_key(2316)) IVGShapePtr IVGSelectionInformation::GetExtrudeGroup ( );
+__declspec(implementation_key(2317)) IVGShapePtr IVGSelectionInformation::GetExtrudeBevelGroup ( );
+__declspec(implementation_key(2318)) IVGShapePtr IVGSelectionInformation::GetContourControlShape ( );
+__declspec(implementation_key(2319)) IVGShapePtr IVGSelectionInformation::GetContourGroup ( );
+__declspec(implementation_key(2320)) IVGShapePtr IVGSelectionInformation::GetDropShadowControlShape ( );
+__declspec(implementation_key(2321)) IVGShapePtr IVGSelectionInformation::GetDropShadowGroup ( );
+__declspec(implementation_key(2322)) IVGShapePtr IVGSelectionInformation::GetDimensionControlShape ( );
+__declspec(implementation_key(2323)) IVGShapePtr IVGSelectionInformation::GetDimensionGroup ( );
+__declspec(implementation_key(2324)) IVGShapePtr IVGSelectionInformation::GetConnectorLines ( );
+__declspec(implementation_key(2325)) IVGShapePtr IVGSelectionInformation::GetFittedTextControlShape ( );
+__declspec(implementation_key(2326)) IVGShapePtr IVGSelectionInformation::GetFittedText ( );
+__declspec(implementation_key(2327)) IVGShapePtr IVGSelectionInformation::GetFirstShapeWithOutline ( );
+__declspec(implementation_key(2328)) IVGShapePtr IVGSelectionInformation::GetFirstShapeWithFill ( );
+__declspec(implementation_key(2329)) IVGShapePtr IVGSelectionInformation::GetNaturalMediaControlShape ( );
+__declspec(implementation_key(2330)) IVGShapePtr IVGSelectionInformation::GetNaturalMediaGroup ( );
+__declspec(implementation_key(2331)) VARIANT_BOOL IVGSelectionInformation::GetCanPrint ( );
+__declspec(implementation_key(2332)) VARIANT_BOOL IVGSelectionInformation::GetIsEditingText ( );
+__declspec(implementation_key(2333)) VARIANT_BOOL IVGSelectionInformation::GetIsTextSelection ( );
+__declspec(implementation_key(2334)) VARIANT_BOOL IVGSelectionInformation::GetIsOnPowerClipContents ( );
+__declspec(implementation_key(2335)) VARIANT_BOOL IVGSelectionInformation::GetIsEditingRollOver ( );
+__declspec(implementation_key(2336)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyFillOutline ( );
+__declspec(implementation_key(2337)) VARIANT_BOOL IVGSelectionInformation::GetIsControlSelected ( );
+__declspec(implementation_key(2338)) VARIANT_BOOL IVGSelectionInformation::GetCanDeleteControl ( );
+__declspec(implementation_key(2339)) VARIANT_BOOL IVGSelectionInformation::GetIsGroup ( );
+__declspec(implementation_key(2340)) VARIANT_BOOL IVGSelectionInformation::GetIsRegularShape ( );
+__declspec(implementation_key(2341)) VARIANT_BOOL IVGSelectionInformation::GetIsControlShape ( );
+__declspec(implementation_key(2342)) VARIANT_BOOL IVGSelectionInformation::GetIsBlendControl ( );
+__declspec(implementation_key(2343)) VARIANT_BOOL IVGSelectionInformation::GetIsBlendGroup ( );
+__declspec(implementation_key(2344)) VARIANT_BOOL IVGSelectionInformation::GetIsCloneControl ( );
+__declspec(implementation_key(2345)) VARIANT_BOOL IVGSelectionInformation::GetIsContourControl ( );
+__declspec(implementation_key(2346)) VARIANT_BOOL IVGSelectionInformation::GetIsContourGroup ( );
+__declspec(implementation_key(2347)) VARIANT_BOOL IVGSelectionInformation::GetIsDropShadowControl ( );
+__declspec(implementation_key(2348)) VARIANT_BOOL IVGSelectionInformation::GetIsDropShadowGroup ( );
+__declspec(implementation_key(2349)) VARIANT_BOOL IVGSelectionInformation::GetIsDimensionControl ( );
+__declspec(implementation_key(2350)) VARIANT_BOOL IVGSelectionInformation::GetIsExtrudeControl ( );
+__declspec(implementation_key(2351)) VARIANT_BOOL IVGSelectionInformation::GetIsExtrudeGroup ( );
+__declspec(implementation_key(2352)) VARIANT_BOOL IVGSelectionInformation::GetIsBevelGroup ( );
+__declspec(implementation_key(2353)) VARIANT_BOOL IVGSelectionInformation::GetHasAutoLabelText ( );
+__declspec(implementation_key(2354)) VARIANT_BOOL IVGSelectionInformation::GetIsEnvelope ( );
+__declspec(implementation_key(2355)) VARIANT_BOOL IVGSelectionInformation::GetIsPerspective ( );
+__declspec(implementation_key(2356)) VARIANT_BOOL IVGSelectionInformation::GetIsDistortion ( );
+__declspec(implementation_key(2357)) VARIANT_BOOL IVGSelectionInformation::GetIsConnectorLine ( );
+__declspec(implementation_key(2358)) VARIANT_BOOL IVGSelectionInformation::GetIsConnector ( );
+__declspec(implementation_key(2359)) VARIANT_BOOL IVGSelectionInformation::GetIsFittedText ( );
+__declspec(implementation_key(2360)) VARIANT_BOOL IVGSelectionInformation::GetIsFittedTextControl ( );
+__declspec(implementation_key(2361)) VARIANT_BOOL IVGSelectionInformation::GetIsNaturalMediaControl ( );
+__declspec(implementation_key(2362)) VARIANT_BOOL IVGSelectionInformation::GetIsNaturalMediaGroup ( );
+__declspec(implementation_key(2363)) VARIANT_BOOL IVGSelectionInformation::GetIsSecondExtrudeControl ( );
+__declspec(implementation_key(2364)) VARIANT_BOOL IVGSelectionInformation::GetIsSecondContourControl ( );
+__declspec(implementation_key(2365)) VARIANT_BOOL IVGSelectionInformation::GetIsSecondDropShadowControl ( );
+__declspec(implementation_key(2366)) VARIANT_BOOL IVGSelectionInformation::GetIsSecondNaturalMediaControl ( );
+__declspec(implementation_key(2367)) VARIANT_BOOL IVGSelectionInformation::GetIsArtisticTextSelected ( );
+__declspec(implementation_key(2368)) VARIANT_BOOL IVGSelectionInformation::GetIsParagraphTextSelected ( );
+__declspec(implementation_key(2369)) VARIANT_BOOL IVGSelectionInformation::GetIsTextSelected ( );
+__declspec(implementation_key(2370)) VARIANT_BOOL IVGSelectionInformation::GetIsOLESelected ( );
+__declspec(implementation_key(2371)) VARIANT_BOOL IVGSelectionInformation::GetIsBitmapSelected ( );
+__declspec(implementation_key(2372)) VARIANT_BOOL IVGSelectionInformation::GetIsBitmapPresent ( );
+__declspec(implementation_key(2373)) VARIANT_BOOL IVGSelectionInformation::GetIsLensPresent ( );
+__declspec(implementation_key(2374)) VARIANT_BOOL IVGSelectionInformation::GetIsMaskedBitmapPresent ( );
+__declspec(implementation_key(2375)) VARIANT_BOOL IVGSelectionInformation::GetIsGroupSelected ( );
+__declspec(implementation_key(2376)) VARIANT_BOOL IVGSelectionInformation::GetCanUngroup ( );
+__declspec(implementation_key(2377)) VARIANT_BOOL IVGSelectionInformation::GetIsLinkGroupSelected ( );
+__declspec(implementation_key(2378)) VARIANT_BOOL IVGSelectionInformation::GetIsLinkControlSelected ( );
+__declspec(implementation_key(2379)) VARIANT_BOOL IVGSelectionInformation::GetIsAttachedToDimension ( );
+__declspec(implementation_key(2380)) VARIANT_BOOL IVGSelectionInformation::GetIsFittedTextSelected ( );
+__declspec(implementation_key(2381)) VARIANT_BOOL IVGSelectionInformation::GetIsConnectorLineSelected ( );
+__declspec(implementation_key(2382)) VARIANT_BOOL IVGSelectionInformation::GetIsConnectorSelected ( );
+__declspec(implementation_key(2383)) VARIANT_BOOL IVGSelectionInformation::GetIsPerspectivePresent ( );
+__declspec(implementation_key(2384)) VARIANT_BOOL IVGSelectionInformation::GetIsEnvelopePresent ( );
+__declspec(implementation_key(2385)) VARIANT_BOOL IVGSelectionInformation::GetIsDistortionPresent ( );
+__declspec(implementation_key(2386)) VARIANT_BOOL IVGSelectionInformation::GetIsGuidelineSelected ( );
+__declspec(implementation_key(2387)) VARIANT_BOOL IVGSelectionInformation::GetIsInternetObjectSelected ( );
+__declspec(implementation_key(2388)) VARIANT_BOOL IVGSelectionInformation::GetIsSoundObjectSelected ( );
+__declspec(implementation_key(2389)) VARIANT_BOOL IVGSelectionInformation::GetIsExternalBitmapSelected ( );
+__declspec(implementation_key(2390)) VARIANT_BOOL IVGSelectionInformation::GetIsNonExternalBitmapSelected ( );
+__declspec(implementation_key(2391)) VARIANT_BOOL IVGSelectionInformation::GetIsMeshFillSelected ( );
+__declspec(implementation_key(2392)) VARIANT_BOOL IVGSelectionInformation::GetIsMeshFillPresent ( );
+__declspec(implementation_key(2393)) VARIANT_BOOL IVGSelectionInformation::GetIsRollOverSelected ( );
+__declspec(implementation_key(2394)) VARIANT_BOOL IVGSelectionInformation::GetContainsRollOverParent ( );
+__declspec(implementation_key(2395)) VARIANT_BOOL IVGSelectionInformation::GetCanClone ( );
+__declspec(implementation_key(2396)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyBlend ( );
+__declspec(implementation_key(2397)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyContour ( );
+__declspec(implementation_key(2398)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyFill ( );
+__declspec(implementation_key(2399)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyOutline ( );
+__declspec(implementation_key(2400)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyTransparency ( );
+__declspec(implementation_key(2401)) VARIANT_BOOL IVGSelectionInformation::GetCanAssignURL ( );
+__declspec(implementation_key(2402)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyDistortion ( );
+__declspec(implementation_key(2403)) VARIANT_BOOL IVGSelectionInformation::GetCanApplyEnvelope ( );
+__declspec(implementation_key(2404)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyBlend ( );
+__declspec(implementation_key(2405)) VARIANT_BOOL IVGSelectionInformation::GetCanCloneBlend ( );
+__declspec(implementation_key(2406)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyExtrude ( );
+__declspec(implementation_key(2407)) VARIANT_BOOL IVGSelectionInformation::GetCanCloneExtrude ( );
+__declspec(implementation_key(2408)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyContour ( );
+__declspec(implementation_key(2409)) VARIANT_BOOL IVGSelectionInformation::GetCanCloneContour ( );
+__declspec(implementation_key(2410)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyDropShadow ( );
+__declspec(implementation_key(2411)) VARIANT_BOOL IVGSelectionInformation::GetCanCloneDropShadow ( );
+__declspec(implementation_key(2412)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyLens ( );
+__declspec(implementation_key(2413)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyPerspective ( );
+__declspec(implementation_key(2414)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyEnvelope ( );
+__declspec(implementation_key(2415)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyPowerclip ( );
+__declspec(implementation_key(2416)) VARIANT_BOOL IVGSelectionInformation::GetCanCopyDistortion ( );
+__declspec(implementation_key(2417)) VARIANT_BOOL IVGSelectionInformation::GetCanLockShapes ( );
+__declspec(implementation_key(2418)) VARIANT_BOOL IVGSelectionInformation::GetCanUnlockShapes ( );
+__declspec(implementation_key(2419)) double IVGCurve::GetLength ( );
+__declspec(implementation_key(2420)) IVGSubPathsPtr IVGCurve::GetSubPaths ( );
+__declspec(implementation_key(2421)) IVGNodesPtr IVGCurve::GetNodes ( );
+__declspec(implementation_key(2422)) IVGSegmentsPtr IVGCurve::GetSegments ( );
+__declspec(implementation_key(2423)) VARIANT_BOOL IVGCurve::GetClosed ( );
+__declspec(implementation_key(2424)) void IVGCurve::PutClosed ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2425)) IVGNodeRangePtr IVGCurve::Selection ( );
+__declspec(implementation_key(2426)) IVGSubPathPtr IVGCurve::CreateSubPath ( double x, double y );
+__declspec(implementation_key(2427)) HRESULT IVGCurve::ReverseDirection ( );
+__declspec(implementation_key(2428)) enum cdrPositionOfPointOverShape IVGCurve::IsOnCurve ( double x, double y, double HotArea );
+__declspec(implementation_key(2429)) HRESULT IVGCurve::BindToDocument ( struct IVGDocument * Document );
+__declspec(implementation_key(2430)) IVGCurvePtr IVGCurve::GetCopy ( );
+__declspec(implementation_key(2431)) HRESULT IVGCurve::CopyAssign ( struct IVGCurve * Source );
+__declspec(implementation_key(2432)) IVGSubPathPtr IVGCurve::CreateSubPathFromArray ( SAFEARRAY * * Source, VARIANT_BOOL Closed, long NumElements );
+__declspec(implementation_key(2433)) HRESULT IVGCurve::AppendCurve ( struct IVGCurve * Source );
+__declspec(implementation_key(2434)) SAFEARRAY * IVGCurve::GetCurveInfo ( );
+__declspec(implementation_key(2435)) long IVGCurve::PutCurveInfo ( SAFEARRAY * * Source, long NumElements );
+__declspec(implementation_key(2436)) HRESULT IVGCurve::ClearSelection ( );
+__declspec(implementation_key(2437)) IVGCurvePtr IVGCurve::GetPolyline ( long CurvePrecision );
+__declspec(implementation_key(2438)) IVGCurvePtr IVGCurve::RemoveOverlaps ( );
+__declspec(implementation_key(2439)) IVGCurvePtr IVGCurve::Contour ( double Offset, enum cdrContourDirection Direction, enum cdrContourEndCapType EndCapType, enum cdrContourCornerType CornerType, double MiterLimit );
+__declspec(implementation_key(2440)) VARIANT_BOOL IVGCurve::IsPointInside ( double x, double y );
+__declspec(implementation_key(2441)) VARIANT_BOOL IVGCurve::IsRectOnEdge ( double x1, double y1, double x2, double y2 );
+__declspec(implementation_key(2442)) IVGSegmentPtr IVGCurve::FindClosestSegment ( double x, double y, double * ParamOffset );
+__declspec(implementation_key(2443)) IVGNodePtr IVGCurve::FindNodeAtPoint ( double x, double y, double HotArea );
+__declspec(implementation_key(2444)) IVGSegmentPtr IVGCurve::FindSegmentAtPoint ( double x, double y, double * ParamOffset, double HotArea );
+__declspec(implementation_key(2445)) IVGCurvePtr IVGCurve::WeldWith ( struct IVGCurve * Curve );
+__declspec(implementation_key(2446)) VARIANT_BOOL IVGCurve::GetIsClockwise ( );
+__declspec(implementation_key(2447)) double IVGCurve::GetArea ( );
+__declspec(implementation_key(2448)) VARIANT_BOOL IVGCurve::GetBoundingBox ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(2449)) IVGRectPtr IVGCurve::GetBoundingBox ( );
+__declspec(implementation_key(2450)) VARIANT_BOOL IVGCurve::IntersectsWith ( struct IVGCurve * Curve );
+__declspec(implementation_key(2451)) HRESULT IVGCurve::AppendSubpathFitToPoints ( struct IVGPointRange * Points, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance );
+__declspec(implementation_key(2452)) HRESULT IVGCurve::AppendSubpathFitToPointsAndCusps ( struct IVGPointRange * Points, SAFEARRAY * * CuspIndexArray, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance );
+__declspec(implementation_key(2453)) HRESULT IVGCurve::ApplyTransformMatrix ( struct IVGTransformMatrix * TransformMatrix );
+__declspec(implementation_key(2454)) HRESULT IVGCurve::AppendSubpathFromPoints ( struct IVGPointRange * Points, VARIANT_BOOL Close );
+__declspec(implementation_key(2455)) IVGCurvePtr IVGCurve::CreateCurveMappedToStroke ( struct IVGSubPath * Stroke, double ScaleY, VARIANT_BOOL SelfWeld );
+__declspec(implementation_key(2456)) IVGCurvePtr IVGCurve::CreateCurveMappedToStrokeAndReferenceLine ( struct IVGSubPath * Stroke, struct IVGPoint * Start, struct IVGPoint * End, double ScaleY, VARIANT_BOOL SelfWeld );
+__declspec(implementation_key(2457)) HRESULT IVGCurve::AutoReduceNodes ( double AmountToReduce0To100, VARIANT_BOOL SelectedNodesOnly );
+__declspec(implementation_key(2458)) HRESULT IVGCurve::JoinTouchingSubpaths ( VARIANT_BOOL AllowSubpathReversals, double tolerance );
+__declspec(implementation_key(2459)) HRESULT IVGCurve::AppendSubpathCircle ( double CenterX, double CenterY, double Radius );
+__declspec(implementation_key(2460)) HRESULT IVGCurve::AppendSubpathRectangle ( double Left, double Top, double Right, double Bottom );
+__declspec(implementation_key(2461)) HRESULT IVGCurve::AppendSubpathThreePointArc ( double StartX, double StartY, double EndX, double EndY, double ThirdX, double ThirdY );
+__declspec(implementation_key(2462)) HRESULT IVGCurve::SelfWeldClosedSubpaths ( );
+__declspec(implementation_key(2463)) HRESULT IVGCurve::AppendSubpathEllipse ( double CenterX, double CenterY, double RadiusH, double RadiusV );
+__declspec(implementation_key(2464)) IVGCurvePtr IVGCurve::WeldEx ( struct IVGCurve * TargetCurve, enum cdrWeldMethod Method, VARIANT_BOOL WindingSource, VARIANT_BOOL WindingTarget, long Flags );
+__declspec(implementation_key(2465)) long IVGArrowHead::GetIndex ( );
+__declspec(implementation_key(2466)) IVGCurvePtr IVGArrowHead::GetCurve ( );
+__declspec(implementation_key(2467)) double IVGArrowHead::GetBaseOutlineScale ( );
+__declspec(implementation_key(2468)) double IVGArrowHead::GetCenterX ( );
+__declspec(implementation_key(2469)) double IVGArrowHead::GetCenterY ( );
+__declspec(implementation_key(2470)) double IVGArrowHead::GetLineOffset ( );
+__declspec(implementation_key(2471)) IVGArrowHeadPtr IVGArrowHead::BindToDocument ( struct IVGDocument * Document );
+__declspec(implementation_key(2472)) VARIANT_BOOL IVGArrowHead::CompareWith ( struct IVGArrowHead * ArrowHead );
+__declspec(implementation_key(2473)) _bstr_t IVGArrowHead::GetName ( );
+__declspec(implementation_key(2474)) void IVGArrowHead::PutName ( _bstr_t pVal );
+__declspec(implementation_key(2475)) _bstr_t IVGArrowHead::GetDisplayName ( );
+__declspec(implementation_key(2476)) IVGApplicationPtr IVGArrowHeads::GetApplication ( );
+__declspec(implementation_key(2477)) IVGApplicationPtr IVGArrowHeads::GetParent ( );
+__declspec(implementation_key(2478)) IVGArrowHeadPtr IVGArrowHeads::GetItem ( long Index );
+__declspec(implementation_key(2479)) IUnknownPtr IVGArrowHeads::Get_NewEnum ( );
+__declspec(implementation_key(2480)) long IVGArrowHeads::GetCount ( );
+__declspec(implementation_key(2481)) HRESULT IVGArrowHeads::Remove ( long Index );
+__declspec(implementation_key(2482)) IVGArrowHeadPtr IVGArrowHeads::Add ( struct IVGArrowHead * ArrowHead );
+__declspec(implementation_key(2483)) IVGArrowHeadPtr IVGArrowHeads::Replace ( long Index, struct IVGArrowHead * ArrowHead );
+__declspec(implementation_key(2484)) IVGApplicationPtr IVGSubPaths::GetApplication ( );
+__declspec(implementation_key(2485)) IVGCurvePtr IVGSubPaths::GetParent ( );
+__declspec(implementation_key(2486)) IVGSubPathPtr IVGSubPaths::GetItem ( long Index );
+__declspec(implementation_key(2487)) IUnknownPtr IVGSubPaths::Get_NewEnum ( );
+__declspec(implementation_key(2488)) long IVGSubPaths::GetCount ( );
+__declspec(implementation_key(2489)) IVGSubPathPtr IVGSubPaths::GetFirst ( );
+__declspec(implementation_key(2490)) IVGSubPathPtr IVGSubPaths::GetLast ( );
+__declspec(implementation_key(2491)) IVGApplicationPtr IVGSubPath::GetApplication ( );
+__declspec(implementation_key(2492)) IVGCurvePtr IVGSubPath::GetParent ( );
+__declspec(implementation_key(2493)) IVGNodesPtr IVGSubPath::GetNodes ( );
+__declspec(implementation_key(2494)) IVGSegmentsPtr IVGSubPath::GetSegments ( );
+__declspec(implementation_key(2495)) long IVGSubPath::GetIndex ( );
+__declspec(implementation_key(2496)) double IVGSubPath::GetLength ( );
+__declspec(implementation_key(2497)) VARIANT_BOOL IVGSubPath::GetClosed ( );
+__declspec(implementation_key(2498)) void IVGSubPath::PutClosed ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2499)) double IVGSubPath::GetPositionX ( );
+__declspec(implementation_key(2500)) void IVGSubPath::PutPositionX ( double pVal );
+__declspec(implementation_key(2501)) double IVGSubPath::GetPositionY ( );
+__declspec(implementation_key(2502)) void IVGSubPath::PutPositionY ( double pVal );
+__declspec(implementation_key(2503)) double IVGSubPath::GetSizeWidth ( );
+__declspec(implementation_key(2504)) double IVGSubPath::GetSizeHeight ( );
+__declspec(implementation_key(2505)) IVGNodeRangePtr IVGSubPath::Selection ( );
+__declspec(implementation_key(2506)) HRESULT IVGSubPath::ReverseDirection ( );
+__declspec(implementation_key(2507)) IVGShapePtr IVGSubPath::Extract ( struct IVGShape * * OldCurve );
+__declspec(implementation_key(2508)) HRESULT IVGSubPath::Delete ( );
+__declspec(implementation_key(2509)) HRESULT IVGSubPath::GetPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(2510)) HRESULT IVGSubPath::SetPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(2511)) HRESULT IVGSubPath::Move ( double DeltaX, double DeltaY );
+__declspec(implementation_key(2512)) enum cdrPositionOfPointOverShape IVGSubPath::IsOnSubPath ( double x, double y, double HotArea );
+__declspec(implementation_key(2513)) IVGSegmentPtr IVGSubPath::AppendLineSegment ( double x, double y, VARIANT_BOOL AppendAtBeginning );
+__declspec(implementation_key(2514)) IVGSegmentPtr IVGSubPath::AppendCurveSegment ( double x, double y, double StartingControlPointLength, double StartingControlPointAngle, double EndingControlPointLength, double EndingControlPointAngle, VARIANT_BOOL AppendAtBeginning );
+__declspec(implementation_key(2515)) HRESULT IVGSubPath::GetPointPositionAt ( double * x, double * y, double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2516)) IVGNodePtr IVGSubPath::BreakApartAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2517)) IVGNodePtr IVGSubPath::AddNodeAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2518)) double IVGSubPath::GetPerpendicularAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2519)) double IVGSubPath::GetTangentAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2520)) IVGCrossPointsPtr IVGSubPath::GetIntersections ( struct IVGSubPath * Target, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2521)) IVGSegmentPtr IVGSubPath::GetSegmentAt ( double Offset, enum cdrSegmentOffsetType OffsetType, double * SegmentOffset );
+__declspec(implementation_key(2522)) IVGSubPathPtr IVGSubPath::Next ( );
+__declspec(implementation_key(2523)) IVGSubPathPtr IVGSubPath::Previous ( );
+__declspec(implementation_key(2524)) double IVGSubPath::GetCurvatureAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2525)) double IVGSubPath::GetCurveSpeedAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2526)) IVGNodePtr IVGSubPath::GetStartNode ( );
+__declspec(implementation_key(2527)) IVGNodePtr IVGSubPath::GetEndNode ( );
+__declspec(implementation_key(2528)) VARIANT_BOOL IVGSubPath::FindSegmentOffset ( double AbsoluteOffset, struct IVGSegment * * Segment, double * ParamOffset, double * Remainder );
+__declspec(implementation_key(2529)) IVGSegmentPtr IVGSubPath::GetFirstSegment ( );
+__declspec(implementation_key(2530)) IVGSegmentPtr IVGSubPath::GetLastSegment ( );
+__declspec(implementation_key(2531)) IVGSegmentPtr IVGSubPath::AppendCurveSegment2 ( double x, double y, double StartingControlPointX, double StartingControlPointY, double EndingControlPointX, double EndingControlPointY, VARIANT_BOOL AppendAtBeginning );
+__declspec(implementation_key(2532)) IVGCurvePtr IVGSubPath::GetCopy ( );
+__declspec(implementation_key(2533)) SAFEARRAY * IVGSubPath::GetCurveInfo ( );
+__declspec(implementation_key(2534)) long IVGSubPath::PutCurveInfo ( SAFEARRAY * * Source, long NumElements );
+__declspec(implementation_key(2535)) IVGCurvePtr IVGSubPath::GetPolyline ( long CurvePrecision );
+__declspec(implementation_key(2536)) VARIANT_BOOL IVGSubPath::IsPointInside ( double x, double y );
+__declspec(implementation_key(2537)) VARIANT_BOOL IVGSubPath::IsRectOnEdge ( double x1, double y1, double x2, double y2 );
+__declspec(implementation_key(2538)) IVGSegmentPtr IVGSubPath::FindClosestSegment ( double x, double y, double * ParamOffset );
+__declspec(implementation_key(2539)) IVGNodePtr IVGSubPath::FindNodeAtPoint ( double x, double y, double HotArea );
+__declspec(implementation_key(2540)) IVGSegmentPtr IVGSubPath::FindSegmentAtPoint ( double x, double y, double * ParamOffset, double HotArea );
+__declspec(implementation_key(2541)) VARIANT_BOOL IVGSubPath::GetIsClockwise ( );
+__declspec(implementation_key(2542)) double IVGSubPath::GetArea ( );
+__declspec(implementation_key(2543)) VARIANT_BOOL IVGSubPath::GetBoundingBox ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(2544)) IVGRectPtr IVGSubPath::GetBoundingBox ( );
+__declspec(implementation_key(2545)) HRESULT IVGSubPath::EqualDivide ( long Divisions, double Gap );
+__declspec(implementation_key(2546)) IVGPointRangePtr IVGSubPath::GetEvenlySpacedPoints ( double DistanceBetweenPointsAlongCurve, VARIANT_BOOL ScaleDistanceToFit );
+__declspec(implementation_key(2547)) IVGVectorPtr IVGSubPath::GetPerpendicularVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize );
+__declspec(implementation_key(2548)) IVGVectorPtr IVGSubPath::GetTangentVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize );
+__declspec(implementation_key(2549)) IVGPointPtr IVGSubPath::GetPointAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2550)) IVGApplicationPtr IVGNodes::GetApplication ( );
+__declspec(implementation_key(2551)) IVGCurvePtr IVGNodes::GetParent ( );
+__declspec(implementation_key(2552)) IVGNodePtr IVGNodes::GetItem ( long Index );
+__declspec(implementation_key(2553)) IUnknownPtr IVGNodes::Get_NewEnum ( );
+__declspec(implementation_key(2554)) long IVGNodes::GetCount ( );
+__declspec(implementation_key(2555)) IVGNodeRangePtr IVGNodes::Range ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(2556)) IVGNodeRangePtr IVGNodes::All ( );
+__declspec(implementation_key(2557)) IVGNodeRangePtr IVGNodes::AllExcluding ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(2558)) IVGNodePtr IVGNodes::GetFirst ( );
+__declspec(implementation_key(2559)) IVGNodePtr IVGNodes::GetLast ( );
+__declspec(implementation_key(2560)) IVGApplicationPtr IVGNode::GetApplication ( );
+__declspec(implementation_key(2561)) IVGCurvePtr IVGNode::GetParent ( );
+__declspec(implementation_key(2562)) double IVGNode::GetPositionX ( );
+__declspec(implementation_key(2563)) void IVGNode::PutPositionX ( double pVal );
+__declspec(implementation_key(2564)) double IVGNode::GetPositionY ( );
+__declspec(implementation_key(2565)) void IVGNode::PutPositionY ( double pVal );
+__declspec(implementation_key(2566)) enum cdrNodeType IVGNode::GetType ( );
+__declspec(implementation_key(2567)) void IVGNode::PutType ( enum cdrNodeType pVal );
+__declspec(implementation_key(2568)) IVGSubPathPtr IVGNode::GetSubPath ( );
+__declspec(implementation_key(2569)) long IVGNode::GetIndex ( );
+__declspec(implementation_key(2570)) long IVGNode::GetSubPathIndex ( );
+__declspec(implementation_key(2571)) long IVGNode::GetAbsoluteIndex ( );
+__declspec(implementation_key(2572)) VARIANT_BOOL IVGNode::GetIsEnding ( );
+__declspec(implementation_key(2573)) HRESULT IVGNode::JoinWith ( struct IVGNode * Target );
+__declspec(implementation_key(2574)) HRESULT IVGNode::ConnectWith ( struct IVGNode * Target );
+__declspec(implementation_key(2575)) HRESULT IVGNode::BreakApart ( );
+__declspec(implementation_key(2576)) HRESULT IVGNode::Delete ( );
+__declspec(implementation_key(2577)) HRESULT IVGNode::GetPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(2578)) HRESULT IVGNode::SetPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(2579)) HRESULT IVGNode::Move ( double DeltaX, double DeltaY );
+__declspec(implementation_key(2580)) IVGNodePtr IVGNode::Next ( );
+__declspec(implementation_key(2581)) IVGNodePtr IVGNode::Previous ( );
+__declspec(implementation_key(2582)) double IVGNode::GetDistanceFrom ( struct IVGNode * Node );
+__declspec(implementation_key(2583)) IVGSegmentPtr IVGNode::GetSegment ( );
+__declspec(implementation_key(2584)) IVGSegmentPtr IVGNode::GetPrevSegment ( );
+__declspec(implementation_key(2585)) IVGSegmentPtr IVGNode::GetNextSegment ( );
+__declspec(implementation_key(2586)) VARIANT_BOOL IVGNode::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2587)) VARIANT_BOOL IVGNode::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2588)) VARIANT_BOOL IVGNode::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2589)) VARIANT_BOOL IVGNode::GetSelected ( );
+__declspec(implementation_key(2590)) void IVGNode::PutSelected ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2591)) HRESULT IVGNode::CreateSelection ( );
+__declspec(implementation_key(2592)) VARIANT_BOOL IVGNode::ExtendSubPaths ( struct IVGNode * Node2, VARIANT_BOOL JoinPaths );
+__declspec(implementation_key(2593)) HRESULT IVGNode::AveragePositionWith ( struct IVGNode * Node2, VARIANT_BOOL JoinPaths );
+__declspec(implementation_key(2594)) HRESULT IVGNode::GetPoint ( struct IVGPoint * * ppVal );
+__declspec(implementation_key(2595)) HRESULT IVGNode::SetPoint ( struct IVGPoint * ppVal );
+__declspec(implementation_key(2596)) IVGApplicationPtr IVGSnapPoint::GetApplication ( );
+__declspec(implementation_key(2597)) IVGShapePtr IVGSnapPoint::GetParent ( );
+__declspec(implementation_key(2598)) double IVGSnapPoint::GetPositionX ( );
+__declspec(implementation_key(2599)) void IVGSnapPoint::PutPositionX ( double pVal );
+__declspec(implementation_key(2600)) double IVGSnapPoint::GetPositionY ( );
+__declspec(implementation_key(2601)) void IVGSnapPoint::PutPositionY ( double pVal );
+__declspec(implementation_key(2602)) enum cdrPointType IVGSnapPoint::GetType ( );
+__declspec(implementation_key(2603)) IVGNodePtr IVGSnapPoint::GetNode ( );
+__declspec(implementation_key(2604)) VARIANT_BOOL IVGSnapPoint::GetIsDeletable ( );
+__declspec(implementation_key(2605)) VARIANT_BOOL IVGSnapPoint::GetIsMovable ( );
+__declspec(implementation_key(2606)) VARIANT_BOOL IVGSnapPoint::GetCanChangeDirection ( );
+__declspec(implementation_key(2607)) HRESULT IVGSnapPoint::GetPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(2608)) VARIANT_BOOL IVGSnapPoint::GetUsesDirection ( );
+__declspec(implementation_key(2609)) void IVGSnapPoint::PutUsesDirection ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2610)) VARIANT_BOOL IVGSnapPoint::GetIsSelectable ( );
+__declspec(implementation_key(2611)) double IVGSnapPoint::GetDirection ( );
+__declspec(implementation_key(2612)) void IVGSnapPoint::PutDirection ( double pVal );
+__declspec(implementation_key(2613)) HRESULT IVGSnapPoint::SetPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(2614)) VARIANT_BOOL IVGSnapPoint::GetSelected ( );
+__declspec(implementation_key(2615)) void IVGSnapPoint::PutSelected ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2616)) HRESULT IVGSnapPoint::CreateSelection ( );
+__declspec(implementation_key(2617)) IVGUserSnapPointPtr IVGSnapPoint::GetUser ( );
+__declspec(implementation_key(2618)) IVGObjectSnapPointPtr IVGSnapPoint::GetObject ( );
+__declspec(implementation_key(2619)) IVGShapePtr IVGSnapPoint::GetShape ( );
+__declspec(implementation_key(2620)) IVGBBoxSnapPointPtr IVGSnapPoint::GetBBox ( );
+__declspec(implementation_key(2621)) _bstr_t IVGSnapPoint::GetReferenceData ( );
+__declspec(implementation_key(2622)) HRESULT IVGSnapPoint::Delete ( );
+__declspec(implementation_key(2623)) HRESULT IVGSnapPoint::Move ( double OffsetX, double OffsetY );
+__declspec(implementation_key(2624)) IVGEdgeSnapPointPtr IVGSnapPoint::GetEdge ( );
+__declspec(implementation_key(2625)) long IVGSnapPointRange::GetCount ( );
+__declspec(implementation_key(2626)) IVGSnapPointPtr IVGSnapPointRange::GetItem ( long Index );
+__declspec(implementation_key(2627)) HRESULT IVGSnapPointRange::Move ( double OffsetX, double OffsetY );
+__declspec(implementation_key(2628)) HRESULT IVGSnapPointRange::Delete ( );
+__declspec(implementation_key(2629)) IUnknownPtr IVGSnapPointRange::Get_NewEnum ( );
+__declspec(implementation_key(2630)) VARIANT_BOOL IVGSnapPointRange::Add ( struct IVGSnapPoint * SnapPoint );
+__declspec(implementation_key(2631)) VARIANT_BOOL IVGSnapPointRange::Remove ( long Index );
+__declspec(implementation_key(2632)) VARIANT_BOOL IVGSnapPointRange::RemoveByReference ( _bstr_t ReferenceData );
+__declspec(implementation_key(2633)) IVGSnapPointPtr IVGSnapPointRange::Find ( _bstr_t ReferenceData );
+__declspec(implementation_key(2634)) HRESULT IVGSnapPointRange::CreateSelection ( );
+__declspec(implementation_key(2635)) HRESULT IVGSnapPointRange::AddToSelection ( );
+__declspec(implementation_key(2636)) HRESULT IVGSnapPointRange::RemoveFromSelection ( );
+__declspec(implementation_key(2637)) HRESULT IVGSnapPointRange::ChangeDirection ( double Direction, enum cdrTriState UsesDirection );
+__declspec(implementation_key(2638)) HRESULT IVGSnapPointRange::SetAutoSnap ( VARIANT_BOOL AutoSnap );
+__declspec(implementation_key(2639)) IVGApplicationPtr IVGSnapPoints::GetApplication ( );
+__declspec(implementation_key(2640)) IVGShapePtr IVGSnapPoints::GetParent ( );
+__declspec(implementation_key(2641)) IVGSnapPointPtr IVGSnapPoints::GetItem ( long Index );
+__declspec(implementation_key(2642)) IUnknownPtr IVGSnapPoints::Get_NewEnum ( );
+__declspec(implementation_key(2643)) long IVGSnapPoints::GetCount ( );
+__declspec(implementation_key(2644)) IVGSnapPointPtr IVGSnapPoints::User ( _bstr_t ID );
+__declspec(implementation_key(2645)) IVGSnapPointPtr IVGSnapPoints::BBox ( enum cdrReferencePoint Type );
+__declspec(implementation_key(2646)) IVGSnapPointPtr IVGSnapPoints::Object ( enum cdrObjectSnapPointType Type );
+__declspec(implementation_key(2647)) IVGSnapPointPtr IVGSnapPoints::FindClosest ( enum cdrPointType TypeSet, double PositionX, double PositionY );
+__declspec(implementation_key(2648)) IVGSnapPointRangePtr IVGSnapPoints::Range ( SAFEARRAY * * References );
+__declspec(implementation_key(2649)) IVGSnapPointPtr IVGSnapPoints::AddUserSnapPoint ( double PositionX, double PositionY, double Direction, VARIANT_BOOL UseDirection );
+__declspec(implementation_key(2650)) IVGSnapPointPtr IVGSnapPoints::AddUserSnapPointEx ( _bstr_t ID, double PositionX, double PositionY, double Direction, VARIANT_BOOL UseDirection );
+__declspec(implementation_key(2651)) IVGSnapPointRangePtr IVGSnapPoints::GetSelection ( );
+__declspec(implementation_key(2652)) HRESULT IVGSnapPoints::ClearSelection ( );
+__declspec(implementation_key(2653)) IVGSnapPointRangePtr IVGSnapPoints::GetAll ( );
+__declspec(implementation_key(2654)) IVGSnapPointPtr IVGSnapPoints::Edge ( long SegmentIndex, double SegmentOffset );
+__declspec(implementation_key(2655)) IVGSnapPointPtr IVGSnapPoints::Auto ( );
+__declspec(implementation_key(2656)) IVGSnapPointPtr IVGConnector::GetStartPoint ( );
+__declspec(implementation_key(2657)) void IVGConnector::PutStartPoint ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(2658)) IVGSnapPointPtr IVGConnector::GetEndPoint ( );
+__declspec(implementation_key(2659)) void IVGConnector::PutEndPoint ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(2660)) enum cdrConnectorType IVGConnector::GetType ( );
+__declspec(implementation_key(2661)) enum cdrLinearDimensionType IVGDimensionLinear::GetType ( );
+__declspec(implementation_key(2662)) IVGSnapPointPtr IVGDimensionLinear::GetPoint1 ( );
+__declspec(implementation_key(2663)) void IVGDimensionLinear::PutPoint1 ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(2664)) IVGSnapPointPtr IVGDimensionLinear::GetPoint2 ( );
+__declspec(implementation_key(2665)) void IVGDimensionLinear::PutPoint2 ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(2666)) VARIANT_BOOL IVGDimensionLinear::GetTextCentered ( );
+__declspec(implementation_key(2667)) void IVGDimensionLinear::PutTextCentered ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2668)) double IVGDimensionLinear::GetTextX ( );
+__declspec(implementation_key(2669)) void IVGDimensionLinear::PutTextX ( double pVal );
+__declspec(implementation_key(2670)) double IVGDimensionLinear::GetTextY ( );
+__declspec(implementation_key(2671)) void IVGDimensionLinear::PutTextY ( double pVal );
+__declspec(implementation_key(2672)) enum cdrDimensionStyle IVGDimensionLinear::GetStyle ( );
+__declspec(implementation_key(2673)) void IVGDimensionLinear::PutStyle ( enum cdrDimensionStyle pVal );
+__declspec(implementation_key(2674)) VARIANT_BOOL IVGDimensionLinear::GetShowUnits ( );
+__declspec(implementation_key(2675)) void IVGDimensionLinear::PutShowUnits ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2676)) enum cdrDimensionLinearUnits IVGDimensionLinear::GetUnits ( );
+__declspec(implementation_key(2677)) void IVGDimensionLinear::PutUnits ( enum cdrDimensionLinearUnits pVal );
+__declspec(implementation_key(2678)) enum cdrDimensionPlacement IVGDimensionLinear::GetPlacement ( );
+__declspec(implementation_key(2679)) void IVGDimensionLinear::PutPlacement ( enum cdrDimensionPlacement pVal );
+__declspec(implementation_key(2680)) VARIANT_BOOL IVGDimensionLinear::GetHorizontalText ( );
+__declspec(implementation_key(2681)) void IVGDimensionLinear::PutHorizontalText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2682)) VARIANT_BOOL IVGDimensionLinear::GetReverseTerminators ( );
+__declspec(implementation_key(2683)) void IVGDimensionLinear::PutReverseTerminators ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2684)) VARIANT_BOOL IVGDimensionLinear::GetAutoReverseTerminators ( );
+__declspec(implementation_key(2685)) void IVGDimensionLinear::PutAutoReverseTerminators ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2686)) double IVGDimensionLinear::GetReverseTerminatorLength ( );
+__declspec(implementation_key(2687)) VARIANT_BOOL IVGDimensionLinear::GetUseReverseTerminatorLength ( );
+__declspec(implementation_key(2688)) void IVGDimensionLinear::PutUseReverseTerminatorLength ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2689)) HRESULT IVGDimensionLinear::SetReverseTerminatorLength ( double Length );
+__declspec(implementation_key(2690)) VARIANT_BOOL IVGDimensionLinear::GetInnerDimensionLineVisible ( );
+__declspec(implementation_key(2691)) void IVGDimensionLinear::PutInnerDimensionLineVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2692)) IVGSnapPointPtr IVGDimensionAngular::GetCenter ( );
+__declspec(implementation_key(2693)) void IVGDimensionAngular::PutCenter ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(2694)) IVGSnapPointPtr IVGDimensionAngular::GetPoint1 ( );
+__declspec(implementation_key(2695)) void IVGDimensionAngular::PutPoint1 ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(2696)) IVGSnapPointPtr IVGDimensionAngular::GetPoint2 ( );
+__declspec(implementation_key(2697)) void IVGDimensionAngular::PutPoint2 ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(2698)) double IVGDimensionAngular::GetTextX ( );
+__declspec(implementation_key(2699)) void IVGDimensionAngular::PutTextX ( double pVal );
+__declspec(implementation_key(2700)) double IVGDimensionAngular::GetTextY ( );
+__declspec(implementation_key(2701)) void IVGDimensionAngular::PutTextY ( double pVal );
+__declspec(implementation_key(2702)) VARIANT_BOOL IVGDimensionAngular::GetShowUnits ( );
+__declspec(implementation_key(2703)) void IVGDimensionAngular::PutShowUnits ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2704)) enum cdrDimensionAngularUnits IVGDimensionAngular::GetUnits ( );
+__declspec(implementation_key(2705)) void IVGDimensionAngular::PutUnits ( enum cdrDimensionAngularUnits pVal );
+__declspec(implementation_key(2706)) VARIANT_BOOL IVGDimensionAngular::GetClockwise ( );
+__declspec(implementation_key(2707)) void IVGDimensionAngular::PutClockwise ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2708)) VARIANT_BOOL IVGDimensionAngular::GetInnerExtensionLinesVisible ( );
+__declspec(implementation_key(2709)) void IVGDimensionAngular::PutInnerExtensionLinesVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2710)) IVGApplicationPtr IVGSegment::GetApplication ( );
+__declspec(implementation_key(2711)) IVGCurvePtr IVGSegment::GetParent ( );
+__declspec(implementation_key(2712)) enum cdrSegmentType IVGSegment::GetType ( );
+__declspec(implementation_key(2713)) void IVGSegment::PutType ( enum cdrSegmentType pVal );
+__declspec(implementation_key(2714)) IVGSubPathPtr IVGSegment::GetSubPath ( );
+__declspec(implementation_key(2715)) double IVGSegment::GetLength ( );
+__declspec(implementation_key(2716)) long IVGSegment::GetIndex ( );
+__declspec(implementation_key(2717)) long IVGSegment::GetSubPathIndex ( );
+__declspec(implementation_key(2718)) long IVGSegment::GetAbsoluteIndex ( );
+__declspec(implementation_key(2719)) double IVGSegment::GetStartingControlPointLength ( );
+__declspec(implementation_key(2720)) void IVGSegment::PutStartingControlPointLength ( double pVal );
+__declspec(implementation_key(2721)) double IVGSegment::GetStartingControlPointAngle ( );
+__declspec(implementation_key(2722)) void IVGSegment::PutStartingControlPointAngle ( double pVal );
+__declspec(implementation_key(2723)) double IVGSegment::GetEndingControlPointLength ( );
+__declspec(implementation_key(2724)) void IVGSegment::PutEndingControlPointLength ( double pVal );
+__declspec(implementation_key(2725)) double IVGSegment::GetEndingControlPointAngle ( );
+__declspec(implementation_key(2726)) void IVGSegment::PutEndingControlPointAngle ( double pVal );
+__declspec(implementation_key(2727)) HRESULT IVGSegment::GetPointPositionAt ( double * x, double * y, double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2728)) IVGNodePtr IVGSegment::BreakApartAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2729)) IVGNodePtr IVGSegment::AddNodeAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2730)) double IVGSegment::GetPerpendicularAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2731)) double IVGSegment::GetTangentAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2732)) IVGCrossPointsPtr IVGSegment::GetIntersections ( struct IVGSegment * Target, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2733)) IVGSegmentPtr IVGSegment::Next ( );
+__declspec(implementation_key(2734)) IVGSegmentPtr IVGSegment::Previous ( );
+__declspec(implementation_key(2735)) IVGNodePtr IVGSegment::GetStartNode ( );
+__declspec(implementation_key(2736)) IVGNodePtr IVGSegment::GetEndNode ( );
+__declspec(implementation_key(2737)) double IVGSegment::GetStartingControlPointX ( );
+__declspec(implementation_key(2738)) void IVGSegment::PutStartingControlPointX ( double pVal );
+__declspec(implementation_key(2739)) double IVGSegment::GetStartingControlPointY ( );
+__declspec(implementation_key(2740)) void IVGSegment::PutStartingControlPointY ( double pVal );
+__declspec(implementation_key(2741)) double IVGSegment::GetEndingControlPointX ( );
+__declspec(implementation_key(2742)) void IVGSegment::PutEndingControlPointX ( double pVal );
+__declspec(implementation_key(2743)) double IVGSegment::GetEndingControlPointY ( );
+__declspec(implementation_key(2744)) void IVGSegment::PutEndingControlPointY ( double pVal );
+__declspec(implementation_key(2745)) long IVGSegment::GetPeaks ( double Angle, double * Offset1, double * Offset2, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2746)) long IVGSegment::GetBendPoints ( double * Offset1, double * Offset2, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2747)) double IVGSegment::GetCurvatureAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2748)) double IVGSegment::GetCurveSpeedAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2749)) VARIANT_BOOL IVGSegment::FindParamOffset ( double AbsoluteOffset, double * ParamOffset, double * Remainder );
+__declspec(implementation_key(2750)) double IVGSegment::GetAbsoluteOffset ( double ParamOffset );
+__declspec(implementation_key(2751)) HRESULT IVGSegment::GetStartingControlPointPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(2752)) HRESULT IVGSegment::SetStartingControlPointPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(2753)) HRESULT IVGSegment::GetEndingControlPointPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(2754)) HRESULT IVGSegment::SetEndingControlPointPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(2755)) IVGCurvePtr IVGSegment::GetCopy ( );
+__declspec(implementation_key(2756)) VARIANT_BOOL IVGSegment::GetSelected ( );
+__declspec(implementation_key(2757)) void IVGSegment::PutSelected ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2758)) HRESULT IVGSegment::CreateSelection ( );
+__declspec(implementation_key(2759)) IVGCurvePtr IVGSegment::GetPolyline ( long CurvePrecision );
+__declspec(implementation_key(2760)) VARIANT_BOOL IVGSegment::IsRectOnEdge ( double x1, double y1, double x2, double y2 );
+__declspec(implementation_key(2761)) VARIANT_BOOL IVGSegment::FindClosestPoint ( double x, double y, double * ParamOffset );
+__declspec(implementation_key(2762)) VARIANT_BOOL IVGSegment::FindParamOffsetAtPoint ( double x, double y, double * ParamOffset, double HotArea );
+__declspec(implementation_key(2763)) VARIANT_BOOL IVGSegment::GetBoundingBox ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(2764)) IVGRectPtr IVGSegment::GetBoundingBox ( );
+__declspec(implementation_key(2765)) IVGVectorPtr IVGSegment::GetPerpendicularVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize );
+__declspec(implementation_key(2766)) IVGVectorPtr IVGSegment::GetTangentVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize );
+__declspec(implementation_key(2767)) IVGPointPtr IVGSegment::GetPointAt ( double Offset, enum cdrSegmentOffsetType OffsetType );
+__declspec(implementation_key(2768)) double IVGVector::Getx ( );
+__declspec(implementation_key(2769)) void IVGVector::Putx ( double pVal );
+__declspec(implementation_key(2770)) double IVGVector::Gety ( );
+__declspec(implementation_key(2771)) void IVGVector::Puty ( double pVal );
+__declspec(implementation_key(2772)) double IVGVector::GetLength ( );
+__declspec(implementation_key(2773)) void IVGVector::PutLength ( double pVal );
+__declspec(implementation_key(2774)) double IVGVector::GetAngle ( );
+__declspec(implementation_key(2775)) void IVGVector::PutAngle ( double pVal );
+__declspec(implementation_key(2776)) IVGPointPtr IVGVector::GetOffsettedPoint ( struct IVGPoint * Origin, double Distance );
+__declspec(implementation_key(2777)) HRESULT IVGVector::Add ( struct IVGVector * Vector );
+__declspec(implementation_key(2778)) HRESULT IVGVector::Subtract ( struct IVGVector * Vector );
+__declspec(implementation_key(2779)) HRESULT IVGVector::MultiplyBy ( double Multiplier );
+__declspec(implementation_key(2780)) HRESULT IVGVector::Negate ( );
+__declspec(implementation_key(2781)) HRESULT IVGVector::Normalize ( );
+__declspec(implementation_key(2782)) double IVGVector::AngleBetween ( struct IVGVector * Vector );
+__declspec(implementation_key(2783)) double IVGVector::SmallAngleBetween ( struct IVGVector * Vector );
+__declspec(implementation_key(2784)) double IVGVector::DotProduct ( struct IVGVector * Vector );
+__declspec(implementation_key(2785)) double IVGVector::CrossProduct ( struct IVGVector * Vector );
+__declspec(implementation_key(2786)) HRESULT IVGVector::SetFromPoints ( struct IVGPoint * Start, struct IVGPoint * End );
+__declspec(implementation_key(2787)) IVGVectorPtr IVGVector::ProjectOnto ( struct IVGVector * Vector );
+__declspec(implementation_key(2788)) IVGVectorPtr IVGVector::GetCopy ( );
+__declspec(implementation_key(2789)) HRESULT IVGVector::BindToDocument ( struct IVGDocument * Document );
+__declspec(implementation_key(2790)) double IVGPoint::Getx ( );
+__declspec(implementation_key(2791)) void IVGPoint::Putx ( double pVal );
+__declspec(implementation_key(2792)) double IVGPoint::Gety ( );
+__declspec(implementation_key(2793)) void IVGPoint::Puty ( double pVal );
+__declspec(implementation_key(2794)) HRESULT IVGPoint::Add ( struct IVGVector * Vector );
+__declspec(implementation_key(2795)) HRESULT IVGPoint::Subtract ( struct IVGVector * Vector );
+__declspec(implementation_key(2796)) double IVGPoint::DistanceTo ( struct IVGPoint * Point );
+__declspec(implementation_key(2797)) IVGPointPtr IVGPoint::GetCopy ( );
+__declspec(implementation_key(2798)) HRESULT IVGPoint::BindToDocument ( struct IVGDocument * Document );
+__declspec(implementation_key(2799)) IVGPointPtr IVGPointRange::GetItem ( long Index );
+__declspec(implementation_key(2800)) void IVGPointRange::PutItem ( long Index, struct IVGPoint * ppVal );
+__declspec(implementation_key(2801)) IUnknownPtr IVGPointRange::Get_NewEnum ( );
+__declspec(implementation_key(2802)) IVGPointPtr IVGPointRange::GetFirst ( );
+__declspec(implementation_key(2803)) IVGPointPtr IVGPointRange::GetLast ( );
+__declspec(implementation_key(2804)) long IVGPointRange::GetCount ( );
+__declspec(implementation_key(2805)) HRESULT IVGPointRange::AddPoint ( struct IVGPoint * Point );
+__declspec(implementation_key(2806)) HRESULT IVGPointRange::AddPointXY ( double x, double y );
+__declspec(implementation_key(2807)) HRESULT IVGPointRange::InsertPoint ( long Index, struct IVGPoint * Point );
+__declspec(implementation_key(2808)) HRESULT IVGPointRange::AddPoints ( struct IVGPointRange * Points );
+__declspec(implementation_key(2809)) HRESULT IVGPointRange::InsertPoints ( long Index, struct IVGPointRange * Points );
+__declspec(implementation_key(2810)) HRESULT IVGPointRange::Remove ( long Index );
+__declspec(implementation_key(2811)) HRESULT IVGPointRange::RemoveRange ( long StartIndex, long EndIndex );
+__declspec(implementation_key(2812)) HRESULT IVGPointRange::RemoveAll ( );
+__declspec(implementation_key(2813)) HRESULT IVGPointRange::RemoveAdjacentDuplicates ( );
+__declspec(implementation_key(2814)) HRESULT IVGPointRange::Reverse ( );
+__declspec(implementation_key(2815)) HRESULT IVGPointRange::Smoothen ( double NumberOfPointsToSmoothAcross, VARIANT_BOOL Closed );
+__declspec(implementation_key(2816)) IVGPointRangePtr IVGPointRange::GetCopy ( );
+__declspec(implementation_key(2817)) HRESULT IVGPointRange::BindToDocument ( struct IVGDocument * Document );
+__declspec(implementation_key(2818)) double IVGTransformMatrix::Getd11 ( );
+__declspec(implementation_key(2819)) void IVGTransformMatrix::Putd11 ( double pVal );
+__declspec(implementation_key(2820)) double IVGTransformMatrix::Getd12 ( );
+__declspec(implementation_key(2821)) void IVGTransformMatrix::Putd12 ( double pVal );
+__declspec(implementation_key(2822)) double IVGTransformMatrix::Getd21 ( );
+__declspec(implementation_key(2823)) void IVGTransformMatrix::Putd21 ( double pVal );
+__declspec(implementation_key(2824)) double IVGTransformMatrix::Getd22 ( );
+__declspec(implementation_key(2825)) void IVGTransformMatrix::Putd22 ( double pVal );
+__declspec(implementation_key(2826)) double IVGTransformMatrix::GetTranslationX ( );
+__declspec(implementation_key(2827)) void IVGTransformMatrix::PutTranslationX ( double pVal );
+__declspec(implementation_key(2828)) double IVGTransformMatrix::GetTranslationY ( );
+__declspec(implementation_key(2829)) void IVGTransformMatrix::PutTranslationY ( double pVal );
+__declspec(implementation_key(2830)) IVGVectorPtr IVGTransformMatrix::GetTranslation ( );
+__declspec(implementation_key(2831)) void IVGTransformMatrix::PutTranslation ( struct IVGVector * ppVal );
+__declspec(implementation_key(2832)) HRESULT IVGTransformMatrix::SetToIdentity ( );
+__declspec(implementation_key(2833)) HRESULT IVGTransformMatrix::Invert ( );
+__declspec(implementation_key(2834)) HRESULT IVGTransformMatrix::TranslateBy ( double x, double y );
+__declspec(implementation_key(2835)) HRESULT IVGTransformMatrix::TranslateByVector ( struct IVGVector * Vector );
+__declspec(implementation_key(2836)) HRESULT IVGTransformMatrix::SetTranslation ( double x, double y );
+__declspec(implementation_key(2837)) HRESULT IVGTransformMatrix::Rotate ( double Angle );
+__declspec(implementation_key(2838)) HRESULT IVGTransformMatrix::RotateAround ( double Angle, double x, double y );
+__declspec(implementation_key(2839)) HRESULT IVGTransformMatrix::Scale ( double ScaleX, double ScaleY );
+__declspec(implementation_key(2840)) HRESULT IVGTransformMatrix::ScaleAround ( double ScaleX, double ScaleY, double x, double y );
+__declspec(implementation_key(2841)) HRESULT IVGTransformMatrix::Transform ( struct IVGTransformMatrix * TransformMatrix );
+__declspec(implementation_key(2842)) HRESULT IVGTransformMatrix::TransformAround ( struct IVGTransformMatrix * TransformMatrix, double x, double y );
+__declspec(implementation_key(2843)) HRESULT IVGTransformMatrix::TransformPoint ( struct IVGPoint * Point );
+__declspec(implementation_key(2844)) HRESULT IVGTransformMatrix::TransformPoints ( struct IVGPointRange * Points );
+__declspec(implementation_key(2845)) HRESULT IVGTransformMatrix::TransformVector ( struct IVGVector * Vector );
+__declspec(implementation_key(2846)) HRESULT IVGTransformMatrix::UntransformPoint ( struct IVGPoint * Point );
+__declspec(implementation_key(2847)) HRESULT IVGTransformMatrix::UntransformPoints ( struct IVGPointRange * Points );
+__declspec(implementation_key(2848)) HRESULT IVGTransformMatrix::UntransformVector ( struct IVGVector * Vector );
+__declspec(implementation_key(2849)) VARIANT_BOOL IVGTransformMatrix::GetIsIdentity ( );
+__declspec(implementation_key(2850)) VARIANT_BOOL IVGTransformMatrix::GetIsSkewedOrRotatedOrMirrored ( );
+__declspec(implementation_key(2851)) VARIANT_BOOL IVGTransformMatrix::GetContainsOnlyTranslation ( );
+__declspec(implementation_key(2852)) VARIANT_BOOL IVGTransformMatrix::GetIsSkewedOrRotated ( );
+__declspec(implementation_key(2853)) VARIANT_BOOL IVGTransformMatrix::GetIsScaledOrSkewedOrRotated ( );
+__declspec(implementation_key(2854)) VARIANT_BOOL IVGTransformMatrix::GetIsOrthogonal ( );
+__declspec(implementation_key(2855)) VARIANT_BOOL IVGTransformMatrix::GetIsOrthonormalAxisAligned ( );
+__declspec(implementation_key(2856)) VARIANT_BOOL IVGTransformMatrix::GetIsOrthonormal ( );
+__declspec(implementation_key(2857)) VARIANT_BOOL IVGTransformMatrix::GetIsMirrored ( );
+__declspec(implementation_key(2858)) VARIANT_BOOL IVGTransformMatrix::GetIsScaled ( );
+__declspec(implementation_key(2859)) VARIANT_BOOL IVGTransformMatrix::GetIsTranslated ( );
+__declspec(implementation_key(2860)) IVGTransformMatrixPtr IVGTransformMatrix::GetCopy ( );
+__declspec(implementation_key(2861)) HRESULT IVGTransformMatrix::BindToDocument ( struct IVGDocument * Document );
+__declspec(implementation_key(2862)) _variant_t IVGProperties::GetItem ( _bstr_t Name, long ID );
+__declspec(implementation_key(2863)) void IVGProperties::PutItem ( _bstr_t Name, long ID, const _variant_t & pVal );
+__declspec(implementation_key(2864)) IUnknownPtr IVGProperties::Get_NewEnum ( );
+__declspec(implementation_key(2865)) long IVGProperties::GetIndex ( _bstr_t Name, long ID );
+__declspec(implementation_key(2866)) _variant_t IVGProperties::GetItemByIndex ( long Index );
+__declspec(implementation_key(2867)) HRESULT IVGProperties::Delete ( _bstr_t Name, long ID );
+__declspec(implementation_key(2868)) HRESULT IVGProperties::DeleteByIndex ( long Index );
+__declspec(implementation_key(2869)) long IVGProperties::GetCount ( );
+__declspec(implementation_key(2870)) HRESULT IVGProperties::Description ( long Index, BSTR * Name, long * ID );
+__declspec(implementation_key(2871)) HRESULT IVGProperties::PutFile ( _bstr_t Name, long ID, _bstr_t FileName );
+__declspec(implementation_key(2872)) HRESULT IVGProperties::GetFile ( _bstr_t Name, long ID, _bstr_t FileName );
+__declspec(implementation_key(2873)) VARIANT_BOOL IVGProperties::Exists ( _bstr_t Name, long ID );
+__declspec(implementation_key(2874)) VARIANT_BOOL IVGProperties::DeleteAll ( _bstr_t Name );
+__declspec(implementation_key(2875)) IVGPointPtr IVGProperties::GetPoint ( _bstr_t uuidName );
+__declspec(implementation_key(2876)) HRESULT IVGProperties::SetPoint ( _bstr_t uuidName, struct IVGPoint * pVal );
+__declspec(implementation_key(2877)) IVGVectorPtr IVGProperties::GetVector ( _bstr_t uuidName );
+__declspec(implementation_key(2878)) HRESULT IVGProperties::SetVector ( _bstr_t uuidName, struct IVGVector * pVal );
+__declspec(implementation_key(2879)) IVGCurvePtr IVGProperties::GetCurve ( _bstr_t uuidName );
+__declspec(implementation_key(2880)) HRESULT IVGProperties::SetCurve ( _bstr_t uuidName, struct IVGCurve * pVal );
+__declspec(implementation_key(2881)) _bstr_t IVGToolStateAttributes::GetPropertyBarGuid ( );
+__declspec(implementation_key(2882)) void IVGToolStateAttributes::PutPropertyBarGuid ( _bstr_t pVal );
+__declspec(implementation_key(2883)) _bstr_t IVGToolStateAttributes::GetContextMenuGuid ( );
+__declspec(implementation_key(2884)) void IVGToolStateAttributes::PutContextMenuGuid ( _bstr_t pVal );
+__declspec(implementation_key(2885)) VARIANT_BOOL IVGToolStateAttributes::GetUseTabletPressure ( );
+__declspec(implementation_key(2886)) void IVGToolStateAttributes::PutUseTabletPressure ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2887)) VARIANT_BOOL IVGToolStateAttributes::GetAllowTempPickState ( );
+__declspec(implementation_key(2888)) void IVGToolStateAttributes::PutAllowTempPickState ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2889)) VARIANT_BOOL IVGToolStateAttributes::GetAllowAutopan ( );
+__declspec(implementation_key(2890)) void IVGToolStateAttributes::PutAllowAutopan ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2891)) VARIANT_BOOL IVGToolStateAttributes::GetAllowContextMenu ( );
+__declspec(implementation_key(2892)) void IVGToolStateAttributes::PutAllowContextMenu ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2893)) VARIANT_BOOL IVGToolStateAttributes::GetCanUpdateSelectionOnMouseClick ( );
+__declspec(implementation_key(2894)) void IVGToolStateAttributes::PutCanUpdateSelectionOnMouseClick ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2895)) VARIANT_BOOL IVGToolStateAttributes::GetDeselectOnLButtonDown ( );
+__declspec(implementation_key(2896)) void IVGToolStateAttributes::PutDeselectOnLButtonDown ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2897)) VARIANT_BOOL IVGToolStateAttributes::GetEnterGraceStateOnLButtonDown ( );
+__declspec(implementation_key(2898)) void IVGToolStateAttributes::PutEnterGraceStateOnLButtonDown ( VARIANT_BOOL pVal );
+__declspec(implementation_key(2899)) void IVGToolStateAttributes::PutStatusInfo ( _bstr_t _arg1 );
+__declspec(implementation_key(2900)) HRESULT IVGToolStateAttributes::SetCursor ( enum cdrCursorShape CursorShape );
+__declspec(implementation_key(2901)) HRESULT IVGToolStateAttributes::StartTimer ( long TimerId, long TimeToTick, VARIANT_BOOL OneTime );
+__declspec(implementation_key(2902)) HRESULT IVGToolStateAttributes::StopTimer ( long TimerId );
+__declspec(implementation_key(2903)) HRESULT IVGToolStateAttributes::SnapMouse ( struct IVGPoint * pt );
+__declspec(implementation_key(2904)) HRESULT IVGToolStateAttributes::AnchoredSnapMouse ( struct IVGPoint * pt, struct IVGPoint * AnchorPoint );
+__declspec(implementation_key(2905)) HRESULT IVGToolStateAttributes::ConstrainMouse ( struct IVGPoint * pt, struct IVGPoint * AnchorPoint );
+__declspec(implementation_key(2906)) VARIANT_BOOL IVGToolStateAttributes::IsKeyDown ( long KeyCode );
+__declspec(implementation_key(2907)) double IVGToolStateAttributes::GetCurrentPressure ( );
+__declspec(implementation_key(2908)) HRESULT IVGToolStateAttributes::SetCursorGuid ( _bstr_t newVal );
+__declspec(implementation_key(2909)) HRESULT IVGToolStateAttributes::SetStateHintsPage ( _bstr_t newVal );
+__declspec(implementation_key(2910)) HRESULT IVGToolStateAttributes::ExitTemporaryToolState ( );
+__declspec(implementation_key(2911)) IVGDocumentPtr IVGToolStateAttributes::GetDocument ( );
+__declspec(implementation_key(2912)) HRESULT IVGToolStateAttributes::SetFocus ( );
+__declspec(implementation_key(2913)) HRESULT IVGToolStateAttributes::CaptureMouse ( );
+__declspec(implementation_key(2914)) HRESULT IVGToolStateAttributes::ReleaseMouse ( );
+__declspec(implementation_key(2915)) HRESULT IVGToolState::OnStartState ( struct IVGToolStateAttributes * StateAttributes );
+__declspec(implementation_key(2916)) HRESULT IVGToolState::OnExitState ( );
+__declspec(implementation_key(2917)) HRESULT IVGToolState::OnMouseMove ( struct IVGPoint * pt );
+__declspec(implementation_key(2918)) HRESULT IVGToolState::OnLButtonDown ( struct IVGPoint * pt );
+__declspec(implementation_key(2919)) HRESULT IVGToolState::OnLButtonDownLeaveGrace ( struct IVGPoint * pt );
+__declspec(implementation_key(2920)) HRESULT IVGToolState::OnLButtonUp ( struct IVGPoint * pt );
+__declspec(implementation_key(2921)) HRESULT IVGToolState::OnLButtonDblClick ( struct IVGPoint * pt );
+__declspec(implementation_key(2922)) HRESULT IVGToolState::OnClick ( struct IVGPoint * pt, VARIANT_BOOL * Handled );
+__declspec(implementation_key(2923)) HRESULT IVGToolState::OnRButtonDown ( struct IVGPoint * pt, VARIANT_BOOL * Handled );
+__declspec(implementation_key(2924)) HRESULT IVGToolState::OnRButtonUp ( struct IVGPoint * pt, VARIANT_BOOL * Handled );
+__declspec(implementation_key(2925)) HRESULT IVGToolState::OnKeyDown ( long KeyCode, VARIANT_BOOL * Handled );
+__declspec(implementation_key(2926)) HRESULT IVGToolState::OnKeyUp ( long KeyCode, VARIANT_BOOL * Handled );
+__declspec(implementation_key(2927)) HRESULT IVGToolState::OnDelete ( VARIANT_BOOL * Handled );
+__declspec(implementation_key(2928)) HRESULT IVGToolState::OnAbort ( );
+__declspec(implementation_key(2929)) HRESULT IVGToolState::OnCommit ( struct IVGPoint * pt );
+__declspec(implementation_key(2930)) HRESULT IVGToolState::OnSnapMouse ( struct IVGPoint * pt, VARIANT_BOOL * Handled );
+__declspec(implementation_key(2931)) HRESULT IVGToolState::OnTimer ( long TimerId, long TimeEllapsed );
+__declspec(implementation_key(2932)) VARIANT_BOOL IVGToolState::GetIsDrawing ( );
+__declspec(implementation_key(2933)) HRESULT IVGOnScreenCurve::Show ( );
+__declspec(implementation_key(2934)) HRESULT IVGOnScreenCurve::Hide ( );
+__declspec(implementation_key(2935)) HRESULT IVGOnScreenCurve::SetPen ( long Color, long WidthInPixels, enum cdrOnScreenCurvePenStyle Style );
+__declspec(implementation_key(2936)) HRESULT IVGOnScreenCurve::SetNoPen ( );
+__declspec(implementation_key(2937)) HRESULT IVGOnScreenCurve::SetBrush ( long Color );
+__declspec(implementation_key(2938)) HRESULT IVGOnScreenCurve::SetNoBrush ( );
+__declspec(implementation_key(2939)) HRESULT IVGOnScreenCurve::SetCurve ( struct IVGCurve * Curve );
+__declspec(implementation_key(2940)) HRESULT IVGOnScreenCurve::SetLine ( double x1, double y1, double x2, double y2 );
+__declspec(implementation_key(2941)) HRESULT IVGOnScreenCurve::SetRectangle ( double x1, double y1, double x2, double y2 );
+__declspec(implementation_key(2942)) HRESULT IVGOnScreenCurve::SetCircle ( double CenterX, double CenterY, double Radius );
+__declspec(implementation_key(2943)) HRESULT IVGOnScreenCurve::SetPoints ( struct IVGPointRange * Points );
+__declspec(implementation_key(2944)) IVGPointPtr IVGMathUtils::Interpolate ( struct IVGPoint * S, struct IVGPoint * E, double t );
+__declspec(implementation_key(2945)) VARIANT_BOOL IVGMathUtils::IntersectLineSegments ( struct IVGPoint * S1, struct IVGPoint * E1, struct IVGPoint * S2, struct IVGPoint * E2, struct IVGPoint * * ppVal );
+__declspec(implementation_key(2946)) double IVGMathUtils::DistanceToLineSegment ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point );
+__declspec(implementation_key(2947)) IVGPointPtr IVGMathUtils::ClosestPointToLineSegment ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point );
+__declspec(implementation_key(2948)) VARIANT_BOOL IVGMathUtils::IntersectInfiniteLines ( struct IVGPoint * S1, struct IVGPoint * E1, struct IVGPoint * S2, struct IVGPoint * E2, struct IVGPoint * * ppVal );
+__declspec(implementation_key(2949)) double IVGMathUtils::DistanceToInfiniteLine ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point );
+__declspec(implementation_key(2950)) IVGPointPtr IVGMathUtils::ClosestPointToInfiniteLine ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point );
+__declspec(implementation_key(2951)) double IVGMathUtils::GetRandomReal ( double low, double High );
+__declspec(implementation_key(2952)) long IVGMathUtils::GetRandomInteger ( long low, long High );
+__declspec(implementation_key(2953)) HRESULT IVGMathUtils::FitLineToPoints ( struct IVGPointRange * Points, struct IVGPoint * * Origin, struct IVGVector * * Direction );
+__declspec(implementation_key(2954)) IVGPointPtr IVGMathUtils::MidPoint ( struct IVGPoint * S, struct IVGPoint * E );
+__declspec(implementation_key(2955)) IVGPointPtr IVGMathUtils::CreatePoint ( double x, double y );
+__declspec(implementation_key(2956)) IVGVectorPtr IVGMathUtils::CreateVector ( double x, double y );
+__declspec(implementation_key(2957)) IVGPointRangePtr IVGMathUtils::CreatePointRange ( );
+__declspec(implementation_key(2958)) IVGTransformMatrixPtr IVGMathUtils::CreateIdentityTransformMatrix ( );
+__declspec(implementation_key(2959)) IVGTransformMatrixPtr IVGMathUtils::CreateRotationTransformMatrix ( double Angle, double OriginX, double OriginY );
+__declspec(implementation_key(2960)) IVGTransformMatrixPtr IVGMathUtils::CreateTranslationTransformMatrix ( double TranslateX, double TranslateY );
+__declspec(implementation_key(2961)) IVGTransformMatrixPtr IVGMathUtils::CreateScaleTransformMatrix ( double ScaleX, double ScaleY, double OriginX, double OriginY );
+__declspec(implementation_key(2962)) IVGTransformMatrixPtr IVGMathUtils::CreateLineSegmentTransformMatrix ( struct IVGPoint * FromStart, struct IVGPoint * FromEnd, struct IVGPoint * ToStart, struct IVGPoint * ToEnd );
+__declspec(implementation_key(2963)) IVGApplicationPtr IVGNodeRange::GetApplication ( );
+__declspec(implementation_key(2964)) IVGCurvePtr IVGNodeRange::GetParent ( );
+__declspec(implementation_key(2965)) IVGNodePtr IVGNodeRange::GetItem ( long Index );
+__declspec(implementation_key(2966)) long IVGNodeRange::GetCount ( );
+__declspec(implementation_key(2967)) enum cdrNodeType IVGNodeRange::GetType ( );
+__declspec(implementation_key(2968)) double IVGNodeRange::GetPositionX ( );
+__declspec(implementation_key(2969)) double IVGNodeRange::GetPositionY ( );
+__declspec(implementation_key(2970)) double IVGNodeRange::GetSizeWidth ( );
+__declspec(implementation_key(2971)) double IVGNodeRange::GetSizeHeight ( );
+__declspec(implementation_key(2972)) HRESULT IVGNodeRange::Add ( struct IVGNode * Node );
+__declspec(implementation_key(2973)) HRESULT IVGNodeRange::Remove ( long Index );
+__declspec(implementation_key(2974)) HRESULT IVGNodeRange::Move ( double DeltaX, double DeltaY, long AnchorIndex, VARIANT_BOOL ElasticMode );
+__declspec(implementation_key(2975)) HRESULT IVGNodeRange::Delete ( );
+__declspec(implementation_key(2976)) HRESULT IVGNodeRange::Stretch ( float RatioX, float RatioY, VARIANT_BOOL UseAnchorPoint, double StretchAnchorX, double StretchAnchorY );
+__declspec(implementation_key(2977)) HRESULT IVGNodeRange::Rotate ( double Angle, VARIANT_BOOL UseCenterPoint, double RotationCenterX, double RotationCenterY );
+__declspec(implementation_key(2978)) HRESULT IVGNodeRange::Skew ( double AngleX, double AngleY, VARIANT_BOOL UseAnchorPoint, double SkewAnchorX, double SkewAnchorY );
+__declspec(implementation_key(2979)) HRESULT IVGNodeRange::AutoReduce ( double PrecisionMargin );
+__declspec(implementation_key(2980)) HRESULT IVGNodeRange::RemoveAll ( );
+__declspec(implementation_key(2981)) HRESULT IVGNodeRange::SetType ( enum cdrNodeType Type );
+__declspec(implementation_key(2982)) IUnknownPtr IVGNodeRange::Get_NewEnum ( );
+__declspec(implementation_key(2983)) HRESULT IVGNodeRange::AddRange ( struct IVGNodeRange * NodeRange );
+__declspec(implementation_key(2984)) IVGSegmentRangePtr IVGNodeRange::GetSegmentRange ( );
+__declspec(implementation_key(2985)) HRESULT IVGNodeRange::BreakApart ( );
+__declspec(implementation_key(2986)) HRESULT IVGNodeRange::Smoothen ( long Smoothness );
+__declspec(implementation_key(2987)) HRESULT IVGNodeRange::RemoveRange ( struct IVGNodeRange * NodeRange );
+__declspec(implementation_key(2988)) HRESULT IVGNodeRange::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2989)) HRESULT IVGNodeRange::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2990)) HRESULT IVGNodeRange::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(2991)) HRESULT IVGNodeRange::CreateSelection ( );
+__declspec(implementation_key(2992)) HRESULT IVGNodeRange::AddToSelection ( );
+__declspec(implementation_key(2993)) HRESULT IVGNodeRange::RemoveFromSelection ( );
+__declspec(implementation_key(2994)) IVGNodePtr IVGNodeRange::GetFirstNode ( );
+__declspec(implementation_key(2995)) IVGNodePtr IVGNodeRange::GetLastNode ( );
+__declspec(implementation_key(2996)) VARIANT_BOOL IVGNodeRange::GetBoundingBox ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(2997)) IVGRectPtr IVGNodeRange::GetBoundingBox ( );
+__declspec(implementation_key(2998)) IVGApplicationPtr IVGSegmentRange::GetApplication ( );
+__declspec(implementation_key(2999)) IVGCurvePtr IVGSegmentRange::GetParent ( );
+__declspec(implementation_key(3000)) IVGSegmentPtr IVGSegmentRange::GetItem ( long Index );
+__declspec(implementation_key(3001)) long IVGSegmentRange::GetCount ( );
+__declspec(implementation_key(3002)) enum cdrSegmentType IVGSegmentRange::GetType ( );
+__declspec(implementation_key(3003)) double IVGSegmentRange::GetLength ( );
+__declspec(implementation_key(3004)) HRESULT IVGSegmentRange::Add ( struct IVGSegment * Segment );
+__declspec(implementation_key(3005)) HRESULT IVGSegmentRange::Remove ( long Index );
+__declspec(implementation_key(3006)) HRESULT IVGSegmentRange::AddNode ( );
+__declspec(implementation_key(3007)) HRESULT IVGSegmentRange::RemoveAll ( );
+__declspec(implementation_key(3008)) HRESULT IVGSegmentRange::SetType ( enum cdrSegmentType Type );
+__declspec(implementation_key(3009)) IUnknownPtr IVGSegmentRange::Get_NewEnum ( );
+__declspec(implementation_key(3010)) HRESULT IVGSegmentRange::AddRange ( struct IVGSegmentRange * SegmentRange );
+__declspec(implementation_key(3011)) IVGNodeRangePtr IVGSegmentRange::GetNodeRange ( );
+__declspec(implementation_key(3012)) HRESULT IVGSegmentRange::RemoveRange ( struct IVGSegmentRange * SegmentRange );
+__declspec(implementation_key(3013)) IVGSegmentPtr IVGSegmentRange::GetFirstSegment ( );
+__declspec(implementation_key(3014)) IVGSegmentPtr IVGSegmentRange::GetLastSegment ( );
+__declspec(implementation_key(3015)) HRESULT IVGSegmentRange::CreateSelection ( );
+__declspec(implementation_key(3016)) HRESULT IVGSegmentRange::AddToSelection ( );
+__declspec(implementation_key(3017)) HRESULT IVGSegmentRange::RemoveFromSelection ( );
+__declspec(implementation_key(3018)) IVGApplicationPtr IVGSegments::GetApplication ( );
+__declspec(implementation_key(3019)) IVGCurvePtr IVGSegments::GetParent ( );
+__declspec(implementation_key(3020)) IVGSegmentPtr IVGSegments::GetItem ( long Index );
+__declspec(implementation_key(3021)) IUnknownPtr IVGSegments::Get_NewEnum ( );
+__declspec(implementation_key(3022)) long IVGSegments::GetCount ( );
+__declspec(implementation_key(3023)) IVGSegmentRangePtr IVGSegments::Range ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(3024)) IVGSegmentRangePtr IVGSegments::All ( );
+__declspec(implementation_key(3025)) IVGSegmentRangePtr IVGSegments::AllExcluding ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(3026)) IVGSegmentPtr IVGSegments::GetFirst ( );
+__declspec(implementation_key(3027)) IVGSegmentPtr IVGSegments::GetLast ( );
+__declspec(implementation_key(3028)) long IVGBitmap::GetSizeWidth ( );
+__declspec(implementation_key(3029)) long IVGBitmap::GetSizeHeight ( );
+__declspec(implementation_key(3030)) long IVGBitmap::GetResolutionX ( );
+__declspec(implementation_key(3031)) long IVGBitmap::GetResolutionY ( );
+__declspec(implementation_key(3032)) VARIANT_BOOL IVGBitmap::GetExternallyLinked ( );
+__declspec(implementation_key(3033)) HRESULT IVGBitmap::ResolveLink ( );
+__declspec(implementation_key(3034)) HRESULT IVGBitmap::UpdateLink ( );
+__declspec(implementation_key(3035)) HRESULT IVGBitmap::Inflate ( long Width, long Height );
+__declspec(implementation_key(3036)) _bstr_t IVGBitmap::GetLinkFileName ( );
+__declspec(implementation_key(3037)) enum cdrImageType IVGBitmap::GetMode ( );
+__declspec(implementation_key(3038)) ICorelExportFilterPtr IVGBitmap::SaveAs ( _bstr_t FileName, enum cdrFilter Filter, enum cdrCompressionType Compression );
+__declspec(implementation_key(3039)) HRESULT IVGBitmap::Resample ( long Width, long Height, VARIANT_BOOL AntiAlias, double ResolutionX, double ResolutionY );
+__declspec(implementation_key(3040)) HRESULT IVGBitmap::ConvertTo ( enum cdrImageType Mode );
+__declspec(implementation_key(3041)) HRESULT IVGBitmap::ApplyBitmapEffect ( _bstr_t UndoString, _bstr_t Command );
+__declspec(implementation_key(3042)) HRESULT IVGBitmap::Crop ( );
+__declspec(implementation_key(3043)) VARIANT_BOOL IVGBitmap::GetTransparent ( );
+__declspec(implementation_key(3044)) VARIANT_BOOL IVGBitmap::GetWatermarked ( );
+__declspec(implementation_key(3045)) VARIANT_BOOL IVGBitmap::GetOPILinked ( );
+__declspec(implementation_key(3046)) VARIANT_BOOL IVGBitmap::GetIsEPS ( );
+__declspec(implementation_key(3047)) DATE IVGBitmap::GetExternalLinkTime ( );
+__declspec(implementation_key(3048)) HRESULT IVGBitmap::ConvertToPaletted ( enum cdrImagePaletteType PaletteType, enum cdrDitherType DitherType, long DitherIntensity, long Smoothing, long NumColors, VARIANT_BOOL ColorSensitive, long TargetColor, long Importance, long Lightness, long ToleranceA, long ToleranceB, VARIANT * Palette );
+__declspec(implementation_key(3049)) HRESULT IVGBitmap::ConvertToPaletted2 ( struct IVGStructPaletteOptions * Options );
+__declspec(implementation_key(3050)) HRESULT IVGBitmap::ConvertToBW ( enum cdrRenderType RenderType, long Intensity, long Threshold, enum cdrHalftoneType Halftone, long HalftoneAngle, long HalftoneSize );
+__declspec(implementation_key(3051)) HRESULT IVGBitmap::ResetCropEnvelope ( );
+__declspec(implementation_key(3052)) VARIANT_BOOL IVGBitmap::GetEmbedded ( );
+__declspec(implementation_key(3053)) VARIANT_BOOL IVGBitmap::GetCropped ( );
+__declspec(implementation_key(3054)) VARIANT_BOOL IVGBitmap::GetCropEnvelopeModified ( );
+__declspec(implementation_key(3055)) IVGCurvePtr IVGBitmap::GetCropEnvelope ( );
+__declspec(implementation_key(3056)) IVGCurvePtr IVGBitmap::GetBoundingBoxPath ( );
+__declspec(implementation_key(3057)) HRESULT IVGBitmap::ConvertToDuotone ( struct IVGDuotone * Duotone );
+__declspec(implementation_key(3058)) IVGDuotonePtr IVGBitmap::GetDuotone ( );
+__declspec(implementation_key(3059)) void IVGBitmap::PutLinkFileName ( _bstr_t pVal );
+__declspec(implementation_key(3060)) IVGTraceSettingsPtr IVGBitmap::Trace ( enum cdrTraceType TraceType, short Smoothing, short DetailLevelPercent, enum cdrColorType ColorMode, enum cdrPaletteID PaletteID, long ColorCount, VARIANT_BOOL DeleteOriginalObject, VARIANT_BOOL RemoveBackground, VARIANT_BOOL RemoveEntireBackColor );
+__declspec(implementation_key(3061)) IVGImagePtr IVGBitmap::GetImage ( );
+__declspec(implementation_key(3062)) IVGImagePtr IVGBitmap::GetImageAlpha ( );
+__declspec(implementation_key(3063)) HRESULT IVGBitmap::SetImageData ( struct IVGImage * Image, struct IVGImage * Alpha, long OffsetX, long OffsetY );
+__declspec(implementation_key(3064)) IVGBitmapPtr IVGEPS::GetPreviewBitmap ( );
+__declspec(implementation_key(3065)) SAFEARRAY * IVGEPS::GetData ( );
+__declspec(implementation_key(3066)) _bstr_t IVGEPS::GetDataAsString ( );
+__declspec(implementation_key(3067)) IVGCurvePtr IVGEPS::GetCropEnvelope ( );
+__declspec(implementation_key(3068)) HRESULT IVGEPS::ResetCropEnvelope ( );
+__declspec(implementation_key(3069)) VARIANT_BOOL IVGEPS::GetCropEnvelopeModified ( );
+__declspec(implementation_key(3070)) IVGCurvePtr IVGEPS::GetBoundingBoxPath ( );
+__declspec(implementation_key(3071)) _bstr_t IVGEPS::GetLinkFileName ( );
+__declspec(implementation_key(3072)) void IVGEPS::PutLinkFileName ( _bstr_t pVal );
+__declspec(implementation_key(3073)) SAFEARRAY * IVGEPS::GetDCSFileNames ( );
+__declspec(implementation_key(3074)) enum cdrDuotoneType IVGDuotone::GetType ( );
+__declspec(implementation_key(3075)) void IVGDuotone::PutType ( enum cdrDuotoneType pVal );
+__declspec(implementation_key(3076)) VARIANT_BOOL IVGDuotone::GetUseOverprints ( );
+__declspec(implementation_key(3077)) void IVGDuotone::PutUseOverprints ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3078)) long IVGDuotone::GetOverprintCount ( );
+__declspec(implementation_key(3079)) IVGDuotoneOverprintPtr IVGDuotone::GetOverprints ( long Index );
+__declspec(implementation_key(3080)) long IVGDuotone::GetInkCount ( );
+__declspec(implementation_key(3081)) IVGDuotoneInkPtr IVGDuotone::GetInks ( long Index );
+__declspec(implementation_key(3082)) IVGDuotonePtr IVGDuotone::GetCopy ( );
+__declspec(implementation_key(3083)) HRESULT IVGDuotone::CopyAssign ( struct IVGDuotone * Duotone );
+__declspec(implementation_key(3084)) HRESULT IVGDuotone::ResetOverprints ( );
+__declspec(implementation_key(3085)) VARIANT_BOOL IVGDuotone::Load ( _bstr_t FileName );
+__declspec(implementation_key(3086)) VARIANT_BOOL IVGDuotone::Save ( _bstr_t FileName );
+__declspec(implementation_key(3087)) long IVGDuotoneOverprint::GetCyan ( );
+__declspec(implementation_key(3088)) void IVGDuotoneOverprint::PutCyan ( long pVal );
+__declspec(implementation_key(3089)) long IVGDuotoneOverprint::GetMagenta ( );
+__declspec(implementation_key(3090)) void IVGDuotoneOverprint::PutMagenta ( long pVal );
+__declspec(implementation_key(3091)) long IVGDuotoneOverprint::GetYellow ( );
+__declspec(implementation_key(3092)) void IVGDuotoneOverprint::PutYellow ( long pVal );
+__declspec(implementation_key(3093)) long IVGDuotoneOverprint::GetBlack ( );
+__declspec(implementation_key(3094)) void IVGDuotoneOverprint::PutBlack ( long pVal );
+__declspec(implementation_key(3095)) IVGColorPtr IVGDuotoneOverprint::GetColor ( );
+__declspec(implementation_key(3096)) void IVGDuotoneOverprint::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3097)) HRESULT IVGDuotoneOverprint::Reset ( );
+__declspec(implementation_key(3098)) HRESULT IVGDuotoneOverprint::SetValues ( long Cyan, long Magenta, long Yellow, long Black );
+__declspec(implementation_key(3099)) IDispatchPtr IVGColor::GetApplication ( );
+__declspec(implementation_key(3100)) IDispatchPtr IVGColor::GetParent ( );
+__declspec(implementation_key(3101)) enum cdrColorType IVGColor::GetType ( );
+__declspec(implementation_key(3102)) HRESULT IVGColor::RGBAssign ( long Red, long Green, long Blue );
+__declspec(implementation_key(3103)) long IVGColor::GetRGBRed ( );
+__declspec(implementation_key(3104)) void IVGColor::PutRGBRed ( long pVal );
+__declspec(implementation_key(3105)) long IVGColor::GetRGBGreen ( );
+__declspec(implementation_key(3106)) void IVGColor::PutRGBGreen ( long pVal );
+__declspec(implementation_key(3107)) long IVGColor::GetRGBBlue ( );
+__declspec(implementation_key(3108)) void IVGColor::PutRGBBlue ( long pVal );
+__declspec(implementation_key(3109)) HRESULT IVGColor::ConvertToRGB ( );
+__declspec(implementation_key(3110)) HRESULT IVGColor::CMYKAssign ( long Cyan, long Magenta, long Yellow, long Black );
+__declspec(implementation_key(3111)) long IVGColor::GetCMYKCyan ( );
+__declspec(implementation_key(3112)) void IVGColor::PutCMYKCyan ( long pVal );
+__declspec(implementation_key(3113)) long IVGColor::GetCMYKYellow ( );
+__declspec(implementation_key(3114)) void IVGColor::PutCMYKYellow ( long pVal );
+__declspec(implementation_key(3115)) long IVGColor::GetCMYKMagenta ( );
+__declspec(implementation_key(3116)) void IVGColor::PutCMYKMagenta ( long pVal );
+__declspec(implementation_key(3117)) long IVGColor::GetCMYKBlack ( );
+__declspec(implementation_key(3118)) void IVGColor::PutCMYKBlack ( long pVal );
+__declspec(implementation_key(3119)) HRESULT IVGColor::ConvertToCMYK ( );
+__declspec(implementation_key(3120)) HRESULT IVGColor::CMYAssign ( long Cyan, long Magenta, long Yellow );
+__declspec(implementation_key(3121)) long IVGColor::GetCMYCyan ( );
+__declspec(implementation_key(3122)) void IVGColor::PutCMYCyan ( long pVal );
+__declspec(implementation_key(3123)) long IVGColor::GetCMYMagenta ( );
+__declspec(implementation_key(3124)) void IVGColor::PutCMYMagenta ( long pVal );
+__declspec(implementation_key(3125)) long IVGColor::GetCMYYellow ( );
+__declspec(implementation_key(3126)) void IVGColor::PutCMYYellow ( long pVal );
+__declspec(implementation_key(3127)) HRESULT IVGColor::ConvertToCMY ( );
+__declspec(implementation_key(3128)) HRESULT IVGColor::HSBAssign ( long Hue, long Saturation, long Brightness );
+__declspec(implementation_key(3129)) long IVGColor::GetHSBHue ( );
+__declspec(implementation_key(3130)) void IVGColor::PutHSBHue ( long pVal );
+__declspec(implementation_key(3131)) long IVGColor::GetHSBSaturation ( );
+__declspec(implementation_key(3132)) void IVGColor::PutHSBSaturation ( long pVal );
+__declspec(implementation_key(3133)) long IVGColor::GetHSBBrightness ( );
+__declspec(implementation_key(3134)) void IVGColor::PutHSBBrightness ( long pVal );
+__declspec(implementation_key(3135)) HRESULT IVGColor::ConvertToHSB ( );
+__declspec(implementation_key(3136)) HRESULT IVGColor::HLSAssign ( long Hue, long Lightness, long Saturation );
+__declspec(implementation_key(3137)) long IVGColor::GetHLSHue ( );
+__declspec(implementation_key(3138)) void IVGColor::PutHLSHue ( long pVal );
+__declspec(implementation_key(3139)) long IVGColor::GetHLSLightness ( );
+__declspec(implementation_key(3140)) void IVGColor::PutHLSLightness ( long pVal );
+__declspec(implementation_key(3141)) long IVGColor::GetHLSSaturation ( );
+__declspec(implementation_key(3142)) void IVGColor::PutHLSSaturation ( long pVal );
+__declspec(implementation_key(3143)) HRESULT IVGColor::ConvertToHLS ( );
+__declspec(implementation_key(3144)) HRESULT IVGColor::BWAssign ( VARIANT_BOOL White );
+__declspec(implementation_key(3145)) VARIANT_BOOL IVGColor::GetBW ( );
+__declspec(implementation_key(3146)) void IVGColor::PutBW ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3147)) HRESULT IVGColor::ConvertToBW ( );
+__declspec(implementation_key(3148)) HRESULT IVGColor::GrayAssign ( long GrayValue );
+__declspec(implementation_key(3149)) long IVGColor::GetGray ( );
+__declspec(implementation_key(3150)) void IVGColor::PutGray ( long pVal );
+__declspec(implementation_key(3151)) HRESULT IVGColor::ConvertToGray ( );
+__declspec(implementation_key(3152)) HRESULT IVGColor::CorelScriptAssign ( long ColorModel, long V1, long V2, long V3, long V4, long V5, long V6, long V7 );
+__declspec(implementation_key(3153)) HRESULT IVGColor::CorelScriptGetComponent ( long * ColorModel, long * V1, long * V2, long * V3, long * V4, long * V5, long * V6, long * V7 );
+__declspec(implementation_key(3154)) HRESULT IVGColor::UserAssign ( long ParentWindowHandle );
+__declspec(implementation_key(3155)) HRESULT IVGColor::CopyAssign ( struct IVGColor * Color );
+__declspec(implementation_key(3156)) _bstr_t IVGColor::GetName ( VARIANT_BOOL Components );
+__declspec(implementation_key(3157)) HRESULT IVGColor::YIQAssign ( long y, long I, long Q );
+__declspec(implementation_key(3158)) long IVGColor::GetYIQLuminanceY ( );
+__declspec(implementation_key(3159)) void IVGColor::PutYIQLuminanceY ( long pVal );
+__declspec(implementation_key(3160)) long IVGColor::GetYIQChromaI ( );
+__declspec(implementation_key(3161)) void IVGColor::PutYIQChromaI ( long pVal );
+__declspec(implementation_key(3162)) long IVGColor::GetYIQChromaQ ( );
+__declspec(implementation_key(3163)) void IVGColor::PutYIQChromaQ ( long pVal );
+__declspec(implementation_key(3164)) HRESULT IVGColor::ConvertToYIQ ( );
+__declspec(implementation_key(3165)) HRESULT IVGColor::LabAssign ( long L, long A, long B );
+__declspec(implementation_key(3166)) long IVGColor::GetLabLuminance ( );
+__declspec(implementation_key(3167)) void IVGColor::PutLabLuminance ( long pVal );
+__declspec(implementation_key(3168)) long IVGColor::GetLabComponentA ( );
+__declspec(implementation_key(3169)) void IVGColor::PutLabComponentA ( long pVal );
+__declspec(implementation_key(3170)) long IVGColor::GetLabComponentB ( );
+__declspec(implementation_key(3171)) void IVGColor::PutLabComponentB ( long pVal );
+__declspec(implementation_key(3172)) HRESULT IVGColor::ConvertToLab ( );
+__declspec(implementation_key(3173)) HRESULT IVGColor::RegistrationAssign ( );
+__declspec(implementation_key(3174)) HRESULT IVGColor::FixedAssign ( enum cdrPaletteID PaletteID, long PaletteIndex, long Tint );
+__declspec(implementation_key(3175)) enum cdrPaletteID IVGColor::GetPaletteID ( );
+__declspec(implementation_key(3176)) long IVGColor::GetPaletteIndex ( );
+__declspec(implementation_key(3177)) void IVGColor::PutPaletteIndex ( long pVal );
+__declspec(implementation_key(3178)) long IVGColor::GetTint ( );
+__declspec(implementation_key(3179)) void IVGColor::PutTint ( long pVal );
+__declspec(implementation_key(3180)) HRESULT IVGColor::ConvertToFixed ( enum cdrPaletteID PaletteID );
+__declspec(implementation_key(3181)) VARIANT_BOOL IVGColor::UserAssignEx ( long ParentWindowHandle );
+__declspec(implementation_key(3182)) HRESULT IVGColor::SetName ( _bstr_t Name );
+__declspec(implementation_key(3183)) HRESULT IVGColor::BlendWith ( struct IVGColor * Color, long MixRatio );
+__declspec(implementation_key(3184)) VARIANT_BOOL IVGColor::IsSame ( struct IVGColor * Color );
+__declspec(implementation_key(3185)) VARIANT_BOOL IVGColor::GetIsInGamut ( );
+__declspec(implementation_key(3186)) IVGColorPtr IVGColor::GetInGamutColor ( );
+__declspec(implementation_key(3187)) VARIANT_BOOL IVGColor::GetIsCMYK ( );
+__declspec(implementation_key(3188)) VARIANT_BOOL IVGColor::GetIsGray ( );
+__declspec(implementation_key(3189)) VARIANT_BOOL IVGColor::GetIsWhite ( );
+__declspec(implementation_key(3190)) VARIANT_BOOL IVGColor::GetIsSpot ( );
+__declspec(implementation_key(3191)) VARIANT_BOOL IVGColor::GetIsTintable ( );
+__declspec(implementation_key(3192)) VARIANT_BOOL IVGColor::GetIsValidDuotoneColor ( );
+__declspec(implementation_key(3193)) IVGColorPtr IVGColor::GetValidDuotoneColor ( );
+__declspec(implementation_key(3194)) long IVGColor::GetColorDistanceFrom ( struct IVGColor * Color );
+__declspec(implementation_key(3195)) VARIANT_BOOL IVGColor::IsSimilar ( struct IVGColor * Color );
+__declspec(implementation_key(3196)) _bstr_t IVGColor::ToString ( );
+__declspec(implementation_key(3197)) VARIANT_BOOL IVGColor::StringAssign ( _bstr_t ColorString );
+__declspec(implementation_key(3198)) HRESULT IVGColor::Invalidate ( );
+__declspec(implementation_key(3199)) _bstr_t IVGColor::GetHexValue ( );
+__declspec(implementation_key(3200)) void IVGColor::PutHexValue ( _bstr_t pVal );
+__declspec(implementation_key(3201)) IVGColorPtr IVGColor::GetCopy ( );
+__declspec(implementation_key(3202)) long IVGColor::GetRGBValue ( );
+__declspec(implementation_key(3203)) void IVGColor::PutRGBValue ( long pVal );
+__declspec(implementation_key(3204)) HRESULT IVGColor::CopyAppearance ( struct IVGColor * Color, struct IVGColorContext * SourceColorContext );
+__declspec(implementation_key(3205)) IVGColorContextPtr IVGColor::GetColorContext ( );
+__declspec(implementation_key(3206)) VARIANT_BOOL IVGColor::ConvertTo ( enum cdrColorType ColorType, struct IVGColorContext * DestinationColorContext, struct IVGColorContext * SourceColorContext );
+__declspec(implementation_key(3207)) IVGPalettePtr IVGColor::GetPalette ( );
+__declspec(implementation_key(3208)) HRESULT IVGColor::SpotAssign ( _bstr_t PaletteIdentifier, long SpotColorID, long Tint );
+__declspec(implementation_key(3209)) HRESULT IVGColor::SpotAssignByName ( _bstr_t PaletteIdentifier, _bstr_t SpotColorName, long Tint );
+__declspec(implementation_key(3210)) HRESULT IVGColor::ConvertToPalette ( _bstr_t PaletteIdentifier );
+__declspec(implementation_key(3211)) long IVGColor::GetSpotColorID ( );
+__declspec(implementation_key(3212)) void IVGColor::PutSpotColorID ( long pVal );
+__declspec(implementation_key(3213)) _bstr_t IVGColor::GetSpotColorName ( );
+__declspec(implementation_key(3214)) HRESULT IVGColor::PaletteAssign ( _bstr_t PaletteIdentifier, long ColorIndex );
+__declspec(implementation_key(3215)) _bstr_t IVGColor::GetPaletteIdentifier ( );
+__declspec(implementation_key(3216)) VARIANT_BOOL IVGColor::GetIsColorStyle ( );
+__declspec(implementation_key(3217)) _bstr_t IVGColor::GetColorStyleName ( );
+__declspec(implementation_key(3218)) HRESULT IVGColor::ModifyColorStyleColor ( struct IVGColor * Color, VARIANT_BOOL ChangeWholeHarmony );
+__declspec(implementation_key(3219)) IVGColorPtr IVGDuotoneInk::GetColor ( );
+__declspec(implementation_key(3220)) void IVGDuotoneInk::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3221)) long IVGDuotoneInk::GetHandleCount ( );
+__declspec(implementation_key(3222)) long IVGDuotoneInk::GetHandleX ( long Index );
+__declspec(implementation_key(3223)) void IVGDuotoneInk::PutHandleX ( long Index, long pVal );
+__declspec(implementation_key(3224)) long IVGDuotoneInk::GetHandleY ( long Index );
+__declspec(implementation_key(3225)) void IVGDuotoneInk::PutHandleY ( long Index, long pVal );
+__declspec(implementation_key(3226)) long IVGDuotoneInk::AddHandle ( long x, long y );
+__declspec(implementation_key(3227)) VARIANT_BOOL IVGDuotoneInk::RemoveHandle ( long Index );
+__declspec(implementation_key(3228)) long IVGDuotoneInk::FindHandle ( long x, long y );
+__declspec(implementation_key(3229)) VARIANT_BOOL IVGDuotoneInk::Load ( _bstr_t FileName );
+__declspec(implementation_key(3230)) VARIANT_BOOL IVGDuotoneInk::Save ( _bstr_t FileName );
+__declspec(implementation_key(3231)) long IVGDuotoneInk::GetCurveLevel ( long Index );
+__declspec(implementation_key(3232)) HRESULT IVGDuotoneInk::Reset ( );
+__declspec(implementation_key(3233)) SAFEARRAY * IVGDuotoneInk::GetCurveLevels ( );
+__declspec(implementation_key(3234)) SAFEARRAY * IVGDuotoneInk::GetHandles ( );
+__declspec(implementation_key(3235)) HRESULT IVGDuotoneInk::PutHandles ( const _variant_t & HandleArray, long NumElements );
+__declspec(implementation_key(3236)) long IVGFountainColor::GetPosition ( );
+__declspec(implementation_key(3237)) IVGColorPtr IVGFountainColor::GetColor ( );
+__declspec(implementation_key(3238)) void IVGFountainColor::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3239)) HRESULT IVGFountainColor::Move ( long NewPosition );
+__declspec(implementation_key(3240)) HRESULT IVGFountainColor::Delete ( );
+__declspec(implementation_key(3241)) long IVGFountainColor::GetMidPoint ( );
+__declspec(implementation_key(3242)) void IVGFountainColor::PutMidPoint ( long pVal );
+__declspec(implementation_key(3243)) enum cdrFountainFillBlendType IVGFountainColor::GetBlendType ( );
+__declspec(implementation_key(3244)) void IVGFountainColor::PutBlendType ( enum cdrFountainFillBlendType pVal );
+__declspec(implementation_key(3245)) unsigned char IVGFountainColor::GetOpacity ( );
+__declspec(implementation_key(3246)) void IVGFountainColor::PutOpacity ( unsigned char pVal );
+__declspec(implementation_key(3247)) IVGFountainColorPtr IVGFountainColors::GetItem ( long Index );
+__declspec(implementation_key(3248)) void IVGFountainColors::PutItem ( long Index, struct IVGFountainColor * ppVal );
+__declspec(implementation_key(3249)) IUnknownPtr IVGFountainColors::Get_NewEnum ( );
+__declspec(implementation_key(3250)) long IVGFountainColors::GetCount ( );
+__declspec(implementation_key(3251)) HRESULT IVGFountainColors::Add ( struct IVGColor * Color, long Position );
+__declspec(implementation_key(3252)) long IVGFountainColors::GetGrayLevel ( long Index );
+__declspec(implementation_key(3253)) void IVGFountainColors::PutGrayLevel ( long Index, long pVal );
+__declspec(implementation_key(3254)) HRESULT IVGFountainColors::AddGrayLevel ( long GrayLevel, long Position );
+__declspec(implementation_key(3255)) IVGFountainColorPtr IVGFountainColors::GetFirst ( );
+__declspec(implementation_key(3256)) IVGFountainColorPtr IVGFountainColors::GetLast ( );
+__declspec(implementation_key(3257)) enum cdrFountainFillType IVGFountainFill::GetType ( );
+__declspec(implementation_key(3258)) void IVGFountainFill::PutType ( enum cdrFountainFillType pVal );
+__declspec(implementation_key(3259)) double IVGFountainFill::GetStartX ( );
+__declspec(implementation_key(3260)) void IVGFountainFill::PutStartX ( double pVal );
+__declspec(implementation_key(3261)) double IVGFountainFill::GetStartY ( );
+__declspec(implementation_key(3262)) void IVGFountainFill::PutStartY ( double pVal );
+__declspec(implementation_key(3263)) double IVGFountainFill::GetEndX ( );
+__declspec(implementation_key(3264)) void IVGFountainFill::PutEndX ( double pVal );
+__declspec(implementation_key(3265)) double IVGFountainFill::GetEndY ( );
+__declspec(implementation_key(3266)) void IVGFountainFill::PutEndY ( double pVal );
+__declspec(implementation_key(3267)) double IVGFountainFill::GetAngle ( );
+__declspec(implementation_key(3268)) HRESULT IVGFountainFill::SetAngle ( double Angle );
+__declspec(implementation_key(3269)) HRESULT IVGFountainFill::Translate ( double x, double y );
+__declspec(implementation_key(3270)) long IVGFountainFill::GetEdgePad ( );
+__declspec(implementation_key(3271)) long IVGFountainFill::GetSteps ( );
+__declspec(implementation_key(3272)) void IVGFountainFill::PutSteps ( long pVal );
+__declspec(implementation_key(3273)) enum cdrFountainFillBlendType IVGFountainFill::GetBlendType ( );
+__declspec(implementation_key(3274)) void IVGFountainFill::PutBlendType ( enum cdrFountainFillBlendType pVal );
+__declspec(implementation_key(3275)) long IVGFountainFill::GetMidPoint ( );
+__declspec(implementation_key(3276)) void IVGFountainFill::PutMidPoint ( long pVal );
+__declspec(implementation_key(3277)) IVGFountainColorsPtr IVGFountainFill::GetColors ( );
+__declspec(implementation_key(3278)) IVGColorPtr IVGFountainFill::GetStartColor ( );
+__declspec(implementation_key(3279)) void IVGFountainFill::PutStartColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3280)) IVGColorPtr IVGFountainFill::GetEndColor ( );
+__declspec(implementation_key(3281)) void IVGFountainFill::PutEndColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3282)) void IVGFountainFill::PutColors ( struct IVGFountainColors * ppVal );
+__declspec(implementation_key(3283)) HRESULT IVGFountainFill::SetEdgePad ( long EdgePad );
+__declspec(implementation_key(3284)) double IVGFountainFill::GetCenterOffsetX ( );
+__declspec(implementation_key(3285)) void IVGFountainFill::PutCenterOffsetX ( double pVal );
+__declspec(implementation_key(3286)) double IVGFountainFill::GetCenterOffsetY ( );
+__declspec(implementation_key(3287)) void IVGFountainFill::PutCenterOffsetY ( double pVal );
+__declspec(implementation_key(3288)) VARIANT_BOOL IVGFountainFill::GetSmoothBlend ( );
+__declspec(implementation_key(3289)) void IVGFountainFill::PutSmoothBlend ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3290)) enum cdrFountainFillSpreadMethod IVGFountainFill::GetSpreadMethod ( );
+__declspec(implementation_key(3291)) void IVGFountainFill::PutSpreadMethod ( enum cdrFountainFillSpreadMethod pVal );
+__declspec(implementation_key(3292)) VARIANT_BOOL IVGFountainFill::GetAnisotropic ( );
+__declspec(implementation_key(3293)) void IVGFountainFill::PutAnisotropic ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3294)) VARIANT_BOOL IVGFountainFill::GetIsTransparent ( );
+__declspec(implementation_key(3295)) enum cdrMergeMode IVGFountainFill::GetMergeMode ( );
+__declspec(implementation_key(3296)) void IVGFountainFill::PutMergeMode ( enum cdrMergeMode pVal );
+__declspec(implementation_key(3297)) double IVGFountainFill::GetScaleX ( );
+__declspec(implementation_key(3298)) void IVGFountainFill::PutScaleX ( double pVal );
+__declspec(implementation_key(3299)) double IVGFountainFill::GetScaleY ( );
+__declspec(implementation_key(3300)) void IVGFountainFill::PutScaleY ( double pVal );
+__declspec(implementation_key(3301)) double IVGFountainFill::GetSkew ( );
+__declspec(implementation_key(3302)) void IVGFountainFill::PutSkew ( double pVal );
+__declspec(implementation_key(3303)) double IVGFountainFill::GetBlendAcceleration ( );
+__declspec(implementation_key(3304)) void IVGFountainFill::PutBlendAcceleration ( double pVal );
+__declspec(implementation_key(3305)) HRESULT IVGFountainFill::MakeOpaque ( );
+__declspec(implementation_key(3306)) HRESULT IVGFountainFill::GetTransformations ( double * d11, double * d12, double * d21, double * d22 );
+__declspec(implementation_key(3307)) HRESULT IVGFountainFill::SetTransformations ( double d11, double d12, double d21, double d22 );
+__declspec(implementation_key(3308)) VARIANT_BOOL IVGFountainFill::GetHasHSBBlends ( );
+__declspec(implementation_key(3309)) VARIANT_BOOL IVGFountainFill::GetHasNonLinearBlends ( );
+__declspec(implementation_key(3310)) double IVGFountainFill::GetEnd2X ( );
+__declspec(implementation_key(3311)) void IVGFountainFill::PutEnd2X ( double pVal );
+__declspec(implementation_key(3312)) double IVGFountainFill::GetEnd2Y ( );
+__declspec(implementation_key(3313)) void IVGFountainFill::PutEnd2Y ( double pVal );
+__declspec(implementation_key(3314)) enum cdrPatternFillType IVGPatternFill::GetType ( );
+__declspec(implementation_key(3315)) void IVGPatternFill::PutType ( enum cdrPatternFillType pVal );
+__declspec(implementation_key(3316)) IVGColorPtr IVGPatternFill::GetFrontColor ( );
+__declspec(implementation_key(3317)) void IVGPatternFill::PutFrontColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3318)) IVGColorPtr IVGPatternFill::GetBackColor ( );
+__declspec(implementation_key(3319)) void IVGPatternFill::PutBackColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3320)) IVGPatternCanvasPtr IVGPatternFill::GetCanvas ( );
+__declspec(implementation_key(3321)) void IVGPatternFill::PutCanvas ( struct IVGPatternCanvas * ppVal );
+__declspec(implementation_key(3322)) _bstr_t IVGPatternFill::GetFilePath ( );
+__declspec(implementation_key(3323)) double IVGPatternFill::GetOriginX ( );
+__declspec(implementation_key(3324)) void IVGPatternFill::PutOriginX ( double pVal );
+__declspec(implementation_key(3325)) double IVGPatternFill::GetOriginY ( );
+__declspec(implementation_key(3326)) void IVGPatternFill::PutOriginY ( double pVal );
+__declspec(implementation_key(3327)) double IVGPatternFill::GetTileWidth ( );
+__declspec(implementation_key(3328)) void IVGPatternFill::PutTileWidth ( double pVal );
+__declspec(implementation_key(3329)) double IVGPatternFill::GetTileHeight ( );
+__declspec(implementation_key(3330)) void IVGPatternFill::PutTileHeight ( double pVal );
+__declspec(implementation_key(3331)) enum cdrTileOffsetType IVGPatternFill::GetTileOffsetType ( );
+__declspec(implementation_key(3332)) void IVGPatternFill::PutTileOffsetType ( enum cdrTileOffsetType pVal );
+__declspec(implementation_key(3333)) long IVGPatternFill::GetTileOffset ( );
+__declspec(implementation_key(3334)) void IVGPatternFill::PutTileOffset ( long pVal );
+__declspec(implementation_key(3335)) double IVGPatternFill::GetSkewAngle ( );
+__declspec(implementation_key(3336)) void IVGPatternFill::PutSkewAngle ( double pVal );
+__declspec(implementation_key(3337)) double IVGPatternFill::GetRotationAngle ( );
+__declspec(implementation_key(3338)) void IVGPatternFill::PutRotationAngle ( double pVal );
+__declspec(implementation_key(3339)) VARIANT_BOOL IVGPatternFill::GetTransformWithShape ( );
+__declspec(implementation_key(3340)) void IVGPatternFill::PutTransformWithShape ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3341)) VARIANT_BOOL IVGPatternFill::Load ( _bstr_t FileName );
+__declspec(implementation_key(3342)) VARIANT_BOOL IVGPatternFill::GetMirrorFill ( );
+__declspec(implementation_key(3343)) void IVGPatternFill::PutMirrorFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3344)) VARIANT_BOOL IVGPatternFill::GetMirrorFillX ( );
+__declspec(implementation_key(3345)) void IVGPatternFill::PutMirrorFillX ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3346)) VARIANT_BOOL IVGPatternFill::GetMirrorFillY ( );
+__declspec(implementation_key(3347)) void IVGPatternFill::PutMirrorFillY ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3348)) double IVGOutline::GetWidth ( );
+__declspec(implementation_key(3349)) void IVGOutline::PutWidth ( double pVal );
+__declspec(implementation_key(3350)) IVGColorPtr IVGOutline::GetColor ( );
+__declspec(implementation_key(3351)) void IVGOutline::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3352)) IVGShapePtr IVGOutline::ConvertToObject ( );
+__declspec(implementation_key(3353)) enum cdrOutlineType IVGOutline::GetType ( );
+__declspec(implementation_key(3354)) void IVGOutline::PutType ( enum cdrOutlineType Type );
+__declspec(implementation_key(3355)) IVGOutlineStylePtr IVGOutline::GetStyle ( );
+__declspec(implementation_key(3356)) void IVGOutline::PutStyle ( struct IVGOutlineStyle * ppStyle );
+__declspec(implementation_key(3357)) IVGArrowHeadPtr IVGOutline::GetStartArrow ( );
+__declspec(implementation_key(3358)) void IVGOutline::PutStartArrow ( struct IVGArrowHead * ppArrowHead );
+__declspec(implementation_key(3359)) IVGArrowHeadPtr IVGOutline::GetEndArrow ( );
+__declspec(implementation_key(3360)) void IVGOutline::PutEndArrow ( struct IVGArrowHead * ppArrowHead );
+__declspec(implementation_key(3361)) long IVGOutline::GetNibStretch ( );
+__declspec(implementation_key(3362)) void IVGOutline::PutNibStretch ( long pVal );
+__declspec(implementation_key(3363)) double IVGOutline::GetNibAngle ( );
+__declspec(implementation_key(3364)) void IVGOutline::PutNibAngle ( double pVal );
+__declspec(implementation_key(3365)) VARIANT_BOOL IVGOutline::GetBehindFill ( );
+__declspec(implementation_key(3366)) void IVGOutline::PutBehindFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3367)) enum cdrOutlineLineCaps IVGOutline::GetLineCaps ( );
+__declspec(implementation_key(3368)) void IVGOutline::PutLineCaps ( enum cdrOutlineLineCaps pVal );
+__declspec(implementation_key(3369)) enum cdrOutlineLineJoin IVGOutline::GetLineJoin ( );
+__declspec(implementation_key(3370)) void IVGOutline::PutLineJoin ( enum cdrOutlineLineJoin pVal );
+__declspec(implementation_key(3371)) VARIANT_BOOL IVGOutline::GetScaleWithShape ( );
+__declspec(implementation_key(3372)) void IVGOutline::PutScaleWithShape ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3373)) HRESULT IVGOutline::SetProperties ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit );
+__declspec(implementation_key(3374)) double IVGOutline::GetSize ( );
+__declspec(implementation_key(3375)) void IVGOutline::PutSize ( double pVal );
+__declspec(implementation_key(3376)) IVGOutlinePtr IVGOutline::GetCopy ( );
+__declspec(implementation_key(3377)) HRESULT IVGOutline::CopyAssign ( struct IVGOutline * SourceOutline );
+__declspec(implementation_key(3378)) VARIANT_BOOL IVGOutline::UserAssign ( long ParentWindowHandle );
+__declspec(implementation_key(3379)) IVGPSScreenOptionsPtr IVGOutline::GetPSScreen ( );
+__declspec(implementation_key(3380)) VARIANT_BOOL IVGOutline::CompareWith ( struct IVGOutline * Outline );
+__declspec(implementation_key(3381)) double IVGOutline::GetDashDotLength ( );
+__declspec(implementation_key(3382)) void IVGOutline::PutDashDotLength ( double pVal );
+__declspec(implementation_key(3383)) _bstr_t IVGOutline::ToString ( );
+__declspec(implementation_key(3384)) VARIANT_BOOL IVGOutline::StringAssign ( _bstr_t OutlineString );
+__declspec(implementation_key(3385)) double IVGOutline::GetPenWidth ( );
+__declspec(implementation_key(3386)) void IVGOutline::PutPenWidth ( double pVal );
+__declspec(implementation_key(3387)) double IVGOutline::GetMiterLimit ( );
+__declspec(implementation_key(3388)) void IVGOutline::PutMiterLimit ( double pVal );
+__declspec(implementation_key(3389)) HRESULT IVGOutline::SetNoOutline ( );
+__declspec(implementation_key(3390)) IVGArrowHeadOptionsPtr IVGOutline::GetStartArrowOptions ( );
+__declspec(implementation_key(3391)) void IVGOutline::PutStartArrowOptions ( struct IVGArrowHeadOptions * ppVal );
+__declspec(implementation_key(3392)) IVGArrowHeadOptionsPtr IVGOutline::GetEndArrowOptions ( );
+__declspec(implementation_key(3393)) void IVGOutline::PutEndArrowOptions ( struct IVGArrowHeadOptions * ppVal );
+__declspec(implementation_key(3394)) enum cdrOutlineJustification IVGOutline::GetJustification ( );
+__declspec(implementation_key(3395)) void IVGOutline::PutJustification ( enum cdrOutlineJustification pVal );
+__declspec(implementation_key(3396)) HRESULT IVGOutline::SetPropertiesEx ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit, enum cdrOutlineJustification Justification );
+__declspec(implementation_key(3397)) enum cdrOutlineDashAdjust IVGOutline::GetAdjustDashes ( );
+__declspec(implementation_key(3398)) void IVGOutline::PutAdjustDashes ( enum cdrOutlineDashAdjust pVal );
+__declspec(implementation_key(3399)) double IVGHatchPattern::GetAngle ( );
+__declspec(implementation_key(3400)) void IVGHatchPattern::PutAngle ( double pVal );
+__declspec(implementation_key(3401)) double IVGHatchPattern::GetOriginX ( );
+__declspec(implementation_key(3402)) void IVGHatchPattern::PutOriginX ( double pVal );
+__declspec(implementation_key(3403)) double IVGHatchPattern::GetOriginY ( );
+__declspec(implementation_key(3404)) void IVGHatchPattern::PutOriginY ( double pVal );
+__declspec(implementation_key(3405)) double IVGHatchPattern::GetSpacing ( );
+__declspec(implementation_key(3406)) void IVGHatchPattern::PutSpacing ( double pVal );
+__declspec(implementation_key(3407)) double IVGHatchPattern::GetShift ( );
+__declspec(implementation_key(3408)) void IVGHatchPattern::PutShift ( double pVal );
+__declspec(implementation_key(3409)) double IVGHatchPattern::GetShiftPercent ( );
+__declspec(implementation_key(3410)) void IVGHatchPattern::PutShiftPercent ( double pVal );
+__declspec(implementation_key(3411)) IVGOutlinePtr IVGHatchPattern::GetOutline ( );
+__declspec(implementation_key(3412)) long IVGHatchPattern::GetIndex ( );
+__declspec(implementation_key(3413)) HRESULT IVGHatchPattern::Delete ( );
+__declspec(implementation_key(3414)) HRESULT IVGHatchPattern::SetOrigin ( double OriginX, double OriginY );
+__declspec(implementation_key(3415)) HRESULT IVGHatchPattern::GetOrigin ( double * OriginX, double * OriginY );
+__declspec(implementation_key(3416)) HRESULT IVGHatchPattern::SetProperties ( const _variant_t & Angle, double Spacing, const _variant_t & Shift, const _variant_t & OriginX, const _variant_t & OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth );
+__declspec(implementation_key(3417)) HRESULT IVGHatchPattern::Reset ( );
+__declspec(implementation_key(3418)) long IVGHatchPatterns::GetCount ( );
+__declspec(implementation_key(3419)) IVGHatchPatternPtr IVGHatchPatterns::GetItem ( long Index );
+__declspec(implementation_key(3420)) IUnknownPtr IVGHatchPatterns::Get_NewEnum ( );
+__declspec(implementation_key(3421)) HRESULT IVGHatchPatterns::Reset ( );
+__declspec(implementation_key(3422)) enum cdrImageType IVGImage::GetType ( );
+__declspec(implementation_key(3423)) long IVGImage::GetWidth ( );
+__declspec(implementation_key(3424)) long IVGImage::GetHeight ( );
+__declspec(implementation_key(3425)) IVGColorPtr IVGImage::GetPixel ( long x, long y );
+__declspec(implementation_key(3426)) IVGImagePtr IVGImage::GetCopy ( );
+__declspec(implementation_key(3427)) VARIANT_BOOL IVGImage::GetReadOnly ( );
+__declspec(implementation_key(3428)) IVGImageTilesPtr IVGImage::GetTiles ( );
+__declspec(implementation_key(3429)) HRESULT IVGImage::Blit ( long DestX, long DestY, long DestWidth, long DestHeight, struct IVGImage * SrcImage, long SrcX, long SrcY, long SrcWidth, long SrcHeight, enum cdrMergeMode MergeMode );
+__declspec(implementation_key(3430)) HRESULT IVGImage::FillArea ( long x, long y, long Width, long Height, struct IVGColor * Color );
+__declspec(implementation_key(3431)) HRESULT IVGImage::FlipArea ( long x, long y, long Width, long Height, enum cdrFlipAxes Axes );
+__declspec(implementation_key(3432)) IDispatchPtr IVGTransparency::GetApplication ( );
+__declspec(implementation_key(3433)) IDispatchPtr IVGTransparency::GetParent ( );
+__declspec(implementation_key(3434)) enum cdrTransparencyType IVGTransparency::GetType ( );
+__declspec(implementation_key(3435)) long IVGTransparency::GetUniform ( );
+__declspec(implementation_key(3436)) void IVGTransparency::PutUniform ( long pVal );
+__declspec(implementation_key(3437)) IVGFountainFillPtr IVGTransparency::GetFountain ( );
+__declspec(implementation_key(3438)) void IVGTransparency::PutFountain ( struct IVGFountainFill * ppVal );
+__declspec(implementation_key(3439)) IVGPatternFillPtr IVGTransparency::GetPattern ( );
+__declspec(implementation_key(3440)) void IVGTransparency::PutPattern ( struct IVGPatternFill * ppVal );
+__declspec(implementation_key(3441)) IVGTextureFillPtr IVGTransparency::GetTexture ( );
+__declspec(implementation_key(3442)) void IVGTransparency::PutTexture ( struct IVGTextureFill * ppVal );
+__declspec(implementation_key(3443)) long IVGTransparency::GetStart ( );
+__declspec(implementation_key(3444)) void IVGTransparency::PutStart ( long pVal );
+__declspec(implementation_key(3445)) long IVGTransparency::GetEnd ( );
+__declspec(implementation_key(3446)) void IVGTransparency::PutEnd ( long pVal );
+__declspec(implementation_key(3447)) VARIANT_BOOL IVGTransparency::GetFrozen ( );
+__declspec(implementation_key(3448)) HRESULT IVGTransparency::ApplyNoTransparency ( );
+__declspec(implementation_key(3449)) HRESULT IVGTransparency::ApplyUniformTransparency ( long Value );
+__declspec(implementation_key(3450)) IVGFountainFillPtr IVGTransparency::ApplyFountainTransparency ( long Start, long End, enum cdrFountainFillType Type, double Angle, long Steps, long EdgePad, long MidPoint, double CenterOffsetX, double CenterOffsetY );
+__declspec(implementation_key(3451)) IVGPatternFillPtr IVGTransparency::ApplyPatternTransparency ( enum cdrPatternFillType Type, _bstr_t FileName, long PatternCanvasIndex, long Front, long Back, VARIANT_BOOL TransformWithShape );
+__declspec(implementation_key(3452)) IVGTextureFillPtr IVGTransparency::ApplyTextureTransparency ( _bstr_t TextureName, _bstr_t LibraryName, long Front, long Back );
+__declspec(implementation_key(3453)) HRESULT IVGTransparency::Freeze ( );
+__declspec(implementation_key(3454)) HRESULT IVGTransparency::Unfreeze ( );
+__declspec(implementation_key(3455)) enum cdrTransparencyAppliedTo IVGTransparency::GetAppliedTo ( );
+__declspec(implementation_key(3456)) void IVGTransparency::PutAppliedTo ( enum cdrTransparencyAppliedTo pVal );
+__declspec(implementation_key(3457)) enum cdrMergeMode IVGTransparency::GetMergeMode ( );
+__declspec(implementation_key(3458)) void IVGTransparency::PutMergeMode ( enum cdrMergeMode pVal );
+__declspec(implementation_key(3459)) VARIANT_BOOL IVGTransparency::UserAssign ( enum cdrTransparencyType TransparencyType, enum cdrPatternFillType PatternType, long ParentWindowHandle );
+__declspec(implementation_key(3460)) enum cdrDimensionType IVGDimension::GetType ( );
+__declspec(implementation_key(3461)) IVGDimensionLinearPtr IVGDimension::GetLinear ( );
+__declspec(implementation_key(3462)) IVGDimensionAngularPtr IVGDimension::GetAngular ( );
+__declspec(implementation_key(3463)) long IVGDimension::GetPrecision ( );
+__declspec(implementation_key(3464)) void IVGDimension::PutPrecision ( long pVal );
+__declspec(implementation_key(3465)) VARIANT_BOOL IVGDimension::GetBoxedText ( );
+__declspec(implementation_key(3466)) void IVGDimension::PutBoxedText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3467)) VARIANT_BOOL IVGDimension::GetLeadingZero ( );
+__declspec(implementation_key(3468)) void IVGDimension::PutLeadingZero ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3469)) IVGShapePtr IVGDimension::GetTextShape ( );
+__declspec(implementation_key(3470)) _bstr_t IVGDimension::GetPrefix ( );
+__declspec(implementation_key(3471)) void IVGDimension::PutPrefix ( _bstr_t pVal );
+__declspec(implementation_key(3472)) _bstr_t IVGDimension::GetSuffix ( );
+__declspec(implementation_key(3473)) void IVGDimension::PutSuffix ( _bstr_t pVal );
+__declspec(implementation_key(3474)) IVGOutlinePtr IVGDimension::GetOutline ( );
+__declspec(implementation_key(3475)) VARIANT_BOOL IVGDimension::GetTextCentered ( );
+__declspec(implementation_key(3476)) void IVGDimension::PutTextCentered ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3477)) VARIANT_BOOL IVGDimension::GetShowUnits ( );
+__declspec(implementation_key(3478)) void IVGDimension::PutShowUnits ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3479)) enum cdrDimensionPlacement IVGDimension::GetPlacement ( );
+__declspec(implementation_key(3480)) void IVGDimension::PutPlacement ( enum cdrDimensionPlacement pVal );
+__declspec(implementation_key(3481)) VARIANT_BOOL IVGDimension::GetHorizontalText ( );
+__declspec(implementation_key(3482)) void IVGDimension::PutHorizontalText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3483)) VARIANT_BOOL IVGDimension::GetDynamicText ( );
+__declspec(implementation_key(3484)) void IVGDimension::PutDynamicText ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3485)) double IVGDimension::GetDistanceFromObject ( );
+__declspec(implementation_key(3486)) VARIANT_BOOL IVGDimension::GetUseDistanceFromObject ( );
+__declspec(implementation_key(3487)) void IVGDimension::PutUseDistanceFromObject ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3488)) HRESULT IVGDimension::SetDistanceFromObject ( double Distance );
+__declspec(implementation_key(3489)) double IVGDimension::GetOverhang ( );
+__declspec(implementation_key(3490)) VARIANT_BOOL IVGDimension::GetUseOverhang ( );
+__declspec(implementation_key(3491)) void IVGDimension::PutUseOverhang ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3492)) HRESULT IVGDimension::SetOverhang ( double Overhang );
+__declspec(implementation_key(3493)) double IVGDimension::GetTextLabelGap ( );
+__declspec(implementation_key(3494)) VARIANT_BOOL IVGDimension::GetUseTextLabelGap ( );
+__declspec(implementation_key(3495)) void IVGDimension::PutUseTextLabelGap ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3496)) HRESULT IVGDimension::SetTextLabelGap ( double Gap );
+__declspec(implementation_key(3497)) VARIANT_BOOL IVGDimension::GetExtensionLinesVisible ( );
+__declspec(implementation_key(3498)) void IVGDimension::PutExtensionLinesVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3499)) VARIANT_BOOL IVGDimension::GetInnerExtensionLinesVisible ( );
+__declspec(implementation_key(3500)) void IVGDimension::PutInnerExtensionLinesVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3501)) VARIANT_BOOL IVGDimension::GetGapOnFreeExtensionVisible ( );
+__declspec(implementation_key(3502)) void IVGDimension::PutGapOnFreeExtensionVisible ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3503)) VARIANT_BOOL IVGCommentAnnotation::GetEndArrowVisible ( );
+__declspec(implementation_key(3504)) void IVGCommentAnnotation::PutEndArrowVisible ( VARIANT_BOOL pRet );
+__declspec(implementation_key(3505)) IVGCurvePtr IVGCommentAnnotation::GetCurve ( );
+__declspec(implementation_key(3506)) void IVGCommentAnnotation::PutCurve ( struct IVGCurve * pRet );
+__declspec(implementation_key(3507)) long IVGCommentAnnotation::GetOutlineWidth ( );
+__declspec(implementation_key(3508)) void IVGCommentAnnotation::PutOutlineWidth ( long pRet );
+__declspec(implementation_key(3509)) IVGColorPtr IVGCommentAnnotation::GetFillColor ( );
+__declspec(implementation_key(3510)) void IVGCommentAnnotation::PutFillColor ( struct IVGColor * pRet );
+__declspec(implementation_key(3511)) IVGColorPtr IVGCommentAnnotation::GetOutlineColor ( );
+__declspec(implementation_key(3512)) void IVGCommentAnnotation::PutOutlineColor ( struct IVGColor * pRet );
+__declspec(implementation_key(3513)) enum cdrCommentAnnotationType IVGCommentAnnotation::GetType ( );
+__declspec(implementation_key(3514)) VARIANT_BOOL IVGCommentAnnotation::GetStartArrowVisible ( );
+__declspec(implementation_key(3515)) void IVGCommentAnnotation::PutStartArrowVisible ( VARIANT_BOOL pRet );
+__declspec(implementation_key(3516)) HRESULT IVGCommentAnnotation::Move ( double DeltaX, double DeltaY );
+__declspec(implementation_key(3517)) double IVGCommentAnnotation::GetSizeWidth ( );
+__declspec(implementation_key(3518)) void IVGCommentAnnotation::PutSizeWidth ( double pVal );
+__declspec(implementation_key(3519)) double IVGCommentAnnotation::GetSizeHeight ( );
+__declspec(implementation_key(3520)) void IVGCommentAnnotation::PutSizeHeight ( double pVal );
+__declspec(implementation_key(3521)) double IVGCommentAnnotation::GetLeftX ( );
+__declspec(implementation_key(3522)) void IVGCommentAnnotation::PutLeftX ( double pVal );
+__declspec(implementation_key(3523)) double IVGCommentAnnotation::GetRightX ( );
+__declspec(implementation_key(3524)) void IVGCommentAnnotation::PutRightX ( double pVal );
+__declspec(implementation_key(3525)) double IVGCommentAnnotation::GetTopY ( );
+__declspec(implementation_key(3526)) void IVGCommentAnnotation::PutTopY ( double pVal );
+__declspec(implementation_key(3527)) double IVGCommentAnnotation::GetBottomY ( );
+__declspec(implementation_key(3528)) void IVGCommentAnnotation::PutBottomY ( double pVal );
+__declspec(implementation_key(3529)) double IVGCommentAnnotation::GetCenterX ( );
+__declspec(implementation_key(3530)) void IVGCommentAnnotation::PutCenterX ( double pVal );
+__declspec(implementation_key(3531)) double IVGCommentAnnotation::GetCenterY ( );
+__declspec(implementation_key(3532)) void IVGCommentAnnotation::PutCenterY ( double pVal );
+__declspec(implementation_key(3533)) HRESULT IVGCommentAnnotation::SetPosition ( enum cdrReferencePoint ReferencePoint, double x, double y );
+__declspec(implementation_key(3534)) HRESULT IVGCommentAnnotation::GetPosition ( enum cdrReferencePoint ReferencePoint, double * x, double * y );
+__declspec(implementation_key(3535)) HRESULT IVGCommentAnnotation::SetSize ( enum cdrReferencePoint ReferencePoint, double Width, double Height );
+__declspec(implementation_key(3536)) HRESULT IVGCommentAnnotation::GetSize ( double * Width, double * Height );
+__declspec(implementation_key(3537)) HRESULT IVGCommentAnnotation::GetBoundingBox ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(3538)) HRESULT IVGCommentAnnotation::SetBoundingBox ( double x, double y, double Width, double Height, VARIANT_BOOL KeepAspect, enum cdrReferencePoint ReferencePoint );
+__declspec(implementation_key(3539)) IVGColorProfilePtr IVGColorContext::GetRGBColorProfile ( );
+__declspec(implementation_key(3540)) void IVGColorContext::PutRGBColorProfile ( struct IVGColorProfile * ppVal );
+__declspec(implementation_key(3541)) IVGColorProfilePtr IVGColorContext::GetCMYKColorProfile ( );
+__declspec(implementation_key(3542)) void IVGColorContext::PutCMYKColorProfile ( struct IVGColorProfile * ppVal );
+__declspec(implementation_key(3543)) IVGColorProfilePtr IVGColorContext::GetGrayscaleColorProfile ( );
+__declspec(implementation_key(3544)) void IVGColorContext::PutGrayscaleColorProfile ( struct IVGColorProfile * ppVal );
+__declspec(implementation_key(3545)) enum clrRenderingIntent IVGColorContext::GetRenderingIntent ( );
+__declspec(implementation_key(3546)) void IVGColorContext::PutRenderingIntent ( enum clrRenderingIntent pVal );
+__declspec(implementation_key(3547)) enum clrColorModel IVGColorContext::GetBlendingColorModel ( );
+__declspec(implementation_key(3548)) void IVGColorContext::PutBlendingColorModel ( enum clrColorModel pVal );
+__declspec(implementation_key(3549)) IVGColorContextPtr IVGColorContext::GetCopy ( );
+__declspec(implementation_key(3550)) HRESULT IVGColorContext::CopyAssign ( struct IVGColorContext * ColorContext );
+__declspec(implementation_key(3551)) IVGColorProfilePtr IVGColorContext::GetColorProfile ( enum clrColorModel ColorModel );
+__declspec(implementation_key(3552)) void IVGColorContext::PutColorProfile ( enum clrColorModel ColorModel, struct IVGColorProfile * ppVal );
+__declspec(implementation_key(3553)) VARIANT_BOOL IVGColorContext::Merge ( struct IVGColorContext * ColorContext );
+__declspec(implementation_key(3554)) VARIANT_BOOL IVGColorContext::IsSame ( struct IVGColorContext * ColorContext );
+__declspec(implementation_key(3555)) IVGColorProfilesPtr IVGColorContext::GetColorProfiles ( );
+__declspec(implementation_key(3556)) VARIANT_BOOL IVGColorContext::GetReadOnly ( );
+__declspec(implementation_key(3557)) _bstr_t IVGColorContext::GetColorProfileNameList ( );
+__declspec(implementation_key(3558)) _bstr_t IVGColorProfile::GetName ( );
+__declspec(implementation_key(3559)) _bstr_t IVGColorProfile::GetFileName ( );
+__declspec(implementation_key(3560)) _bstr_t IVGColorProfile::GetManufacturer ( );
+__declspec(implementation_key(3561)) _bstr_t IVGColorProfile::GetDeviceModel ( );
+__declspec(implementation_key(3562)) enum clrDeviceType IVGColorProfile::GetDeviceType ( );
+__declspec(implementation_key(3563)) VARIANT_BOOL IVGColorProfile::GetSelected ( );
+__declspec(implementation_key(3564)) HRESULT IVGColorProfile::Select ( );
+__declspec(implementation_key(3565)) VARIANT_BOOL IVGColorProfile::GetGeneric ( );
+__declspec(implementation_key(3566)) VARIANT_BOOL IVGColorProfile::GetInstalled ( );
+__declspec(implementation_key(3567)) _bstr_t IVGColorProfile::GetID ( );
+__declspec(implementation_key(3568)) enum clrColorModel IVGColorProfile::GetColorModel ( );
+__declspec(implementation_key(3569)) IVGColorContextPtr IVGColorProfile::CreateColorContext ( enum clrRenderingIntent RenderingIntent );
+__declspec(implementation_key(3570)) VARIANT_BOOL IVGColorProfile::IsSame ( struct IVGColorProfile * ColorProfile );
+__declspec(implementation_key(3571)) IVGColorProfilePtr IVGColorProfiles::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(3572)) long IVGColorProfiles::GetCount ( );
+__declspec(implementation_key(3573)) IUnknownPtr IVGColorProfiles::Get_NewEnum ( );
+__declspec(implementation_key(3574)) enum clrDeviceType IVGColorProfiles::GetDeviceType ( );
+__declspec(implementation_key(3575)) VARIANT_BOOL IVGColorProfiles::SelectByName ( _bstr_t Name );
+__declspec(implementation_key(3576)) VARIANT_BOOL IVGColorProfiles::Install ( _bstr_t FileName );
+__declspec(implementation_key(3577)) IVGColorProfilePtr IVGColorProfiles::GetGenericProfile ( );
+__declspec(implementation_key(3578)) IVGColorContextPtr IVGProofColorSettings::GetColorContext ( );
+__declspec(implementation_key(3579)) void IVGProofColorSettings::PutColorContext ( struct IVGColorContext * ppVal );
+__declspec(implementation_key(3580)) VARIANT_BOOL IVGProofColorSettings::GetShowOutOfGamutWarning ( );
+__declspec(implementation_key(3581)) void IVGProofColorSettings::PutShowOutOfGamutWarning ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3582)) IVGColorPtr IVGProofColorSettings::GetOutOfGamutColor ( );
+__declspec(implementation_key(3583)) void IVGProofColorSettings::PutOutOfGamutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3584)) double IVGProofColorSettings::GetOutOfGamutTransparency ( );
+__declspec(implementation_key(3585)) void IVGProofColorSettings::PutOutOfGamutTransparency ( double pVal );
+__declspec(implementation_key(3586)) VARIANT_BOOL IVGProofColorSettings::GetPreserveColorValues ( );
+__declspec(implementation_key(3587)) void IVGProofColorSettings::PutPreserveColorValues ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3588)) IVGProofColorSettingsPtr IVGProofColorSettings::GetCopy ( );
+__declspec(implementation_key(3589)) HRESULT IVGProofColorSettings::CopyAssign ( struct IVGProofColorSettings * Source );
+__declspec(implementation_key(3590)) void IVGStructExportOptions::PutSizeX ( long pVal );
+__declspec(implementation_key(3591)) long IVGStructExportOptions::GetSizeX ( );
+__declspec(implementation_key(3592)) void IVGStructExportOptions::PutSizeY ( long pVal );
+__declspec(implementation_key(3593)) long IVGStructExportOptions::GetSizeY ( );
+__declspec(implementation_key(3594)) void IVGStructExportOptions::PutResolutionX ( long pVal );
+__declspec(implementation_key(3595)) long IVGStructExportOptions::GetResolutionX ( );
+__declspec(implementation_key(3596)) void IVGStructExportOptions::PutResolutionY ( long pVal );
+__declspec(implementation_key(3597)) long IVGStructExportOptions::GetResolutionY ( );
+__declspec(implementation_key(3598)) void IVGStructExportOptions::PutAntiAliasingType ( enum cdrAntiAliasingType pVal );
+__declspec(implementation_key(3599)) enum cdrAntiAliasingType IVGStructExportOptions::GetAntiAliasingType ( );
+__declspec(implementation_key(3600)) void IVGStructExportOptions::PutOverwrite ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3601)) VARIANT_BOOL IVGStructExportOptions::GetOverwrite ( );
+__declspec(implementation_key(3602)) void IVGStructExportOptions::PutImageType ( enum cdrImageType pVal );
+__declspec(implementation_key(3603)) enum cdrImageType IVGStructExportOptions::GetImageType ( );
+__declspec(implementation_key(3604)) void IVGStructExportOptions::PutDithered ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3605)) VARIANT_BOOL IVGStructExportOptions::GetDithered ( );
+__declspec(implementation_key(3606)) void IVGStructExportOptions::PutTransparent ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3607)) VARIANT_BOOL IVGStructExportOptions::GetTransparent ( );
+__declspec(implementation_key(3608)) void IVGStructExportOptions::PutUseColorProfile ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3609)) VARIANT_BOOL IVGStructExportOptions::GetUseColorProfile ( );
+__declspec(implementation_key(3610)) void IVGStructExportOptions::PutCompression ( enum cdrCompressionType pVal );
+__declspec(implementation_key(3611)) enum cdrCompressionType IVGStructExportOptions::GetCompression ( );
+__declspec(implementation_key(3612)) void IVGStructExportOptions::PutMaintainLayers ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3613)) VARIANT_BOOL IVGStructExportOptions::GetMaintainLayers ( );
+__declspec(implementation_key(3614)) void IVGStructExportOptions::PutMaintainAspect ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3615)) VARIANT_BOOL IVGStructExportOptions::GetMaintainAspect ( );
+__declspec(implementation_key(3616)) IVGRectPtr IVGStructExportOptions::GetExportArea ( );
+__declspec(implementation_key(3617)) void IVGStructExportOptions::PutRefExportArea ( struct IVGRect * * ppVal );
+__declspec(implementation_key(3618)) void IVGStructExportOptions::PutMatted ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3619)) VARIANT_BOOL IVGStructExportOptions::GetMatted ( );
+__declspec(implementation_key(3620)) IVGColorPtr IVGStructExportOptions::GetMatteColor ( );
+__declspec(implementation_key(3621)) void IVGStructExportOptions::PutMatteColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3622)) void IVGStructExportOptions::PutMatteMaskedOnly ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3623)) VARIANT_BOOL IVGStructExportOptions::GetMatteMaskedOnly ( );
+__declspec(implementation_key(3624)) void IVGStructExportOptions::PutAlwaysOverprintBlack ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3625)) VARIANT_BOOL IVGStructExportOptions::GetAlwaysOverprintBlack ( );
+__declspec(implementation_key(3626)) IVGProofColorSettingsPtr IVGStructExportOptions::GetProofColorSettings ( );
+__declspec(implementation_key(3627)) void IVGStructExportOptions::PutProofColorSettings ( struct IVGProofColorSettings * ppVal );
+__declspec(implementation_key(3628)) VARIANT_BOOL IVGColorManager::GetScannerCalibrated ( );
+__declspec(implementation_key(3629)) void IVGColorManager::PutScannerCalibrated ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3630)) VARIANT_BOOL IVGColorManager::GetSeparationPrinterCalibrated ( );
+__declspec(implementation_key(3631)) void IVGColorManager::PutSeparationPrinterCalibrated ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3632)) VARIANT_BOOL IVGColorManager::GetCompositePrinterCalibrated ( );
+__declspec(implementation_key(3633)) enum clrCompPrnCalibration IVGColorManager::GetCompositePrinterCalibration ( );
+__declspec(implementation_key(3634)) void IVGColorManager::PutCompositePrinterCalibration ( enum clrCompPrnCalibration pVal );
+__declspec(implementation_key(3635)) enum clrMonitorCalibration IVGColorManager::GetMonitorCalibration ( );
+__declspec(implementation_key(3636)) void IVGColorManager::PutMonitorCalibration ( enum clrMonitorCalibration pVal );
+__declspec(implementation_key(3637)) VARIANT_BOOL IVGColorManager::GetCompositePrinterSimulatesSeparation ( );
+__declspec(implementation_key(3638)) VARIANT_BOOL IVGColorManager::GetShowOutOfGamut ( );
+__declspec(implementation_key(3639)) void IVGColorManager::PutShowOutOfGamut ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3640)) IVGColorPtr IVGColorManager::GetOutOfGamutColor ( );
+__declspec(implementation_key(3641)) void IVGColorManager::PutOutOfGamutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3642)) long IVGColorManager::GetOutOfGamutTransparency ( );
+__declspec(implementation_key(3643)) void IVGColorManager::PutOutOfGamutTransparency ( long pVal );
+__declspec(implementation_key(3644)) VARIANT_BOOL IVGColorManager::GetCMYKInPercents ( );
+__declspec(implementation_key(3645)) void IVGColorManager::PutCMYKInPercents ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3646)) VARIANT_BOOL IVGColorManager::GetCMYKGamutForSpotColors ( );
+__declspec(implementation_key(3647)) void IVGColorManager::PutCMYKGamutForSpotColors ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3648)) enum clrRenderingIntent IVGColorManager::GetRenderingIntent ( );
+__declspec(implementation_key(3649)) void IVGColorManager::PutRenderingIntent ( enum clrRenderingIntent pVal );
+__declspec(implementation_key(3650)) enum clrColorEngine IVGColorManager::GetColorEngine ( );
+__declspec(implementation_key(3651)) void IVGColorManager::PutColorEngine ( enum clrColorEngine pVal );
+__declspec(implementation_key(3652)) long IVGColorManager::GetStyleCount ( );
+__declspec(implementation_key(3653)) _bstr_t IVGColorManager::GetStyleByIndex ( long Index );
+__declspec(implementation_key(3654)) IVGColorProfilePtr IVGColorManager::GetCurrentProfile ( enum clrDeviceType DeviceType );
+__declspec(implementation_key(3655)) IVGColorProfilesPtr IVGColorManager::GetInstalledProfiles ( enum clrDeviceType DeviceType );
+__declspec(implementation_key(3656)) VARIANT_BOOL IVGColorManager::LoadStyle ( _bstr_t StyleName );
+__declspec(implementation_key(3657)) VARIANT_BOOL IVGColorManager::DeleteStyle ( _bstr_t StyleName );
+__declspec(implementation_key(3658)) VARIANT_BOOL IVGColorManager::SaveStyle ( _bstr_t StyleName );
+__declspec(implementation_key(3659)) VARIANT_BOOL IVGColorManager::GetIsICM2Available ( );
+__declspec(implementation_key(3660)) _bstr_t IVGColorManager::GetUnsavedStyleName ( );
+__declspec(implementation_key(3661)) _bstr_t IVGColorManager::GetGenericProfileName ( enum clrDeviceType DeviceType );
+__declspec(implementation_key(3662)) VARIANT_BOOL IVGColorManager::GetIsCompositePrinterCMYK ( );
+__declspec(implementation_key(3663)) enum clrImportColorCorrection IVGColorManager::GetColorCorrectionOnImport ( );
+__declspec(implementation_key(3664)) void IVGColorManager::PutColorCorrectionOnImport ( enum clrImportColorCorrection pVal );
+__declspec(implementation_key(3665)) enum clrExportColorCorrection IVGColorManager::GetColorCorrectionOnExport ( );
+__declspec(implementation_key(3666)) void IVGColorManager::PutColorCorrectionOnExport ( enum clrExportColorCorrection pVal );
+__declspec(implementation_key(3667)) IVGColorProfilePtr IVGColorManager::GetDefaultImportProfile ( );
+__declspec(implementation_key(3668)) void IVGColorManager::PutRefDefaultImportProfile ( struct IVGColorProfile * * ppVal );
+__declspec(implementation_key(3669)) IVGColorProfilePtr IVGColorManager::GetCustomImportProfile ( );
+__declspec(implementation_key(3670)) void IVGColorManager::PutRefCustomImportProfile ( struct IVGColorProfile * * ppVal );
+__declspec(implementation_key(3671)) IVGColorProfilePtr IVGColorManager::GetCustomExportProfile ( );
+__declspec(implementation_key(3672)) void IVGColorManager::PutRefCustomExportProfile ( struct IVGColorProfile * * ppVal );
+__declspec(implementation_key(3673)) IVGColorProfilesPtr IVGColorManager::GetMonitorColorProfiles ( );
+__declspec(implementation_key(3674)) IVGColorProfilesPtr IVGColorManager::GetProfilesByColorModel ( enum clrColorModel ColorModel );
+__declspec(implementation_key(3675)) IVGColorProfilesPtr IVGColorManager::GetProfilesForDevice ( enum clrDeviceType DeviceType, _bstr_t DeviceName );
+__declspec(implementation_key(3676)) IVGColorContextPtr IVGColorManager::GetDefaultColorContext ( );
+__declspec(implementation_key(3677)) VARIANT_BOOL IVGColorManager::ColorEnginePresent ( enum clrColorEngine ColorEngine );
+__declspec(implementation_key(3678)) VARIANT_BOOL IVGColorManager::CanDeleteStyle ( _bstr_t StyleName );
+__declspec(implementation_key(3679)) VARIANT_BOOL IVGColorManager::GetMapGrayToCMYKBlack ( );
+__declspec(implementation_key(3680)) void IVGColorManager::PutMapGrayToCMYKBlack ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3681)) VARIANT_BOOL IVGColorManager::GetPreservePureBlack ( );
+__declspec(implementation_key(3682)) void IVGColorManager::PutPreservePureBlack ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3683)) enum clrColorModel IVGColorManager::GetSpotColorDefinition ( );
+__declspec(implementation_key(3684)) void IVGColorManager::PutSpotColorDefinition ( enum clrColorModel pVal );
+__declspec(implementation_key(3685)) IVGColorProfilesPtr IVGColorManager::GetColorProfiles ( );
+__declspec(implementation_key(3686)) IVGColorManagementPolicyPtr IVGColorManager::GetPolicyForOpen ( );
+__declspec(implementation_key(3687)) IVGColorManagementPolicyPtr IVGColorManager::GetPolicyForImport ( );
+__declspec(implementation_key(3688)) IVGColorContextPtr IVGStructCreateOptions::GetColorContext ( );
+__declspec(implementation_key(3689)) void IVGStructCreateOptions::PutColorContext ( struct IVGColorContext * ppVal );
+__declspec(implementation_key(3690)) _bstr_t IVGStructCreateOptions::GetName ( );
+__declspec(implementation_key(3691)) void IVGStructCreateOptions::PutName ( _bstr_t pVal );
+__declspec(implementation_key(3692)) double IVGStructCreateOptions::GetPageWidth ( );
+__declspec(implementation_key(3693)) void IVGStructCreateOptions::PutPageWidth ( double pVal );
+__declspec(implementation_key(3694)) double IVGStructCreateOptions::GetPageHeight ( );
+__declspec(implementation_key(3695)) void IVGStructCreateOptions::PutPageHeight ( double pVal );
+__declspec(implementation_key(3696)) enum cdrUnit IVGStructCreateOptions::GetUnits ( );
+__declspec(implementation_key(3697)) void IVGStructCreateOptions::PutUnits ( enum cdrUnit pVal );
+__declspec(implementation_key(3698)) double IVGStructCreateOptions::GetResolution ( );
+__declspec(implementation_key(3699)) void IVGStructCreateOptions::PutResolution ( double pVal );
+__declspec(implementation_key(3700)) IDispatchPtr IVGPalette::GetApplication ( );
+__declspec(implementation_key(3701)) IDispatchPtr IVGPalette::GetParent ( );
+__declspec(implementation_key(3702)) _bstr_t IVGPalette::GetName ( );
+__declspec(implementation_key(3703)) void IVGPalette::PutName ( _bstr_t Name );
+__declspec(implementation_key(3704)) HRESULT IVGPalette::Close ( );
+__declspec(implementation_key(3705)) enum cdrPaletteType IVGPalette::GetType ( );
+__declspec(implementation_key(3706)) IVGColorsPtr IVGPalette::Colors ( );
+__declspec(implementation_key(3707)) IVGColorPtr IVGPalette::GetColor ( long Index );
+__declspec(implementation_key(3708)) void IVGPalette::PutColor ( long Index, struct IVGColor * Color );
+__declspec(implementation_key(3709)) HRESULT IVGPalette::AddColor ( struct IVGColor * Color );
+__declspec(implementation_key(3710)) HRESULT IVGPalette::InsertColor ( long Index, struct IVGColor * Color );
+__declspec(implementation_key(3711)) HRESULT IVGPalette::RemoveColor ( long Index );
+__declspec(implementation_key(3712)) long IVGPalette::GetIndexOfColor ( struct IVGColor * Color );
+__declspec(implementation_key(3713)) VARIANT_BOOL IVGPalette::GetDuplicatePresent ( );
+__declspec(implementation_key(3714)) long IVGPalette::GetColorCount ( );
+__declspec(implementation_key(3715)) HRESULT IVGPalette::Save ( );
+__declspec(implementation_key(3716)) enum cdrPaletteID IVGPalette::GetPaletteID ( );
+__declspec(implementation_key(3717)) _bstr_t IVGPalette::GetFileName ( );
+__declspec(implementation_key(3718)) long IVGPalette::MatchColor ( struct IVGColor * Color );
+__declspec(implementation_key(3719)) long IVGPalette::FindColor ( _bstr_t Name );
+__declspec(implementation_key(3720)) HRESULT IVGPalette::SaveAs ( _bstr_t FileName, _bstr_t Name, enum cdrPaletteVersion Version );
+__declspec(implementation_key(3721)) IVGDocumentPtr IVGPalette::GetDocument ( );
+__declspec(implementation_key(3722)) _bstr_t IVGPalette::GetIdentifier ( );
+__declspec(implementation_key(3723)) VARIANT_BOOL IVGPalette::GetIsEmpty ( );
+__declspec(implementation_key(3724)) VARIANT_BOOL IVGPalette::GetLocked ( );
+__declspec(implementation_key(3725)) VARIANT_BOOL IVGPalette::GetDefault ( );
+__declspec(implementation_key(3726)) VARIANT_BOOL IVGPalette::GetIsOpen ( );
+__declspec(implementation_key(3727)) HRESULT IVGPalette::Open ( );
+__declspec(implementation_key(3728)) HRESULT IVGPalette::MakeDefault ( );
+__declspec(implementation_key(3729)) VARIANT_BOOL IVGPalette::Delete ( );
+__declspec(implementation_key(3730)) IDispatchPtr IVGColors::GetApplication ( );
+__declspec(implementation_key(3731)) IVGPalettePtr IVGColors::GetParent ( );
+__declspec(implementation_key(3732)) IVGColorPtr IVGColors::GetItem ( long Index );
+__declspec(implementation_key(3733)) IUnknownPtr IVGColors::Get_NewEnum ( );
+__declspec(implementation_key(3734)) long IVGColors::GetCount ( );
+__declspec(implementation_key(3735)) IDispatchPtr IVGPalettes::GetApplication ( );
+__declspec(implementation_key(3736)) IDispatchPtr IVGPalettes::GetParent ( );
+__declspec(implementation_key(3737)) IVGPalettePtr IVGPalettes::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(3738)) IUnknownPtr IVGPalettes::Get_NewEnum ( );
+__declspec(implementation_key(3739)) long IVGPalettes::GetCount ( );
+__declspec(implementation_key(3740)) IVGPalettePtr IVGPalettes::Open ( _bstr_t FileName );
+__declspec(implementation_key(3741)) IVGPalettePtr IVGPalettes::OpenFixed ( enum cdrPaletteID PaletteID );
+__declspec(implementation_key(3742)) IVGPalettePtr IVGPalettes::CreateFromDocument ( _bstr_t Name, _bstr_t FileName, VARIANT_BOOL Overwrite );
+__declspec(implementation_key(3743)) IVGPalettePtr IVGPalettes::CreateFromSelection ( _bstr_t Name, _bstr_t FileName, VARIANT_BOOL Overwrite );
+__declspec(implementation_key(3744)) IVGPalettePtr IVGPalettes::Create ( _bstr_t Name, _bstr_t FileName, VARIANT_BOOL Overwrite );
+__declspec(implementation_key(3745)) long IVGPaletteManager::GetPaletteCount ( );
+__declspec(implementation_key(3746)) IVGPalettePtr IVGPaletteManager::GetPalette ( const _variant_t & IndexOrName );
+__declspec(implementation_key(3747)) IVGPalettePtr IVGPaletteManager::GetDefaultPalette ( );
+__declspec(implementation_key(3748)) IVGPalettesPtr IVGPaletteManager::GetOpenPalettes ( );
+__declspec(implementation_key(3749)) IUnknownPtr IVGPaletteManager::Get_NewEnum ( );
+__declspec(implementation_key(3750)) HRESULT IVGPaletteManager::LoadAllPalettes ( );
+__declspec(implementation_key(3751)) IVGPalettePtr IVGPaletteManager::LoadPalette ( _bstr_t FileName );
+__declspec(implementation_key(3752)) enum cdrTraceType IVGTraceSettings::GetTraceType ( );
+__declspec(implementation_key(3753)) void IVGTraceSettings::PutTraceType ( enum cdrTraceType pVal );
+__declspec(implementation_key(3754)) short IVGTraceSettings::GetSmoothing ( );
+__declspec(implementation_key(3755)) void IVGTraceSettings::PutSmoothing ( short pVal );
+__declspec(implementation_key(3756)) short IVGTraceSettings::GetDetailLevel ( );
+__declspec(implementation_key(3757)) void IVGTraceSettings::PutDetailLevel ( short pVal );
+__declspec(implementation_key(3758)) enum cdrColorType IVGTraceSettings::GetColorMode ( );
+__declspec(implementation_key(3759)) enum cdrPaletteID IVGTraceSettings::GetPaletteID ( );
+__declspec(implementation_key(3760)) long IVGTraceSettings::GetColorCount ( );
+__declspec(implementation_key(3761)) IVGColorPtr IVGTraceSettings::GetColor ( long Index );
+__declspec(implementation_key(3762)) VARIANT_BOOL IVGTraceSettings::GetDeleteOriginalObject ( );
+__declspec(implementation_key(3763)) void IVGTraceSettings::PutDeleteOriginalObject ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3764)) VARIANT_BOOL IVGTraceSettings::GetRemoveBackground ( );
+__declspec(implementation_key(3765)) void IVGTraceSettings::PutRemoveBackground ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3766)) VARIANT_BOOL IVGTraceSettings::GetRemoveEntireBackColor ( );
+__declspec(implementation_key(3767)) void IVGTraceSettings::PutRemoveEntireBackColor ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3768)) enum cdrTraceBackgroundMode IVGTraceSettings::GetBackgroundRemovalMode ( );
+__declspec(implementation_key(3769)) void IVGTraceSettings::PutBackgroundRemovalMode ( enum cdrTraceBackgroundMode pVal );
+__declspec(implementation_key(3770)) IVGColorPtr IVGTraceSettings::GetBackgroundColor ( );
+__declspec(implementation_key(3771)) long IVGTraceSettings::GetCurveCount ( );
+__declspec(implementation_key(3772)) long IVGTraceSettings::GetNodeCount ( );
+__declspec(implementation_key(3773)) long IVGTraceSettings::GetBitmapWidth ( );
+__declspec(implementation_key(3774)) long IVGTraceSettings::GetBitmapHeight ( );
+__declspec(implementation_key(3775)) long IVGTraceSettings::SetColorCount ( long ColorCount );
+__declspec(implementation_key(3776)) IVGShapeRangePtr IVGTraceSettings::Finish ( );
+__declspec(implementation_key(3777)) VARIANT_BOOL IVGTraceSettings::ShowDialog ( long ParentWindowHandle );
+__declspec(implementation_key(3778)) HRESULT IVGTraceSettings::ApplyChanges ( );
+__declspec(implementation_key(3779)) HRESULT IVGTraceSettings::SetColorMode ( enum cdrColorType ColorMode, enum cdrPaletteID PaletteID );
+__declspec(implementation_key(3780)) short IVGTraceSettings::GetDetailLevelPercent ( );
+__declspec(implementation_key(3781)) void IVGTraceSettings::PutDetailLevelPercent ( short pVal );
+__declspec(implementation_key(3782)) short IVGTraceSettings::GetMaxDetailLevel ( );
+__declspec(implementation_key(3783)) short IVGTraceSettings::GetMinDetailLevel ( );
+__declspec(implementation_key(3784)) short IVGTraceSettings::GetCornerSmoothness ( );
+__declspec(implementation_key(3785)) void IVGTraceSettings::PutCornerSmoothness ( short pVal );
+__declspec(implementation_key(3786)) VARIANT_BOOL IVGTraceSettings::GetMergeAdjacentObjects ( );
+__declspec(implementation_key(3787)) void IVGTraceSettings::PutMergeAdjacentObjects ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3788)) VARIANT_BOOL IVGTraceSettings::GetRemoveOverlap ( );
+__declspec(implementation_key(3789)) void IVGTraceSettings::PutRemoveOverlap ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3790)) VARIANT_BOOL IVGTraceSettings::GetGroupObjectsByColor ( );
+__declspec(implementation_key(3791)) void IVGTraceSettings::PutGroupObjectsByColor ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3792)) IVGApplicationPtr IVGShapeRange::GetApplication ( );
+__declspec(implementation_key(3793)) IVGApplicationPtr IVGShapeRange::GetParent ( );
+__declspec(implementation_key(3794)) IVGShapePtr IVGShapeRange::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(3795)) IUnknownPtr IVGShapeRange::Get_NewEnum ( );
+__declspec(implementation_key(3796)) long IVGShapeRange::GetCount ( );
+__declspec(implementation_key(3797)) HRESULT IVGShapeRange::Add ( struct IVGShape * Shape );
+__declspec(implementation_key(3798)) HRESULT IVGShapeRange::Remove ( long Index );
+__declspec(implementation_key(3799)) long IVGShapeRange::IndexOf ( struct IVGShape * Shape );
+__declspec(implementation_key(3800)) HRESULT IVGShapeRange::AddToSelection ( );
+__declspec(implementation_key(3801)) HRESULT IVGShapeRange::ConvertToCurves ( );
+__declspec(implementation_key(3802)) IVGShapePtr IVGShapeRange::ConvertToBitmap ( long BitDepth, VARIANT_BOOL Grayscale, VARIANT_BOOL Dithered, VARIANT_BOOL TransparentBG, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL MultiChannel, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit );
+__declspec(implementation_key(3803)) HRESULT IVGShapeRange::Copy ( );
+__declspec(implementation_key(3804)) HRESULT IVGShapeRange::Cut ( );
+__declspec(implementation_key(3805)) HRESULT IVGShapeRange::Delete ( );
+__declspec(implementation_key(3806)) HRESULT IVGShapeRange::GetPosition ( double * PositionX, double * PositionY );
+__declspec(implementation_key(3807)) HRESULT IVGShapeRange::GetSize ( double * Width, double * Height );
+__declspec(implementation_key(3808)) HRESULT IVGShapeRange::Move ( double DeltaX, double DeltaY );
+__declspec(implementation_key(3809)) IVGShapeRangePtr IVGShapeRange::Duplicate ( double OffsetX, double OffsetY );
+__declspec(implementation_key(3810)) IVGShapeRangePtr IVGShapeRange::Clone ( double OffsetX, double OffsetY );
+__declspec(implementation_key(3811)) IVGShapePtr IVGShapeRange::Group ( );
+__declspec(implementation_key(3812)) HRESULT IVGShapeRange::RemoveAll ( );
+__declspec(implementation_key(3813)) HRESULT IVGShapeRange::OrderToFront ( );
+__declspec(implementation_key(3814)) HRESULT IVGShapeRange::OrderToBack ( );
+__declspec(implementation_key(3815)) HRESULT IVGShapeRange::OrderForwardOne ( );
+__declspec(implementation_key(3816)) HRESULT IVGShapeRange::OrderBackOne ( );
+__declspec(implementation_key(3817)) HRESULT IVGShapeRange::OrderFrontOf ( struct IVGShape * Shape );
+__declspec(implementation_key(3818)) HRESULT IVGShapeRange::OrderBackOf ( struct IVGShape * Shape );
+__declspec(implementation_key(3819)) HRESULT IVGShapeRange::OrderReverse ( );
+__declspec(implementation_key(3820)) HRESULT IVGShapeRange::Rotate ( double Angle );
+__declspec(implementation_key(3821)) HRESULT IVGShapeRange::RotateEx ( double Angle, double CenterX, double CenterY );
+__declspec(implementation_key(3822)) HRESULT IVGShapeRange::Skew ( double AngleX, double AngleY );
+__declspec(implementation_key(3823)) HRESULT IVGShapeRange::SkewEx ( double AngleX, double AngleY, double CenterX, double CenterY );
+__declspec(implementation_key(3824)) HRESULT IVGShapeRange::UngroupAll ( );
+__declspec(implementation_key(3825)) HRESULT IVGShapeRange::Flip ( enum cdrFlipAxes Axes );
+__declspec(implementation_key(3826)) double IVGShapeRange::GetPositionX ( );
+__declspec(implementation_key(3827)) void IVGShapeRange::PutPositionX ( double pVal );
+__declspec(implementation_key(3828)) double IVGShapeRange::GetPositionY ( );
+__declspec(implementation_key(3829)) void IVGShapeRange::PutPositionY ( double pVal );
+__declspec(implementation_key(3830)) double IVGShapeRange::GetSizeWidth ( );
+__declspec(implementation_key(3831)) void IVGShapeRange::PutSizeWidth ( double pVal );
+__declspec(implementation_key(3832)) double IVGShapeRange::GetSizeHeight ( );
+__declspec(implementation_key(3833)) void IVGShapeRange::PutSizeHeight ( double pVal );
+__declspec(implementation_key(3834)) double IVGShapeRange::GetRotationCenterX ( );
+__declspec(implementation_key(3835)) void IVGShapeRange::PutRotationCenterX ( double pVal );
+__declspec(implementation_key(3836)) double IVGShapeRange::GetRotationCenterY ( );
+__declspec(implementation_key(3837)) void IVGShapeRange::PutRotationCenterY ( double pVal );
+__declspec(implementation_key(3838)) HRESULT IVGShapeRange::AddToPowerClip ( struct IVGShape * Shape, enum cdrTriState CenterInContainer );
+__declspec(implementation_key(3839)) HRESULT IVGShapeRange::RemoveFromContainer ( long Level );
+__declspec(implementation_key(3840)) HRESULT IVGShapeRange::AddRange ( struct IVGShapeRange * ShapeRange );
+__declspec(implementation_key(3841)) HRESULT IVGShapeRange::SetPosition ( double PositionX, double PositionY );
+__declspec(implementation_key(3842)) HRESULT IVGShapeRange::SetSize ( double Width, double Height );
+__declspec(implementation_key(3843)) IVGShapePtr IVGShapeRange::ConvertToBitmapEx ( enum cdrImageType Mode, VARIANT_BOOL Dithered, VARIANT_BOOL Transparent, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit );
+__declspec(implementation_key(3844)) IVGShapePtr IVGShapeRange::Combine ( );
+__declspec(implementation_key(3845)) HRESULT IVGShapeRange::SetBoundingBox ( double x, double y, double Width, double Height, VARIANT_BOOL KeepAspect, enum cdrReferencePoint ReferencePoint );
+__declspec(implementation_key(3846)) HRESULT IVGShapeRange::ApplyNoFill ( );
+__declspec(implementation_key(3847)) HRESULT IVGShapeRange::ApplyUniformFill ( struct IVGColor * Color );
+__declspec(implementation_key(3848)) HRESULT IVGShapeRange::ApplyFountainFill ( struct IVGColor * StartColor, struct IVGColor * EndColor, enum cdrFountainFillType Type, double Angle, long Steps, long EdgePad, long MidPoint, enum cdrFountainFillBlendType BlendType, double CenterOffsetX, double CenterOffsetY );
+__declspec(implementation_key(3849)) HRESULT IVGShapeRange::ApplyPatternFill ( enum cdrPatternFillType Type, _bstr_t FileName, long PatternCanvasIndex, struct IVGColor * FrontColor, struct IVGColor * EndColor, VARIANT_BOOL TransformWithShape );
+__declspec(implementation_key(3850)) HRESULT IVGShapeRange::ApplyTextureFill ( _bstr_t TextureName, _bstr_t LibraryName );
+__declspec(implementation_key(3851)) HRESULT IVGShapeRange::ApplyPostscriptFill ( const _variant_t & IndexOrName );
+__declspec(implementation_key(3852)) IVGShapeRangePtr IVGShapeRange::ConvertOutlineToObject ( );
+__declspec(implementation_key(3853)) HRESULT IVGShapeRange::SetOutlineProperties ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit );
+__declspec(implementation_key(3854)) HRESULT IVGShapeRange::CreateSelection ( );
+__declspec(implementation_key(3855)) HRESULT IVGShapeRange::RemoveFromSelection ( );
+__declspec(implementation_key(3856)) HRESULT IVGShapeRange::SetRotationCenter ( double x, double y );
+__declspec(implementation_key(3857)) HRESULT IVGShapeRange::Stretch ( double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize );
+__declspec(implementation_key(3858)) HRESULT IVGShapeRange::StretchEx ( double CenterX, double CenterY, double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize );
+__declspec(implementation_key(3859)) HRESULT IVGShapeRange::SetSizeEx ( double CenterX, double CenterY, double Width, double Height );
+__declspec(implementation_key(3860)) HRESULT IVGShapeRange::GetBoundingBox ( double * x, double * y, double * Width, double * Height, VARIANT_BOOL UseOutline );
+__declspec(implementation_key(3861)) HRESULT IVGShapeRange::RestoreCloneLink ( enum cdrCloneLinkType LinkToRestore );
+__declspec(implementation_key(3862)) HRESULT IVGShapeRange::ClearEffect ( enum cdrEffectType Type );
+__declspec(implementation_key(3863)) HRESULT IVGShapeRange::RemoveRange ( struct IVGShapeRange * Range );
+__declspec(implementation_key(3864)) HRESULT IVGShapeRange::DeleteItem ( long Index );
+__declspec(implementation_key(3865)) _variant_t IVGShapeRange::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters );
+__declspec(implementation_key(3866)) HRESULT IVGShapeRange::AlignToShape ( enum cdrAlignType Type, struct IVGShape * Shape, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(3867)) HRESULT IVGShapeRange::AlignToShapeRange ( enum cdrAlignType Type, struct IVGShapeRange * ShapeRange, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(3868)) HRESULT IVGShapeRange::AlignToPage ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(3869)) HRESULT IVGShapeRange::AlignToPageCenter ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(3870)) HRESULT IVGShapeRange::AlignToGrid ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(3871)) HRESULT IVGShapeRange::AlignToPoint ( enum cdrAlignType Type, double x, double y, enum cdrTextAlignOrigin TextAlignOrigin );
+__declspec(implementation_key(3872)) HRESULT IVGShapeRange::Distribute ( enum cdrDistributeType Type, VARIANT_BOOL PageExtent );
+__declspec(implementation_key(3873)) IVGShapePtr IVGShapeRange::ConvertToSymbol ( _bstr_t Name );
+__declspec(implementation_key(3874)) HRESULT IVGShapeRange::Ungroup ( );
+__declspec(implementation_key(3875)) IVGShapeRangePtr IVGShapeRange::UngroupEx ( );
+__declspec(implementation_key(3876)) IVGShapeRangePtr IVGShapeRange::UngroupAllEx ( );
+__declspec(implementation_key(3877)) IVGShapeRangePtr IVGShapeRange::Range ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(3878)) IVGShapeRangePtr IVGShapeRange::All ( );
+__declspec(implementation_key(3879)) IVGShapeRangePtr IVGShapeRange::AllExcluding ( SAFEARRAY * * IndexArray );
+__declspec(implementation_key(3880)) HRESULT IVGShapeRange::BreakApart ( );
+__declspec(implementation_key(3881)) IVGShapeRangePtr IVGShapeRange::BreakApartEx ( );
+__declspec(implementation_key(3882)) HRESULT IVGShapeRange::MoveToLayer ( struct IVGLayer * Layer );
+__declspec(implementation_key(3883)) IVGShapeRangePtr IVGShapeRange::CopyToLayer ( struct IVGLayer * Layer );
+__declspec(implementation_key(3884)) HRESULT IVGShapeRange::ClearTransformations ( );
+__declspec(implementation_key(3885)) HRESULT IVGShapeRange::Lock ( );
+__declspec(implementation_key(3886)) HRESULT IVGShapeRange::Unlock ( );
+__declspec(implementation_key(3887)) HRESULT IVGShapeRange::AlignRangeToShape ( enum cdrAlignType Type, struct IVGShape * Shape );
+__declspec(implementation_key(3888)) HRESULT IVGShapeRange::AlignRangeToShapeRange ( enum cdrAlignType Type, struct IVGShapeRange * ShapeRange );
+__declspec(implementation_key(3889)) HRESULT IVGShapeRange::AlignRangeToPage ( enum cdrAlignType Type );
+__declspec(implementation_key(3890)) HRESULT IVGShapeRange::AlignRangeToPageCenter ( enum cdrAlignType Type );
+__declspec(implementation_key(3891)) HRESULT IVGShapeRange::AlignRangeToGrid ( enum cdrAlignType Type );
+__declspec(implementation_key(3892)) HRESULT IVGShapeRange::AlignRangeToPoint ( enum cdrAlignType Type, double x, double y );
+__declspec(implementation_key(3893)) HRESULT IVGShapeRange::ApplyEffectInvert ( );
+__declspec(implementation_key(3894)) HRESULT IVGShapeRange::ApplyEffectPosterize ( long Level );
+__declspec(implementation_key(3895)) HRESULT IVGShapeRange::ApplyEffectBCI ( long Brighness, long Contrast, long Intensity );
+__declspec(implementation_key(3896)) HRESULT IVGShapeRange::ApplyEffectColorBalance ( long CyanRed, long MagentaGreen, long YellowBlue, VARIANT_BOOL ApplyToShadows, VARIANT_BOOL ApplyToMidtones, VARIANT_BOOL ApplyToHighlights, VARIANT_BOOL PreserveLuminance );
+__declspec(implementation_key(3897)) HRESULT IVGShapeRange::ApplyEffectGamma ( double Gamma );
+__declspec(implementation_key(3898)) HRESULT IVGShapeRange::ApplyEffectHSL ( const _variant_t & Hue, const _variant_t & Saturation, const _variant_t & Lightness );
+__declspec(implementation_key(3899)) HRESULT IVGShapeRange::AffineTransform ( double d11, double d12, double d21, double d22, double CenterX, double CenterY );
+__declspec(implementation_key(3900)) HRESULT IVGShapeRange::ApplyFill ( struct IVGFill * Fill );
+__declspec(implementation_key(3901)) HRESULT IVGShapeRange::ApplyOutline ( struct IVGOutline * Outline );
+__declspec(implementation_key(3902)) IVGShapeRangePtr IVGShapeRange::GetReverseRange ( );
+__declspec(implementation_key(3903)) HRESULT IVGShapeRange::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(3904)) HRESULT IVGShapeRange::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(3905)) HRESULT IVGShapeRange::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments );
+__declspec(implementation_key(3906)) HRESULT IVGShapeRange::SetFillMode ( enum cdrFillMode Mode );
+__declspec(implementation_key(3907)) HRESULT IVGShapeRange::ApplyCustomHatchFill ( double Angle, double Spacing, double Shift, double OriginX, double OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew );
+__declspec(implementation_key(3908)) HRESULT IVGShapeRange::ApplyHatchFill ( _bstr_t LibraryName, const _variant_t & HatchNameOrIndex, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew );
+__declspec(implementation_key(3909)) double IVGShapeRange::GetLeftX ( );
+__declspec(implementation_key(3910)) double IVGShapeRange::GetRightX ( );
+__declspec(implementation_key(3911)) double IVGShapeRange::GetTopY ( );
+__declspec(implementation_key(3912)) double IVGShapeRange::GetBottomY ( );
+__declspec(implementation_key(3913)) IVGShapesPtr IVGShapeRange::GetShapes ( );
+__declspec(implementation_key(3914)) IVGShapePtr IVGShapeRange::GetFirstShape ( );
+__declspec(implementation_key(3915)) IVGShapePtr IVGShapeRange::GetLastShape ( );
+__declspec(implementation_key(3916)) IVGShapeRangePtr IVGShapeRange::StepAndRepeat ( long NumCopies, double DistanceX, double DistanceY, enum cdrDistanceMode ModeX, enum cdrDirection DirectionX, enum cdrDistanceMode ModeY, enum cdrDirection DirectionY );
+__declspec(implementation_key(3917)) VARIANT_BOOL IVGShapeRange::Exists ( struct IVGShape * Shape );
+__declspec(implementation_key(3918)) VARIANT_BOOL IVGShapeRange::ExistsAnyOfType ( SAFEARRAY * * TypeList );
+__declspec(implementation_key(3919)) long IVGShapeRange::CountAnyOfType ( SAFEARRAY * * TypeList );
+__declspec(implementation_key(3920)) IVGShapeRangePtr IVGShapeRange::FindAnyOfType ( SAFEARRAY * * TypeList );
+__declspec(implementation_key(3921)) IVGShapeRangePtr IVGShapeRange::GetLinkedShapes ( enum cdrShapeLinkType LinkType );
+__declspec(implementation_key(3922)) IVGRectPtr IVGShapeRange::GetBoundingBox ( );
+__declspec(implementation_key(3923)) HRESULT IVGShapeRange::GetPositionEx ( enum cdrReferencePoint ReferencePoint, double * x, double * y );
+__declspec(implementation_key(3924)) HRESULT IVGShapeRange::SetPositionEx ( enum cdrReferencePoint ReferencePoint, double x, double y );
+__declspec(implementation_key(3925)) double IVGShapeRange::GetCenterX ( );
+__declspec(implementation_key(3926)) void IVGShapeRange::PutCenterX ( double pVal );
+__declspec(implementation_key(3927)) double IVGShapeRange::GetCenterY ( );
+__declspec(implementation_key(3928)) void IVGShapeRange::PutCenterY ( double pVal );
+__declspec(implementation_key(3929)) void IVGShapeRange::PutLeftX ( double pVal );
+__declspec(implementation_key(3930)) void IVGShapeRange::PutRightX ( double pVal );
+__declspec(implementation_key(3931)) void IVGShapeRange::PutTopY ( double pVal );
+__declspec(implementation_key(3932)) void IVGShapeRange::PutBottomY ( double pVal );
+__declspec(implementation_key(3933)) VARIANT_BOOL IVGShapeRange::CopyPropertiesFrom ( struct IVGShape * Source, enum cdrCopyProperties Properties );
+__declspec(implementation_key(3934)) enum cdrOverprintState IVGShapeRange::GetOverprintFillState ( );
+__declspec(implementation_key(3935)) enum cdrOverprintState IVGShapeRange::GetOverprintOutlineState ( );
+__declspec(implementation_key(3936)) HRESULT IVGShapeRange::Sort ( _bstr_t CompareExpression, long StartIndex, long EndIndex, const _variant_t & Data );
+__declspec(implementation_key(3937)) HRESULT IVGShapeRange::SetPixelAlignedRendering ( VARIANT_BOOL PixelAligned );
+__declspec(implementation_key(3938)) IVGDocumentPtr IVGShapeRange::CreateDocumentFrom ( VARIANT_BOOL TemporaryDocument );
+__declspec(implementation_key(3939)) HRESULT IVGShapeRange::AlignAndDistribute ( enum cdrAlignDistributeH MethodH, enum cdrAlignDistributeV MethodV, enum cdrAlignShapesTo AlignTo, enum cdrDistributeArea DistributeArea, VARIANT_BOOL UseOutline, enum cdrTextAlignOrigin TextAlignOrigin, double PointX, double PointY, struct IVGRect * DistributeRect );
+__declspec(implementation_key(3940)) HRESULT IVGShapeRange::SetOutlinePropertiesEx ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit, enum cdrOutlineJustification Justification );
+__declspec(implementation_key(3941)) IVGShapePtr IVGShapeRange::CreateBoundary ( double x, double y, VARIANT_BOOL PlaceOnTop, VARIANT_BOOL DeleteSource );
+__declspec(implementation_key(3942)) IVGShapeRangePtr IVGShapeRange::EqualDivide ( long Divisions, double Gap, VARIANT_BOOL Group, VARIANT_BOOL Combine, VARIANT_BOOL DeleteSource );
+__declspec(implementation_key(3943)) IVGShapeRangePtr IVGShapeRange::Project ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate );
+__declspec(implementation_key(3944)) IVGShapeRangePtr IVGShapeRange::Unproject ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate );
+__declspec(implementation_key(3945)) HRESULT IVGShapeRange::Show ( );
+__declspec(implementation_key(3946)) HRESULT IVGShapeRange::Hide ( );
+__declspec(implementation_key(3947)) IVGShapeRangePtr IVGShapeRange::GetToolShapes ( _bstr_t ShapeGuid );
+__declspec(implementation_key(3948)) HRESULT IVGShapeRange::ModifyToolShapeProperties ( struct IVGProperties * ShapePropertiesToModify );
+__declspec(implementation_key(3949)) IVGShapeRangePtr IVGShapeRange::CreateParallelCurves ( long Count, double distanceBetweenCurves );
+__declspec(implementation_key(3950)) SAFEARRAY * IVGShapeRange::GetColorTypes ( );
+__declspec(implementation_key(3951)) SAFEARRAY * IVGShapeRange::GetColors ( long MaxBitmapColors );
+__declspec(implementation_key(3952)) HRESULT IVGShapeRange::FlattenEffects ( );
+__declspec(implementation_key(3953)) IVGApplicationPtr IVGPowerClip::GetApplication ( );
+__declspec(implementation_key(3954)) IVGShapePtr IVGPowerClip::GetParent ( );
+__declspec(implementation_key(3955)) IVGShapesPtr IVGPowerClip::GetShapes ( );
+__declspec(implementation_key(3956)) VARIANT_BOOL IVGPowerClip::GetContentsLocked ( );
+__declspec(implementation_key(3957)) void IVGPowerClip::PutContentsLocked ( VARIANT_BOOL pVal );
+__declspec(implementation_key(3958)) HRESULT IVGPowerClip::EnterEditMode ( );
+__declspec(implementation_key(3959)) HRESULT IVGPowerClip::LeaveEditMode ( );
+__declspec(implementation_key(3960)) IVGShapeRangePtr IVGPowerClip::ExtractShapes ( );
+__declspec(implementation_key(3961)) enum cdrFillType IVGFill::GetType ( );
+__declspec(implementation_key(3962)) IVGColorPtr IVGFill::GetUniformColor ( );
+__declspec(implementation_key(3963)) void IVGFill::PutUniformColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(3964)) IVGFountainFillPtr IVGFill::GetFountain ( );
+__declspec(implementation_key(3965)) void IVGFill::PutFountain ( struct IVGFountainFill * ppVal );
+__declspec(implementation_key(3966)) IVGPatternFillPtr IVGFill::GetPattern ( );
+__declspec(implementation_key(3967)) void IVGFill::PutPattern ( struct IVGPatternFill * ppVal );
+__declspec(implementation_key(3968)) IVGTextureFillPtr IVGFill::GetTexture ( );
+__declspec(implementation_key(3969)) void IVGFill::PutTexture ( struct IVGTextureFill * ppVal );
+__declspec(implementation_key(3970)) IVGPostScriptFillPtr IVGFill::GetPostScript ( );
+__declspec(implementation_key(3971)) void IVGFill::PutPostScript ( struct IVGPostScriptFill * ppVal );
+__declspec(implementation_key(3972)) HRESULT IVGFill::ApplyNoFill ( );
+__declspec(implementation_key(3973)) HRESULT IVGFill::ApplyUniformFill ( struct IVGColor * Color );
+__declspec(implementation_key(3974)) IVGFountainFillPtr IVGFill::ApplyFountainFill ( struct IVGColor * StartColor, struct IVGColor * EndColor, enum cdrFountainFillType Type, double Angle, long Steps, long EdgePad, long MidPoint, enum cdrFountainFillBlendType BlendType, double CenterOffsetX, double CenterOffsetY );
+__declspec(implementation_key(3975)) IVGPatternFillPtr IVGFill::ApplyPatternFill ( enum cdrPatternFillType Type, _bstr_t FileName, long PatternCanvasIndex, struct IVGColor * FrontColor, struct IVGColor * EndColor, VARIANT_BOOL TransformWithShape );
+__declspec(implementation_key(3976)) IVGTextureFillPtr IVGFill::ApplyTextureFill ( _bstr_t TextureName, _bstr_t LibraryName );
+__declspec(implementation_key(3977)) IVGPostScriptFillPtr IVGFill::ApplyPostscriptFill ( const _variant_t & IndexOrName );
+__declspec(implementation_key(3978)) IVGFillPtr IVGFill::GetCopy ( );
+__declspec(implementation_key(3979)) HRESULT IVGFill::CopyAssign ( struct IVGFill * SourceFill );
+__declspec(implementation_key(3980)) VARIANT_BOOL IVGFill::UserAssign ( enum cdrFillType FillType, enum cdrPatternFillType PatternType, long ParentWindowHandle );
+__declspec(implementation_key(3981)) IVGPSScreenOptionsPtr IVGFill::GetPSScreen ( );
+__declspec(implementation_key(3982)) IVGHatchFillPtr IVGFill::GetHatch ( );
+__declspec(implementation_key(3983)) void IVGFill::PutHatch ( struct IVGHatchFill * ppVal );
+__declspec(implementation_key(3984)) VARIANT_BOOL IVGFill::CompareWith ( struct IVGFill * Fill );
+__declspec(implementation_key(3985)) IVGHatchFillPtr IVGFill::ApplyCustomHatchFill ( double Angle, double Spacing, double Shift, double OriginX, double OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew );
+__declspec(implementation_key(3986)) IVGHatchFillPtr IVGFill::ApplyHatchFill ( _bstr_t LibraryName, const _variant_t & HatchNameOrIndex, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew );
+__declspec(implementation_key(3987)) _bstr_t IVGFill::ToString ( );
+__declspec(implementation_key(3988)) VARIANT_BOOL IVGFill::StringAssign ( _bstr_t FillString );
+__declspec(implementation_key(3989)) IVGFillPtr IVGHatchFills::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(3990)) long IVGHatchFills::GetCount ( );
+__declspec(implementation_key(3991)) IUnknownPtr IVGHatchFills::Get_NewEnum ( );
+__declspec(implementation_key(3992)) IVGFillPtr IVGHatchFills::Find ( _bstr_t Name );
+__declspec(implementation_key(3993)) _bstr_t IVGHatchLibrary::GetName ( );
+__declspec(implementation_key(3994)) IVGHatchFillsPtr IVGHatchLibrary::GetFills ( );
+__declspec(implementation_key(3995)) VARIANT_BOOL IVGHatchLibrary::GetActive ( );
+__declspec(implementation_key(3996)) long IVGHatchLibrary::GetIndex ( );
+__declspec(implementation_key(3997)) HRESULT IVGHatchLibrary::Activate ( );
+__declspec(implementation_key(3998)) _bstr_t IVGHatchLibrary::GetDisplayName ( );
+__declspec(implementation_key(3999)) IVGColorPtr IVGHatchFill::GetBackColor ( );
+__declspec(implementation_key(4000)) void IVGHatchFill::PutBackColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4001)) VARIANT_BOOL IVGHatchFill::GetHasBackground ( );
+__declspec(implementation_key(4002)) VARIANT_BOOL IVGHatchFill::GetTransformWithShape ( );
+__declspec(implementation_key(4003)) void IVGHatchFill::PutTransformWithShape ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4004)) VARIANT_BOOL IVGHatchFill::GetScaleLinesWithShape ( );
+__declspec(implementation_key(4005)) void IVGHatchFill::PutScaleLinesWithShape ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4006)) VARIANT_BOOL IVGHatchFill::GetUseWorldCoordinates ( );
+__declspec(implementation_key(4007)) void IVGHatchFill::PutUseWorldCoordinates ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4008)) _bstr_t IVGHatchFill::GetLibraryName ( );
+__declspec(implementation_key(4009)) _bstr_t IVGHatchFill::GetHatchName ( );
+__declspec(implementation_key(4010)) IVGHatchPatternsPtr IVGHatchFill::GetPatterns ( );
+__declspec(implementation_key(4011)) double IVGHatchFill::GetFillScaleX ( );
+__declspec(implementation_key(4012)) void IVGHatchFill::PutFillScaleX ( double pVal );
+__declspec(implementation_key(4013)) double IVGHatchFill::GetFillScaleY ( );
+__declspec(implementation_key(4014)) void IVGHatchFill::PutFillScaleY ( double pVal );
+__declspec(implementation_key(4015)) double IVGHatchFill::GetRotationAngle ( );
+__declspec(implementation_key(4016)) void IVGHatchFill::PutRotationAngle ( double pVal );
+__declspec(implementation_key(4017)) double IVGHatchFill::GetSkewAngle ( );
+__declspec(implementation_key(4018)) void IVGHatchFill::PutSkewAngle ( double pVal );
+__declspec(implementation_key(4019)) HRESULT IVGHatchFill::SetNoBackColor ( );
+__declspec(implementation_key(4020)) HRESULT IVGHatchFill::SetFillScale ( double FillScale );
+__declspec(implementation_key(4021)) double IVGHatchFill::GetFillScale ( );
+__declspec(implementation_key(4022)) HRESULT IVGHatchFill::SetLineScale ( double LineScale );
+__declspec(implementation_key(4023)) double IVGHatchFill::GetLineScale ( );
+__declspec(implementation_key(4024)) IVGHatchPatternPtr IVGHatchFill::AddPattern ( double Angle, double Spacing, double Shift, double OriginX, double OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth );
+__declspec(implementation_key(4025)) HRESULT IVGHatchFill::AddToLibrary ( _bstr_t LibraryName, _bstr_t HatchName );
+__declspec(implementation_key(4026)) HRESULT IVGHatchFill::Select ( _bstr_t LibraryName, const _variant_t & HatchNameOrIndex, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew );
+__declspec(implementation_key(4027)) VARIANT_BOOL IVGHatchFill::GetIsFromLibrary ( );
+__declspec(implementation_key(4028)) long IVGHatchFill::GetIndex ( );
+__declspec(implementation_key(4029)) IVGHatchLibraryPtr IVGHatchFill::GetLibrary ( );
+__declspec(implementation_key(4030)) void IVGStructFontProperties::PutName ( _bstr_t pVal );
+__declspec(implementation_key(4031)) _bstr_t IVGStructFontProperties::GetName ( );
+__declspec(implementation_key(4032)) void IVGStructFontProperties::PutStyle ( enum cdrFontStyle pVal );
+__declspec(implementation_key(4033)) enum cdrFontStyle IVGStructFontProperties::GetStyle ( );
+__declspec(implementation_key(4034)) void IVGStructFontProperties::PutSize ( float pVal );
+__declspec(implementation_key(4035)) float IVGStructFontProperties::GetSize ( );
+__declspec(implementation_key(4036)) void IVGStructFontProperties::PutUnderline ( enum cdrFontLine pVal );
+__declspec(implementation_key(4037)) enum cdrFontLine IVGStructFontProperties::GetUnderline ( );
+__declspec(implementation_key(4038)) void IVGStructFontProperties::PutOverscore ( enum cdrFontLine pVal );
+__declspec(implementation_key(4039)) enum cdrFontLine IVGStructFontProperties::GetOverscore ( );
+__declspec(implementation_key(4040)) void IVGStructFontProperties::PutStrikethru ( enum cdrFontLine pVal );
+__declspec(implementation_key(4041)) enum cdrFontLine IVGStructFontProperties::GetStrikethru ( );
+__declspec(implementation_key(4042)) void IVGStructFontProperties::PutUppercase ( enum cdrFontCase pVal );
+__declspec(implementation_key(4043)) enum cdrFontCase IVGStructFontProperties::GetUppercase ( );
+__declspec(implementation_key(4044)) void IVGStructFontProperties::PutPosition ( enum cdrFontPosition pVal );
+__declspec(implementation_key(4045)) enum cdrFontPosition IVGStructFontProperties::GetPosition ( );
+__declspec(implementation_key(4046)) void IVGStructFontProperties::PutRangeKerning ( long pVal );
+__declspec(implementation_key(4047)) long IVGStructFontProperties::GetRangeKerning ( );
+__declspec(implementation_key(4048)) void IVGStructFontProperties::PutFill ( struct IVGFill * ppVal );
+__declspec(implementation_key(4049)) IVGFillPtr IVGStructFontProperties::GetFill ( );
+__declspec(implementation_key(4050)) void IVGStructFontProperties::PutOutline ( struct IVGOutline * ppVal );
+__declspec(implementation_key(4051)) IVGOutlinePtr IVGStructFontProperties::GetOutline ( );
+__declspec(implementation_key(4052)) IVGHatchLibraryPtr IVGHatchLibraries::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(4053)) long IVGHatchLibraries::GetCount ( );
+__declspec(implementation_key(4054)) IVGHatchLibraryPtr IVGHatchLibraries::Find ( _bstr_t Name );
+__declspec(implementation_key(4055)) IUnknownPtr IVGHatchLibraries::Get_NewEnum ( );
+__declspec(implementation_key(4056)) IVGHatchLibraryPtr IVGHatchLibraries::GetActiveLibrary ( );
+__declspec(implementation_key(4057)) IVGHatchLibraryPtr IVGHatchLibraries::GetDefaultLibrary ( );
+__declspec(implementation_key(4058)) enum cdrTextType IVGText::GetType ( );
+__declspec(implementation_key(4059)) long IVGText::GetFramesInLink ( );
+__declspec(implementation_key(4060)) long IVGText::GetUnusedFramesInLink ( );
+__declspec(implementation_key(4061)) VARIANT_BOOL IVGText::GetOverflow ( );
+__declspec(implementation_key(4062)) IVGStructFontPropertiesPtr IVGText::GetFontProperties ( enum cdrTextFrames Frames );
+__declspec(implementation_key(4063)) void IVGText::PutFontProperties ( enum cdrTextFrames Frames, struct IVGStructFontProperties * ppVal );
+__declspec(implementation_key(4064)) IVGStructFontPropertiesPtr IVGText::GetFontPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4065)) void IVGText::PutFontPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructFontProperties * ppVal );
+__declspec(implementation_key(4066)) IVGStructAlignPropertiesPtr IVGText::GetAlignProperties ( enum cdrTextFrames Frames );
+__declspec(implementation_key(4067)) void IVGText::PutAlignProperties ( enum cdrTextFrames Frames, struct IVGStructAlignProperties * ppVal );
+__declspec(implementation_key(4068)) IVGStructAlignPropertiesPtr IVGText::GetAlignPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4069)) void IVGText::PutAlignPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructAlignProperties * ppVal );
+__declspec(implementation_key(4070)) IVGStructSpacePropertiesPtr IVGText::GetSpaceProperties ( enum cdrTextFrames Frames );
+__declspec(implementation_key(4071)) void IVGText::PutSpaceProperties ( enum cdrTextFrames Frames, struct IVGStructSpaceProperties * ppVal );
+__declspec(implementation_key(4072)) IVGStructSpacePropertiesPtr IVGText::GetSpacePropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4073)) void IVGText::PutSpacePropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructSpaceProperties * ppVal );
+__declspec(implementation_key(4074)) IVGStructHyphenationSettingsPtr IVGText::GetHyphenationSettings ( enum cdrTextFrames Frames );
+__declspec(implementation_key(4075)) void IVGText::PutHyphenationSettings ( enum cdrTextFrames Frames, struct IVGStructHyphenationSettings * ppVal );
+__declspec(implementation_key(4076)) IVGStructHyphenationSettingsPtr IVGText::GetHyphenationSettingsInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4077)) void IVGText::PutHyphenationSettingsInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructHyphenationSettings * ppVal );
+__declspec(implementation_key(4078)) _bstr_t IVGText::GetContents ( enum cdrTextFrames Frames );
+__declspec(implementation_key(4079)) void IVGText::PutContents ( enum cdrTextFrames Frames, _bstr_t pVal );
+__declspec(implementation_key(4080)) IVGEffectPtr IVGText::FitToPath ( struct IVGShape * Path );
+__declspec(implementation_key(4081)) long IVGText::Find ( _bstr_t Text, VARIANT_BOOL CaseSensitive, long StartIndex, VARIANT_BOOL WrapAround, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4082)) HRESULT IVGText::Replace ( _bstr_t OldText, _bstr_t NewText, VARIANT_BOOL CaseSensitive, long StartIndex, VARIANT_BOOL ReplaceAll, VARIANT_BOOL WrapAround, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4083)) HRESULT IVGText::ImportFromFile ( _bstr_t FileName, long StartIndex, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4084)) HRESULT IVGText::ExportToFile ( _bstr_t FileName, long StartIndex, long Count, enum cdrTextIndexingType IndexingType );
+__declspec(implementation_key(4085)) HRESULT IVGText::ConvertToArtistic ( );
+__declspec(implementation_key(4086)) HRESULT IVGText::ConvertToParagraph ( );
+__declspec(implementation_key(4087)) VARIANT_BOOL IVGText::GetIsHTMLCompatible ( );
+__declspec(implementation_key(4088)) VARIANT_BOOL IVGText::MakeHTMLCompatible ( VARIANT_BOOL HTML );
+__declspec(implementation_key(4089)) IVGTextRangePtr IVGText::GetStory ( );
+__declspec(implementation_key(4090)) IVGTextRangePtr IVGText::GetSelection ( );
+__declspec(implementation_key(4091)) IVGTextRangePtr IVGText::Range ( long Start, long End );
+__declspec(implementation_key(4092)) VARIANT_BOOL IVGText::GetIsEditing ( );
+__declspec(implementation_key(4093)) HRESULT IVGText::BeginEdit ( );
+__declspec(implementation_key(4094)) IVGTextFramePtr IVGText::GetFrame ( );
+__declspec(implementation_key(4095)) IVGTextFramesPtr IVGText::GetFrames ( );
+__declspec(implementation_key(4096)) VARIANT_BOOL IVGText::GetIsArtisticText ( );
+__declspec(implementation_key(4097)) HRESULT IVGText::FitTextToFrame ( );
+__declspec(implementation_key(4098)) IVGApplicationPtr IVGEffect::GetApplication ( );
+__declspec(implementation_key(4099)) IVGEffectsPtr IVGEffect::GetParent ( );
+__declspec(implementation_key(4100)) enum cdrEffectType IVGEffect::GetType ( );
+__declspec(implementation_key(4101)) IVGEffectBlendPtr IVGEffect::GetBlend ( );
+__declspec(implementation_key(4102)) IVGEffectControlPathPtr IVGEffect::GetControlPath ( );
+__declspec(implementation_key(4103)) IVGEffectExtrudePtr IVGEffect::GetExtrude ( );
+__declspec(implementation_key(4104)) IVGEffectEnvelopePtr IVGEffect::GetEnvelope ( );
+__declspec(implementation_key(4105)) IVGEffectTextOnPathPtr IVGEffect::GetTextOnPath ( );
+__declspec(implementation_key(4106)) IVGEffectDropShadowPtr IVGEffect::GetDropShadow ( );
+__declspec(implementation_key(4107)) IVGEffectContourPtr IVGEffect::GetContour ( );
+__declspec(implementation_key(4108)) IVGEffectDistortionPtr IVGEffect::GetDistortion ( );
+__declspec(implementation_key(4109)) IVGEffectLensPtr IVGEffect::GetLens ( );
+__declspec(implementation_key(4110)) IVGEffectPerspectivePtr IVGEffect::GetPerspective ( );
+__declspec(implementation_key(4111)) IVGEffectsPtr IVGEffect::GetClones ( );
+__declspec(implementation_key(4112)) IVGEffectPtr IVGEffect::GetCloneParent ( );
+__declspec(implementation_key(4113)) HRESULT IVGEffect::Clear ( );
+__declspec(implementation_key(4114)) IVGShapeRangePtr IVGEffect::Separate ( );
+__declspec(implementation_key(4115)) IVGCustomEffectPtr IVGEffect::GetCustom ( );
+__declspec(implementation_key(4116)) IVGEffectInnerShadowPtr IVGEffect::GetInnerShadow ( );
+__declspec(implementation_key(4117)) IVGApplicationPtr IVGEffects::GetApplication ( );
+__declspec(implementation_key(4118)) IVGShapePtr IVGEffects::GetParent ( );
+__declspec(implementation_key(4119)) IVGEffectPtr IVGEffects::GetItem ( long Index );
+__declspec(implementation_key(4120)) IUnknownPtr IVGEffects::Get_NewEnum ( );
+__declspec(implementation_key(4121)) long IVGEffects::GetCount ( );
+__declspec(implementation_key(4122)) IVGEffectsPtr IVGEffects::GetBlendEffects ( );
+__declspec(implementation_key(4123)) IVGEffectsPtr IVGEffects::GetCustomEffects ( );
+__declspec(implementation_key(4124)) IVGEffectsPtr IVGEffects::GetDistortionEffects ( );
+__declspec(implementation_key(4125)) IVGEffectsPtr IVGEffects::GetEnvelopeEffects ( );
+__declspec(implementation_key(4126)) IVGEffectsPtr IVGEffects::GetPerspectiveEffects ( );
+__declspec(implementation_key(4127)) IVGEffectPtr IVGEffects::GetContourEffect ( );
+__declspec(implementation_key(4128)) IVGEffectPtr IVGEffects::GetControlPathEffect ( );
+__declspec(implementation_key(4129)) IVGEffectPtr IVGEffects::GetDropShadowEffect ( );
+__declspec(implementation_key(4130)) IVGEffectPtr IVGEffects::GetExtrudeEffect ( );
+__declspec(implementation_key(4131)) IVGEffectPtr IVGEffects::GetLensEffect ( );
+__declspec(implementation_key(4132)) IVGEffectPtr IVGEffects::GetTextOnPathEffect ( );
+__declspec(implementation_key(4133)) IVGEffectPtr IVGEffects::GetInnerShadowEffect ( );
+__declspec(implementation_key(4134)) IVGApplicationPtr IVGEffectBlend::GetApplication ( );
+__declspec(implementation_key(4135)) IVGEffectPtr IVGEffectBlend::GetParent ( );
+__declspec(implementation_key(4136)) IVGShapePtr IVGEffectBlend::GetStartShape ( );
+__declspec(implementation_key(4137)) void IVGEffectBlend::PutStartShape ( struct IVGShape * ppVal );
+__declspec(implementation_key(4138)) IVGShapePtr IVGEffectBlend::GetEndShape ( );
+__declspec(implementation_key(4139)) void IVGEffectBlend::PutEndShape ( struct IVGShape * ppVal );
+__declspec(implementation_key(4140)) IVGShapePtr IVGEffectBlend::GetBlendGroup ( );
+__declspec(implementation_key(4141)) IVGShapePtr IVGEffectBlend::GetPath ( );
+__declspec(implementation_key(4142)) void IVGEffectBlend::PutPath ( struct IVGShape * ppVal );
+__declspec(implementation_key(4143)) double IVGEffectBlend::GetStartShapeOffset ( );
+__declspec(implementation_key(4144)) void IVGEffectBlend::PutStartShapeOffset ( double pVal );
+__declspec(implementation_key(4145)) double IVGEffectBlend::GetEndShapeOffset ( );
+__declspec(implementation_key(4146)) void IVGEffectBlend::PutEndShapeOffset ( double pVal );
+__declspec(implementation_key(4147)) enum cdrBlendMode IVGEffectBlend::GetMode ( );
+__declspec(implementation_key(4148)) void IVGEffectBlend::PutMode ( enum cdrBlendMode pVal );
+__declspec(implementation_key(4149)) long IVGEffectBlend::GetSteps ( );
+__declspec(implementation_key(4150)) void IVGEffectBlend::PutSteps ( long pVal );
+__declspec(implementation_key(4151)) double IVGEffectBlend::GetSpacing ( );
+__declspec(implementation_key(4152)) void IVGEffectBlend::PutSpacing ( double pVal );
+__declspec(implementation_key(4153)) double IVGEffectBlend::GetAngle ( );
+__declspec(implementation_key(4154)) void IVGEffectBlend::PutAngle ( double pVal );
+__declspec(implementation_key(4155)) VARIANT_BOOL IVGEffectBlend::GetLoop ( );
+__declspec(implementation_key(4156)) void IVGEffectBlend::PutLoop ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4157)) VARIANT_BOOL IVGEffectBlend::GetFullPath ( );
+__declspec(implementation_key(4158)) void IVGEffectBlend::PutFullPath ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4159)) VARIANT_BOOL IVGEffectBlend::GetRotateShapes ( );
+__declspec(implementation_key(4160)) void IVGEffectBlend::PutRotateShapes ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4161)) enum cdrFountainFillBlendType IVGEffectBlend::GetColorBlendType ( );
+__declspec(implementation_key(4162)) void IVGEffectBlend::PutColorBlendType ( enum cdrFountainFillBlendType pVal );
+__declspec(implementation_key(4163)) long IVGEffectBlend::GetSpacingAcceleration ( );
+__declspec(implementation_key(4164)) void IVGEffectBlend::PutSpacingAcceleration ( long pVal );
+__declspec(implementation_key(4165)) long IVGEffectBlend::GetColorAcceleration ( );
+__declspec(implementation_key(4166)) void IVGEffectBlend::PutColorAcceleration ( long pVal );
+__declspec(implementation_key(4167)) VARIANT_BOOL IVGEffectBlend::GetLinkAcceleration ( );
+__declspec(implementation_key(4168)) void IVGEffectBlend::PutLinkAcceleration ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4169)) VARIANT_BOOL IVGEffectBlend::GetAccelerateSize ( );
+__declspec(implementation_key(4170)) void IVGEffectBlend::PutAccelerateSize ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4171)) VARIANT_BOOL IVGEffectBlend::GetMapNodes ( );
+__declspec(implementation_key(4172)) void IVGEffectBlend::PutMapNodes ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4173)) IVGSnapPointPtr IVGEffectBlend::GetStartPoint ( );
+__declspec(implementation_key(4174)) void IVGEffectBlend::PutStartPoint ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(4175)) IVGSnapPointPtr IVGEffectBlend::GetEndPoint ( );
+__declspec(implementation_key(4176)) void IVGEffectBlend::PutEndPoint ( struct IVGSnapPoint * ppVal );
+__declspec(implementation_key(4177)) IVGShapePtr IVGEffectBlend::Split ( long StepNo );
+__declspec(implementation_key(4178)) VARIANT_BOOL IVGEffectBlend::FuseStart ( );
+__declspec(implementation_key(4179)) VARIANT_BOOL IVGEffectBlend::FuseEnd ( );
+__declspec(implementation_key(4180)) VARIANT_BOOL IVGEffectBlend::CopyFrom ( struct IVGEffectBlend * Source );
+__declspec(implementation_key(4181)) IVGApplicationPtr IVGEffectControlPath::GetApplication ( );
+__declspec(implementation_key(4182)) IVGEffectPtr IVGEffectControlPath::GetParent ( );
+__declspec(implementation_key(4183)) IVGEffectsPtr IVGEffectControlPath::GetEffects ( );
+__declspec(implementation_key(4184)) IVGApplicationPtr IVGEffectEnvelope::GetApplication ( );
+__declspec(implementation_key(4185)) IVGEffectPtr IVGEffectEnvelope::GetParent ( );
+__declspec(implementation_key(4186)) IVGCurvePtr IVGEffectEnvelope::GetContainer ( );
+__declspec(implementation_key(4187)) void IVGEffectEnvelope::PutContainer ( struct IVGCurve * pVal );
+__declspec(implementation_key(4188)) enum cdrEnvelopeMode IVGEffectEnvelope::GetMode ( );
+__declspec(implementation_key(4189)) void IVGEffectEnvelope::PutMode ( enum cdrEnvelopeMode pVal );
+__declspec(implementation_key(4190)) VARIANT_BOOL IVGEffectEnvelope::GetKeepLines ( );
+__declspec(implementation_key(4191)) void IVGEffectEnvelope::PutKeepLines ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4192)) HRESULT IVGEffectEnvelope::Select ( long PresetIndex );
+__declspec(implementation_key(4193)) HRESULT IVGEffectEnvelope::CopyFrom ( struct IVGEffectEnvelope * Source );
+__declspec(implementation_key(4194)) VARIANT_BOOL IVGEffectEnvelope::CreateFrom ( struct IVGShape * Shape );
+__declspec(implementation_key(4195)) VARIANT_BOOL IVGEffectEnvelope::CopyFromShape ( struct IVGShape * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices );
+__declspec(implementation_key(4196)) VARIANT_BOOL IVGEffectEnvelope::CopyFromCurve ( struct IVGCurve * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices );
+__declspec(implementation_key(4197)) _variant_t IVGEffectEnvelope::GetCornerIndices ( );
+__declspec(implementation_key(4198)) void IVGEffectEnvelope::PutCornerIndices ( const _variant_t & pVal );
+__declspec(implementation_key(4199)) IVGApplicationPtr IVGEffectTextOnPath::GetApplication ( );
+__declspec(implementation_key(4200)) IVGEffectPtr IVGEffectTextOnPath::GetParent ( );
+__declspec(implementation_key(4201)) IVGShapePtr IVGEffectTextOnPath::GetText ( );
+__declspec(implementation_key(4202)) void IVGEffectTextOnPath::PutText ( struct IVGShape * ppVal );
+__declspec(implementation_key(4203)) IVGShapePtr IVGEffectTextOnPath::GetPath ( );
+__declspec(implementation_key(4204)) void IVGEffectTextOnPath::PutPath ( struct IVGShape * ppVal );
+__declspec(implementation_key(4205)) double IVGEffectTextOnPath::GetDistanceFromPath ( );
+__declspec(implementation_key(4206)) void IVGEffectTextOnPath::PutDistanceFromPath ( double pVal );
+__declspec(implementation_key(4207)) double IVGEffectTextOnPath::GetOffset ( );
+__declspec(implementation_key(4208)) void IVGEffectTextOnPath::PutOffset ( double pVal );
+__declspec(implementation_key(4209)) enum cdrFittedOrientation IVGEffectTextOnPath::GetOrientation ( );
+__declspec(implementation_key(4210)) void IVGEffectTextOnPath::PutOrientation ( enum cdrFittedOrientation pVal );
+__declspec(implementation_key(4211)) enum cdrFittedPlacement IVGEffectTextOnPath::GetPlacement ( );
+__declspec(implementation_key(4212)) void IVGEffectTextOnPath::PutPlacement ( enum cdrFittedPlacement pVal );
+__declspec(implementation_key(4213)) VARIANT_BOOL IVGEffectTextOnPath::GetPlaceOnOtherSide ( );
+__declspec(implementation_key(4214)) void IVGEffectTextOnPath::PutPlaceOnOtherSide ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4215)) enum cdrFittedQuadrant IVGEffectTextOnPath::GetQuadrant ( );
+__declspec(implementation_key(4216)) void IVGEffectTextOnPath::PutQuadrant ( enum cdrFittedQuadrant pVal );
+__declspec(implementation_key(4217)) enum cdrFittedVertPlacement IVGEffectTextOnPath::GetVertPlacement ( );
+__declspec(implementation_key(4218)) void IVGEffectTextOnPath::PutVertPlacement ( enum cdrFittedVertPlacement pVal );
+__declspec(implementation_key(4219)) IVGApplicationPtr IVGEffectDropShadow::GetApplication ( );
+__declspec(implementation_key(4220)) IVGEffectPtr IVGEffectDropShadow::GetParent ( );
+__declspec(implementation_key(4221)) double IVGEffectDropShadow::GetOffsetX ( );
+__declspec(implementation_key(4222)) void IVGEffectDropShadow::PutOffsetX ( double pVal );
+__declspec(implementation_key(4223)) double IVGEffectDropShadow::GetOffsetY ( );
+__declspec(implementation_key(4224)) void IVGEffectDropShadow::PutOffsetY ( double pVal );
+__declspec(implementation_key(4225)) long IVGEffectDropShadow::GetOpacity ( );
+__declspec(implementation_key(4226)) void IVGEffectDropShadow::PutOpacity ( long pVal );
+__declspec(implementation_key(4227)) long IVGEffectDropShadow::GetFeather ( );
+__declspec(implementation_key(4228)) void IVGEffectDropShadow::PutFeather ( long pVal );
+__declspec(implementation_key(4229)) enum cdrFeatherType IVGEffectDropShadow::GetFeatherType ( );
+__declspec(implementation_key(4230)) void IVGEffectDropShadow::PutFeatherType ( enum cdrFeatherType pVal );
+__declspec(implementation_key(4231)) enum cdrEdgeType IVGEffectDropShadow::GetFeatherEdge ( );
+__declspec(implementation_key(4232)) void IVGEffectDropShadow::PutFeatherEdge ( enum cdrEdgeType pVal );
+__declspec(implementation_key(4233)) enum cdrDropShadowType IVGEffectDropShadow::GetType ( );
+__declspec(implementation_key(4234)) void IVGEffectDropShadow::PutType ( enum cdrDropShadowType pVal );
+__declspec(implementation_key(4235)) double IVGEffectDropShadow::GetPerspectiveAngle ( );
+__declspec(implementation_key(4236)) void IVGEffectDropShadow::PutPerspectiveAngle ( double pVal );
+__declspec(implementation_key(4237)) double IVGEffectDropShadow::GetPerspectiveStretch ( );
+__declspec(implementation_key(4238)) void IVGEffectDropShadow::PutPerspectiveStretch ( double pVal );
+__declspec(implementation_key(4239)) long IVGEffectDropShadow::GetFade ( );
+__declspec(implementation_key(4240)) void IVGEffectDropShadow::PutFade ( long pVal );
+__declspec(implementation_key(4241)) IVGColorPtr IVGEffectDropShadow::GetColor ( );
+__declspec(implementation_key(4242)) void IVGEffectDropShadow::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4243)) HRESULT IVGEffectDropShadow::SetOffset ( double OffsetX, double OffsetY );
+__declspec(implementation_key(4244)) IVGShapePtr IVGEffectDropShadow::GetShadowGroup ( );
+__declspec(implementation_key(4245)) enum cdrMergeMode IVGEffectDropShadow::GetMergeMode ( );
+__declspec(implementation_key(4246)) void IVGEffectDropShadow::PutMergeMode ( enum cdrMergeMode pVal );
+__declspec(implementation_key(4247)) IVGApplicationPtr IVGEffectContour::GetApplication ( );
+__declspec(implementation_key(4248)) IVGEffectPtr IVGEffectContour::GetParent ( );
+__declspec(implementation_key(4249)) enum cdrContourDirection IVGEffectContour::GetDirection ( );
+__declspec(implementation_key(4250)) void IVGEffectContour::PutDirection ( enum cdrContourDirection pVal );
+__declspec(implementation_key(4251)) double IVGEffectContour::GetOffset ( );
+__declspec(implementation_key(4252)) void IVGEffectContour::PutOffset ( double pVal );
+__declspec(implementation_key(4253)) long IVGEffectContour::GetSteps ( );
+__declspec(implementation_key(4254)) void IVGEffectContour::PutSteps ( long pVal );
+__declspec(implementation_key(4255)) enum cdrFountainFillBlendType IVGEffectContour::GetColorBlendType ( );
+__declspec(implementation_key(4256)) void IVGEffectContour::PutColorBlendType ( enum cdrFountainFillBlendType pVal );
+__declspec(implementation_key(4257)) IVGColorPtr IVGEffectContour::GetOutlineColor ( );
+__declspec(implementation_key(4258)) void IVGEffectContour::PutOutlineColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4259)) IVGColorPtr IVGEffectContour::GetFillColor ( );
+__declspec(implementation_key(4260)) void IVGEffectContour::PutFillColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4261)) IVGColorPtr IVGEffectContour::GetFillColorTo ( );
+__declspec(implementation_key(4262)) void IVGEffectContour::PutFillColorTo ( struct IVGColor * ppVal );
+__declspec(implementation_key(4263)) VARIANT_BOOL IVGEffectContour::GetLinkAcceleration ( );
+__declspec(implementation_key(4264)) void IVGEffectContour::PutLinkAcceleration ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4265)) long IVGEffectContour::GetColorAcceleration ( );
+__declspec(implementation_key(4266)) void IVGEffectContour::PutColorAcceleration ( long pVal );
+__declspec(implementation_key(4267)) long IVGEffectContour::GetSpacingAcceleration ( );
+__declspec(implementation_key(4268)) void IVGEffectContour::PutSpacingAcceleration ( long pVal );
+__declspec(implementation_key(4269)) IVGShapePtr IVGEffectContour::GetContourGroup ( );
+__declspec(implementation_key(4270)) enum cdrContourEndCapType IVGEffectContour::GetEndCapType ( );
+__declspec(implementation_key(4271)) void IVGEffectContour::PutEndCapType ( enum cdrContourEndCapType pVal );
+__declspec(implementation_key(4272)) enum cdrContourCornerType IVGEffectContour::GetCornerType ( );
+__declspec(implementation_key(4273)) void IVGEffectContour::PutCornerType ( enum cdrContourCornerType pVal );
+__declspec(implementation_key(4274)) double IVGEffectContour::GetMiterLimit ( );
+__declspec(implementation_key(4275)) void IVGEffectContour::PutMiterLimit ( double pVal );
+__declspec(implementation_key(4276)) IVGApplicationPtr IVGEffectLens::GetApplication ( );
+__declspec(implementation_key(4277)) IVGEffectPtr IVGEffectLens::GetParent ( );
+__declspec(implementation_key(4278)) HRESULT IVGEffectLens::Freeze ( );
+__declspec(implementation_key(4279)) HRESULT IVGEffectLens::Unfreeze ( );
+__declspec(implementation_key(4280)) IVGShapeRangePtr IVGEffectLens::Ungroup ( );
+__declspec(implementation_key(4281)) IVGShapesPtr IVGEffectLens::GetShapes ( );
+__declspec(implementation_key(4282)) VARIANT_BOOL IVGEffectLens::GetFrozen ( );
+__declspec(implementation_key(4283)) enum cdrLensType IVGEffectLens::GetType ( );
+__declspec(implementation_key(4284)) void IVGEffectLens::PutType ( enum cdrLensType pVal );
+__declspec(implementation_key(4285)) long IVGEffectLens::GetRate ( );
+__declspec(implementation_key(4286)) void IVGEffectLens::PutRate ( long pVal );
+__declspec(implementation_key(4287)) IVGColorPtr IVGEffectLens::GetColor ( );
+__declspec(implementation_key(4288)) void IVGEffectLens::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4289)) IVGColorPtr IVGEffectLens::GetOutlineColor ( );
+__declspec(implementation_key(4290)) void IVGEffectLens::PutOutlineColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4291)) IVGColorPtr IVGEffectLens::GetFillColor ( );
+__declspec(implementation_key(4292)) void IVGEffectLens::PutFillColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4293)) IVGColorPtr IVGEffectLens::GetFromColor ( );
+__declspec(implementation_key(4294)) void IVGEffectLens::PutFromColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4295)) IVGColorPtr IVGEffectLens::GetToColor ( );
+__declspec(implementation_key(4296)) void IVGEffectLens::PutToColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4297)) VARIANT_BOOL IVGEffectLens::GetUseOutlineColor ( );
+__declspec(implementation_key(4298)) void IVGEffectLens::PutUseOutlineColor ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4299)) VARIANT_BOOL IVGEffectLens::GetUseFillColor ( );
+__declspec(implementation_key(4300)) void IVGEffectLens::PutUseFillColor ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4301)) enum cdrFountainFillBlendType IVGEffectLens::GetColorMapPalette ( );
+__declspec(implementation_key(4302)) void IVGEffectLens::PutColorMapPalette ( enum cdrFountainFillBlendType pVal );
+__declspec(implementation_key(4303)) double IVGEffectLens::GetMagnification ( );
+__declspec(implementation_key(4304)) void IVGEffectLens::PutMagnification ( double pVal );
+__declspec(implementation_key(4305)) VARIANT_BOOL IVGEffectLens::GetUseViewPoint ( );
+__declspec(implementation_key(4306)) void IVGEffectLens::PutUseViewPoint ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4307)) double IVGEffectLens::GetViewPointX ( );
+__declspec(implementation_key(4308)) void IVGEffectLens::PutViewPointX ( double pVal );
+__declspec(implementation_key(4309)) double IVGEffectLens::GetViewPointY ( );
+__declspec(implementation_key(4310)) void IVGEffectLens::PutViewPointY ( double pVal );
+__declspec(implementation_key(4311)) VARIANT_BOOL IVGEffectLens::GetRemoveFace ( );
+__declspec(implementation_key(4312)) void IVGEffectLens::PutRemoveFace ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4313)) long IVGEffectLens::GetPaletteRotation ( );
+__declspec(implementation_key(4314)) void IVGEffectLens::PutPaletteRotation ( long pVal );
+__declspec(implementation_key(4315)) IVGApplicationPtr IVGEffectPerspective::GetApplication ( );
+__declspec(implementation_key(4316)) IVGEffectPtr IVGEffectPerspective::GetParent ( );
+__declspec(implementation_key(4317)) VARIANT_BOOL IVGEffectPerspective::GetUseHorizVanishingPoint ( );
+__declspec(implementation_key(4318)) void IVGEffectPerspective::PutUseHorizVanishingPoint ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4319)) VARIANT_BOOL IVGEffectPerspective::GetUseVertVanishingPoint ( );
+__declspec(implementation_key(4320)) void IVGEffectPerspective::PutUseVertVanishingPoint ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4321)) double IVGEffectPerspective::GetHorizVanishingPointX ( );
+__declspec(implementation_key(4322)) void IVGEffectPerspective::PutHorizVanishingPointX ( double pVal );
+__declspec(implementation_key(4323)) double IVGEffectPerspective::GetHorizVanishingPointY ( );
+__declspec(implementation_key(4324)) void IVGEffectPerspective::PutHorizVanishingPointY ( double pVal );
+__declspec(implementation_key(4325)) double IVGEffectPerspective::GetVertVanishingPointX ( );
+__declspec(implementation_key(4326)) void IVGEffectPerspective::PutVertVanishingPointX ( double pVal );
+__declspec(implementation_key(4327)) double IVGEffectPerspective::GetVertVanishingPointY ( );
+__declspec(implementation_key(4328)) void IVGEffectPerspective::PutVertVanishingPointY ( double pVal );
+__declspec(implementation_key(4329)) IVGApplicationPtr IVGEffectInnerShadow::GetApplication ( );
+__declspec(implementation_key(4330)) IVGEffectPtr IVGEffectInnerShadow::GetParent ( );
+__declspec(implementation_key(4331)) double IVGEffectInnerShadow::GetOffsetX ( );
+__declspec(implementation_key(4332)) void IVGEffectInnerShadow::PutOffsetX ( double pVal );
+__declspec(implementation_key(4333)) double IVGEffectInnerShadow::GetOffsetY ( );
+__declspec(implementation_key(4334)) void IVGEffectInnerShadow::PutOffsetY ( double pVal );
+__declspec(implementation_key(4335)) long IVGEffectInnerShadow::GetOpacity ( );
+__declspec(implementation_key(4336)) void IVGEffectInnerShadow::PutOpacity ( long pVal );
+__declspec(implementation_key(4337)) long IVGEffectInnerShadow::GetFeather ( );
+__declspec(implementation_key(4338)) void IVGEffectInnerShadow::PutFeather ( long pVal );
+__declspec(implementation_key(4339)) enum cdrFeatherType IVGEffectInnerShadow::GetFeatherType ( );
+__declspec(implementation_key(4340)) void IVGEffectInnerShadow::PutFeatherType ( enum cdrFeatherType pVal );
+__declspec(implementation_key(4341)) enum cdrEdgeType IVGEffectInnerShadow::GetFeatherEdge ( );
+__declspec(implementation_key(4342)) void IVGEffectInnerShadow::PutFeatherEdge ( enum cdrEdgeType pVal );
+__declspec(implementation_key(4343)) IVGColorPtr IVGEffectInnerShadow::GetColor ( );
+__declspec(implementation_key(4344)) void IVGEffectInnerShadow::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4345)) HRESULT IVGEffectInnerShadow::SetOffset ( double OffsetX, double OffsetY );
+__declspec(implementation_key(4346)) IVGShapePtr IVGEffectInnerShadow::GetShadowGroup ( );
+__declspec(implementation_key(4347)) enum cdrMergeMode IVGEffectInnerShadow::GetMergeMode ( );
+__declspec(implementation_key(4348)) void IVGEffectInnerShadow::PutMergeMode ( enum cdrMergeMode pVal );
+__declspec(implementation_key(4349)) double IVGEffectInnerShadow::GetDepth ( );
+__declspec(implementation_key(4350)) void IVGEffectInnerShadow::PutDepth ( double pVal );
+__declspec(implementation_key(4351)) IVGApplicationPtr IVGEffectExtrude::GetApplication ( );
+__declspec(implementation_key(4352)) IVGEffectPtr IVGEffectExtrude::GetParent ( );
+__declspec(implementation_key(4353)) enum cdrExtrudeType IVGEffectExtrude::GetType ( );
+__declspec(implementation_key(4354)) void IVGEffectExtrude::PutType ( enum cdrExtrudeType pVal );
+__declspec(implementation_key(4355)) IVGExtrudeVanishingPointPtr IVGEffectExtrude::GetVanishingPoint ( );
+__declspec(implementation_key(4356)) void IVGEffectExtrude::PutVanishingPoint ( struct IVGExtrudeVanishingPoint * ppVal );
+__declspec(implementation_key(4357)) long IVGEffectExtrude::GetDepth ( );
+__declspec(implementation_key(4358)) void IVGEffectExtrude::PutDepth ( long pVal );
+__declspec(implementation_key(4359)) double IVGEffectExtrude::GetAngleX ( );
+__declspec(implementation_key(4360)) void IVGEffectExtrude::PutAngleX ( double pVal );
+__declspec(implementation_key(4361)) double IVGEffectExtrude::GetAngleY ( );
+__declspec(implementation_key(4362)) void IVGEffectExtrude::PutAngleY ( double pVal );
+__declspec(implementation_key(4363)) double IVGEffectExtrude::GetAngleZ ( );
+__declspec(implementation_key(4364)) void IVGEffectExtrude::PutAngleZ ( double pVal );
+__declspec(implementation_key(4365)) enum cdrExtrudeShading IVGEffectExtrude::GetShading ( );
+__declspec(implementation_key(4366)) void IVGEffectExtrude::PutShading ( enum cdrExtrudeShading pVal );
+__declspec(implementation_key(4367)) IVGColorPtr IVGEffectExtrude::GetBaseColor ( );
+__declspec(implementation_key(4368)) void IVGEffectExtrude::PutBaseColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4369)) IVGColorPtr IVGEffectExtrude::GetShadingColor ( );
+__declspec(implementation_key(4370)) void IVGEffectExtrude::PutShadingColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4371)) VARIANT_BOOL IVGEffectExtrude::GetUseBevel ( );
+__declspec(implementation_key(4372)) void IVGEffectExtrude::PutUseBevel ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4373)) VARIANT_BOOL IVGEffectExtrude::GetShowBevelOnly ( );
+__declspec(implementation_key(4374)) void IVGEffectExtrude::PutShowBevelOnly ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4375)) double IVGEffectExtrude::GetBevelDepth ( );
+__declspec(implementation_key(4376)) void IVGEffectExtrude::PutBevelDepth ( double pVal );
+__declspec(implementation_key(4377)) double IVGEffectExtrude::GetBevelAngle ( );
+__declspec(implementation_key(4378)) void IVGEffectExtrude::PutBevelAngle ( double pVal );
+__declspec(implementation_key(4379)) VARIANT_BOOL IVGEffectExtrude::GetUseExtrudeColorForBevel ( );
+__declspec(implementation_key(4380)) void IVGEffectExtrude::PutUseExtrudeColorForBevel ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4381)) IVGColorPtr IVGEffectExtrude::GetBevelColor ( );
+__declspec(implementation_key(4382)) void IVGEffectExtrude::PutBevelColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4383)) VARIANT_BOOL IVGEffectExtrude::GetLightPresent ( long Index );
+__declspec(implementation_key(4384)) void IVGEffectExtrude::PutLightPresent ( long Index, VARIANT_BOOL pVal );
+__declspec(implementation_key(4385)) enum cdrExtrudeLightPosition IVGEffectExtrude::GetLightPosition ( long Index );
+__declspec(implementation_key(4386)) void IVGEffectExtrude::PutLightPosition ( long Index, enum cdrExtrudeLightPosition pVal );
+__declspec(implementation_key(4387)) long IVGEffectExtrude::GetLightIntensity ( long Index );
+__declspec(implementation_key(4388)) void IVGEffectExtrude::PutLightIntensity ( long Index, long pVal );
+__declspec(implementation_key(4389)) VARIANT_BOOL IVGEffectExtrude::GetUseFullColorRange ( );
+__declspec(implementation_key(4390)) void IVGEffectExtrude::PutUseFullColorRange ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4391)) VARIANT_BOOL IVGEffectExtrude::GetFaceVisible ( );
+__declspec(implementation_key(4392)) IVGShapePtr IVGEffectExtrude::GetFaceShape ( );
+__declspec(implementation_key(4393)) IVGShapePtr IVGEffectExtrude::GetBevelGroup ( );
+__declspec(implementation_key(4394)) IVGShapePtr IVGEffectExtrude::GetExtrudeGroup ( );
+__declspec(implementation_key(4395)) HRESULT IVGEffectExtrude::Rotate ( double AngleX, double AngleY, double AngleZ );
+__declspec(implementation_key(4396)) HRESULT IVGEffectExtrude::SetBevel ( double Depth, double Angle, VARIANT_BOOL ShowBevelOnly );
+__declspec(implementation_key(4397)) HRESULT IVGEffectExtrude::SetLight ( long Index, enum cdrExtrudeLightPosition Position, long LightIntensity );
+__declspec(implementation_key(4398)) HRESULT IVGEffectExtrude::CopyFrom ( struct IVGEffectExtrude * Source );
+__declspec(implementation_key(4399)) IVGApplicationPtr IVGExtrudeVanishingPoint::GetApplication ( );
+__declspec(implementation_key(4400)) IVGEffectExtrudePtr IVGExtrudeVanishingPoint::GetParent ( );
+__declspec(implementation_key(4401)) enum cdrExtrudeVPType IVGExtrudeVanishingPoint::GetType ( );
+__declspec(implementation_key(4402)) void IVGExtrudeVanishingPoint::PutType ( enum cdrExtrudeVPType pVal );
+__declspec(implementation_key(4403)) double IVGExtrudeVanishingPoint::GetPositionX ( );
+__declspec(implementation_key(4404)) void IVGExtrudeVanishingPoint::PutPositionX ( double pVal );
+__declspec(implementation_key(4405)) double IVGExtrudeVanishingPoint::GetPositionY ( );
+__declspec(implementation_key(4406)) void IVGExtrudeVanishingPoint::PutPositionY ( double pVal );
+__declspec(implementation_key(4407)) IVGEffectsPtr IVGExtrudeVanishingPoint::GetEffects ( );
+__declspec(implementation_key(4408)) VARIANT_BOOL IVGExtrudeVanishingPoint::Share ( struct IVGEffectExtrude * Source );
+__declspec(implementation_key(4409)) IVGApplicationPtr IVGEffectDistortion::GetApplication ( );
+__declspec(implementation_key(4410)) IVGEffectPtr IVGEffectDistortion::GetParent ( );
+__declspec(implementation_key(4411)) enum cdrDistortionType IVGEffectDistortion::GetType ( );
+__declspec(implementation_key(4412)) void IVGEffectDistortion::PutType ( enum cdrDistortionType pVal );
+__declspec(implementation_key(4413)) double IVGEffectDistortion::GetOriginX ( );
+__declspec(implementation_key(4414)) void IVGEffectDistortion::PutOriginX ( double pVal );
+__declspec(implementation_key(4415)) double IVGEffectDistortion::GetOriginY ( );
+__declspec(implementation_key(4416)) void IVGEffectDistortion::PutOriginY ( double pVal );
+__declspec(implementation_key(4417)) IVGEffectPushPullDistortionPtr IVGEffectDistortion::GetPushPull ( );
+__declspec(implementation_key(4418)) void IVGEffectDistortion::PutPushPull ( struct IVGEffectPushPullDistortion * ppVal );
+__declspec(implementation_key(4419)) IVGEffectZipperDistortionPtr IVGEffectDistortion::GetZipper ( );
+__declspec(implementation_key(4420)) void IVGEffectDistortion::PutZipper ( struct IVGEffectZipperDistortion * ppVal );
+__declspec(implementation_key(4421)) IVGEffectTwisterDistortionPtr IVGEffectDistortion::GetTwister ( );
+__declspec(implementation_key(4422)) void IVGEffectDistortion::PutTwister ( struct IVGEffectTwisterDistortion * ppVal );
+__declspec(implementation_key(4423)) HRESULT IVGEffectDistortion::CenterDistortion ( );
+__declspec(implementation_key(4424)) IVGEffectCustomDistortionPtr IVGEffectDistortion::GetCustom ( );
+__declspec(implementation_key(4425)) IVGApplicationPtr IVGEffectPushPullDistortion::GetApplication ( );
+__declspec(implementation_key(4426)) IVGEffectDistortionPtr IVGEffectPushPullDistortion::GetParent ( );
+__declspec(implementation_key(4427)) long IVGEffectPushPullDistortion::GetAmplitude ( );
+__declspec(implementation_key(4428)) void IVGEffectPushPullDistortion::PutAmplitude ( long pVal );
+__declspec(implementation_key(4429)) IVGApplicationPtr IVGEffectZipperDistortion::GetApplication ( );
+__declspec(implementation_key(4430)) IVGEffectDistortionPtr IVGEffectZipperDistortion::GetParent ( );
+__declspec(implementation_key(4431)) long IVGEffectZipperDistortion::GetAmplitude ( );
+__declspec(implementation_key(4432)) void IVGEffectZipperDistortion::PutAmplitude ( long pVal );
+__declspec(implementation_key(4433)) long IVGEffectZipperDistortion::GetFrequency ( );
+__declspec(implementation_key(4434)) void IVGEffectZipperDistortion::PutFrequency ( long pVal );
+__declspec(implementation_key(4435)) VARIANT_BOOL IVGEffectZipperDistortion::GetRandom ( );
+__declspec(implementation_key(4436)) void IVGEffectZipperDistortion::PutRandom ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4437)) VARIANT_BOOL IVGEffectZipperDistortion::GetSmooth ( );
+__declspec(implementation_key(4438)) void IVGEffectZipperDistortion::PutSmooth ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4439)) VARIANT_BOOL IVGEffectZipperDistortion::GetLocal ( );
+__declspec(implementation_key(4440)) void IVGEffectZipperDistortion::PutLocal ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4441)) IVGApplicationPtr IVGEffectTwisterDistortion::GetApplication ( );
+__declspec(implementation_key(4442)) IVGEffectDistortionPtr IVGEffectTwisterDistortion::GetParent ( );
+__declspec(implementation_key(4443)) double IVGEffectTwisterDistortion::GetAngle ( );
+__declspec(implementation_key(4444)) void IVGEffectTwisterDistortion::PutAngle ( double pVal );
+__declspec(implementation_key(4445)) _bstr_t IVGTextRange::GetText ( );
+__declspec(implementation_key(4446)) void IVGTextRange::PutText ( _bstr_t ppVal );
+__declspec(implementation_key(4447)) _bstr_t IVGTextRange::GetWideText ( );
+__declspec(implementation_key(4448)) void IVGTextRange::PutWideText ( _bstr_t ppVal );
+__declspec(implementation_key(4449)) IVGTextCharactersPtr IVGTextRange::GetCharacters ( );
+__declspec(implementation_key(4450)) IVGTextWordsPtr IVGTextRange::GetWords ( );
+__declspec(implementation_key(4451)) IVGTextLinesPtr IVGTextRange::GetLines ( );
+__declspec(implementation_key(4452)) IVGTextParagraphsPtr IVGTextRange::GetParagraphs ( );
+__declspec(implementation_key(4453)) long IVGTextRange::GetStart ( );
+__declspec(implementation_key(4454)) void IVGTextRange::PutStart ( long pVal );
+__declspec(implementation_key(4455)) long IVGTextRange::GetEnd ( );
+__declspec(implementation_key(4456)) void IVGTextRange::PutEnd ( long pVal );
+__declspec(implementation_key(4457)) long IVGTextRange::GetLength ( );
+__declspec(implementation_key(4458)) void IVGTextRange::PutLength ( long pVal );
+__declspec(implementation_key(4459)) IVGTextRangePtr IVGTextRange::Duplicate ( );
+__declspec(implementation_key(4460)) enum cdrFontStyle IVGTextRange::GetStyle ( );
+__declspec(implementation_key(4461)) void IVGTextRange::PutStyle ( enum cdrFontStyle pVal );
+__declspec(implementation_key(4462)) VARIANT_BOOL IVGTextRange::GetBold ( );
+__declspec(implementation_key(4463)) void IVGTextRange::PutBold ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4464)) VARIANT_BOOL IVGTextRange::GetItalic ( );
+__declspec(implementation_key(4465)) void IVGTextRange::PutItalic ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4466)) enum cdrFontLine IVGTextRange::GetUnderline ( );
+__declspec(implementation_key(4467)) void IVGTextRange::PutUnderline ( enum cdrFontLine pVal );
+__declspec(implementation_key(4468)) enum cdrFontLine IVGTextRange::GetStrikethru ( );
+__declspec(implementation_key(4469)) void IVGTextRange::PutStrikethru ( enum cdrFontLine pVal );
+__declspec(implementation_key(4470)) enum cdrFontLine IVGTextRange::GetOverscore ( );
+__declspec(implementation_key(4471)) void IVGTextRange::PutOverscore ( enum cdrFontLine pVal );
+__declspec(implementation_key(4472)) _bstr_t IVGTextRange::GetFont ( );
+__declspec(implementation_key(4473)) void IVGTextRange::PutFont ( _bstr_t pVal );
+__declspec(implementation_key(4474)) float IVGTextRange::GetSize ( );
+__declspec(implementation_key(4475)) void IVGTextRange::PutSize ( float pVal );
+__declspec(implementation_key(4476)) enum cdrFontPosition IVGTextRange::GetPosition ( );
+__declspec(implementation_key(4477)) void IVGTextRange::PutPosition ( enum cdrFontPosition pVal );
+__declspec(implementation_key(4478)) enum cdrFontCase IVGTextRange::GetCase ( );
+__declspec(implementation_key(4479)) void IVGTextRange::PutCase ( enum cdrFontCase pVal );
+__declspec(implementation_key(4480)) float IVGTextRange::GetCharAngle ( );
+__declspec(implementation_key(4481)) void IVGTextRange::PutCharAngle ( float pVal );
+__declspec(implementation_key(4482)) enum cdrAlignment IVGTextRange::GetAlignment ( );
+__declspec(implementation_key(4483)) void IVGTextRange::PutAlignment ( enum cdrAlignment pVal );
+__declspec(implementation_key(4484)) double IVGTextRange::GetFirstLineIndent ( );
+__declspec(implementation_key(4485)) void IVGTextRange::PutFirstLineIndent ( double pVal );
+__declspec(implementation_key(4486)) long IVGTextRange::GetHorizShift ( );
+__declspec(implementation_key(4487)) void IVGTextRange::PutHorizShift ( long pVal );
+__declspec(implementation_key(4488)) long IVGTextRange::GetVertShift ( );
+__declspec(implementation_key(4489)) void IVGTextRange::PutVertShift ( long pVal );
+__declspec(implementation_key(4490)) double IVGTextRange::GetLeftIndent ( );
+__declspec(implementation_key(4491)) void IVGTextRange::PutLeftIndent ( double pVal );
+__declspec(implementation_key(4492)) double IVGTextRange::GetRightIndent ( );
+__declspec(implementation_key(4493)) void IVGTextRange::PutRightIndent ( double pVal );
+__declspec(implementation_key(4494)) float IVGTextRange::GetMinWordSpacing ( );
+__declspec(implementation_key(4495)) void IVGTextRange::PutMinWordSpacing ( float pVal );
+__declspec(implementation_key(4496)) float IVGTextRange::GetMaxWordSpacing ( );
+__declspec(implementation_key(4497)) void IVGTextRange::PutMaxWordSpacing ( float pVal );
+__declspec(implementation_key(4498)) float IVGTextRange::GetMaxCharSpacing ( );
+__declspec(implementation_key(4499)) void IVGTextRange::PutMaxCharSpacing ( float pVal );
+__declspec(implementation_key(4500)) float IVGTextRange::GetParaSpacingBefore ( );
+__declspec(implementation_key(4501)) void IVGTextRange::PutParaSpacingBefore ( float pVal );
+__declspec(implementation_key(4502)) float IVGTextRange::GetParaSpacingAfter ( );
+__declspec(implementation_key(4503)) void IVGTextRange::PutParaSpacingAfter ( float pVal );
+__declspec(implementation_key(4504)) float IVGTextRange::GetCharSpacing ( );
+__declspec(implementation_key(4505)) void IVGTextRange::PutCharSpacing ( float pVal );
+__declspec(implementation_key(4506)) float IVGTextRange::GetLineSpacing ( );
+__declspec(implementation_key(4507)) void IVGTextRange::PutLineSpacing ( float pVal );
+__declspec(implementation_key(4508)) enum cdrLineSpacingType IVGTextRange::GetLineSpacingType ( );
+__declspec(implementation_key(4509)) float IVGTextRange::GetWordSpacing ( );
+__declspec(implementation_key(4510)) void IVGTextRange::PutWordSpacing ( float pVal );
+__declspec(implementation_key(4511)) enum cdrTriState IVGTextRange::GetAutoHyphenate ( );
+__declspec(implementation_key(4512)) void IVGTextRange::PutAutoHyphenate ( enum cdrTriState pVal );
+__declspec(implementation_key(4513)) double IVGTextRange::GetHyphenHotZone ( );
+__declspec(implementation_key(4514)) void IVGTextRange::PutHyphenHotZone ( double pVal );
+__declspec(implementation_key(4515)) long IVGTextRange::GetHyphenMinCharsBefore ( );
+__declspec(implementation_key(4516)) void IVGTextRange::PutHyphenMinCharsBefore ( long pVal );
+__declspec(implementation_key(4517)) long IVGTextRange::GetHyphenMinCharsAfter ( );
+__declspec(implementation_key(4518)) void IVGTextRange::PutHyphenMinCharsAfter ( long pVal );
+__declspec(implementation_key(4519)) long IVGTextRange::GetHyphenMinWordLength ( );
+__declspec(implementation_key(4520)) void IVGTextRange::PutHyphenMinWordLength ( long pVal );
+__declspec(implementation_key(4521)) VARIANT_BOOL IVGTextRange::GetHyphenateCapitals ( );
+__declspec(implementation_key(4522)) void IVGTextRange::PutHyphenateCapitals ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4523)) HRESULT IVGTextRange::Delete ( );
+__declspec(implementation_key(4524)) HRESULT IVGTextRange::Select ( );
+__declspec(implementation_key(4525)) HRESULT IVGTextRange::Copy ( );
+__declspec(implementation_key(4526)) IVGTextRangePtr IVGTextRange::Paste ( );
+__declspec(implementation_key(4527)) HRESULT IVGTextRange::ChangeCase ( enum cdrTextChangeCase Case );
+__declspec(implementation_key(4528)) HRESULT IVGTextRange::SetRange ( long Start, long End );
+__declspec(implementation_key(4529)) enum cdrTextLanguage IVGTextRange::GetLanguageID ( );
+__declspec(implementation_key(4530)) void IVGTextRange::PutLanguageID ( enum cdrTextLanguage pVal );
+__declspec(implementation_key(4531)) enum cdrTextCharSet IVGTextRange::GetCharSet ( );
+__declspec(implementation_key(4532)) void IVGTextRange::PutCharSet ( enum cdrTextCharSet pVal );
+__declspec(implementation_key(4533)) IVGTextRangePtr IVGTextRange::InsertBefore ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font );
+__declspec(implementation_key(4534)) IVGTextRangePtr IVGTextRange::InsertBeforeWide ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font );
+__declspec(implementation_key(4535)) IVGTextRangePtr IVGTextRange::InsertAfter ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font );
+__declspec(implementation_key(4536)) IVGTextRangePtr IVGTextRange::InsertAfterWide ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font );
+__declspec(implementation_key(4537)) IVGTextRangePtr IVGTextRange::Replace ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font );
+__declspec(implementation_key(4538)) IVGTextRangePtr IVGTextRange::ReplaceWide ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font );
+__declspec(implementation_key(4539)) IVGTextRangePtr IVGTextRange::Range ( long Start, long End );
+__declspec(implementation_key(4540)) HRESULT IVGTextRange::SetLineSpacing ( enum cdrLineSpacingType Type, float LineSpacing, float ParaBefore, float ParaAfter );
+__declspec(implementation_key(4541)) IVGTextColumnsPtr IVGTextRange::GetColumns ( );
+__declspec(implementation_key(4542)) IVGTextFramesPtr IVGTextRange::GetFrames ( );
+__declspec(implementation_key(4543)) HRESULT IVGTextRange::Collapse ( VARIANT_BOOL ToEnd );
+__declspec(implementation_key(4544)) HRESULT IVGTextRange::Combine ( struct IVGTextRange * Range );
+__declspec(implementation_key(4545)) VARIANT_BOOL IVGTextRange::InRange ( struct IVGTextRange * Range );
+__declspec(implementation_key(4546)) VARIANT_BOOL IVGTextRange::IsSame ( struct IVGTextRange * Range );
+__declspec(implementation_key(4547)) IVGFillPtr IVGTextRange::GetFill ( );
+__declspec(implementation_key(4548)) IVGOutlinePtr IVGTextRange::GetOutline ( );
+__declspec(implementation_key(4549)) long IVGTextRange::GetRangeKerning ( );
+__declspec(implementation_key(4550)) void IVGTextRange::PutRangeKerning ( long pVal );
+__declspec(implementation_key(4551)) IVGTextTabPositionsPtr IVGTextRange::GetTabs ( );
+__declspec(implementation_key(4552)) enum cdrTextEffect IVGTextRange::GetEffect ( );
+__declspec(implementation_key(4553)) long IVGTextRange::GetDropCapLinesDropped ( );
+__declspec(implementation_key(4554)) void IVGTextRange::PutDropCapLinesDropped ( long pVal );
+__declspec(implementation_key(4555)) double IVGTextRange::GetDropCapDistanceFromText ( );
+__declspec(implementation_key(4556)) void IVGTextRange::PutDropCapDistanceFromText ( double pVal );
+__declspec(implementation_key(4557)) VARIANT_BOOL IVGTextRange::GetDropCapHangingIndent ( );
+__declspec(implementation_key(4558)) void IVGTextRange::PutDropCapHangingIndent ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4559)) _bstr_t IVGTextRange::GetBulletFont ( );
+__declspec(implementation_key(4560)) void IVGTextRange::PutBulletFont ( _bstr_t pVal );
+__declspec(implementation_key(4561)) _bstr_t IVGTextRange::GetBulletSymbol ( );
+__declspec(implementation_key(4562)) void IVGTextRange::PutBulletSymbol ( _bstr_t pVal );
+__declspec(implementation_key(4563)) float IVGTextRange::GetBulletSize ( );
+__declspec(implementation_key(4564)) void IVGTextRange::PutBulletSize ( float pVal );
+__declspec(implementation_key(4565)) float IVGTextRange::GetBulletBaselineShift ( );
+__declspec(implementation_key(4566)) void IVGTextRange::PutBulletBaselineShift ( float pVal );
+__declspec(implementation_key(4567)) double IVGTextRange::GetBulletHorizontalPosition ( );
+__declspec(implementation_key(4568)) void IVGTextRange::PutBulletHorizontalPosition ( double pVal );
+__declspec(implementation_key(4569)) VARIANT_BOOL IVGTextRange::GetBulletHangingIndent ( );
+__declspec(implementation_key(4570)) void IVGTextRange::PutBulletHangingIndent ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4571)) VARIANT_BOOL IVGTextRange::GetIsEmpty ( );
+__declspec(implementation_key(4572)) HRESULT IVGTextRange::ApplyNoEffect ( );
+__declspec(implementation_key(4573)) HRESULT IVGTextRange::ApplyBulletEffect ( _bstr_t Symbol, _bstr_t Font, float Size, float BaselineShift, double HorizontalPosition, VARIANT_BOOL HangingIndent );
+__declspec(implementation_key(4574)) HRESULT IVGTextRange::ApplyDropCapEffect ( long LinesDropped, double DistanceFromText, VARIANT_BOOL HangingIndent );
+__declspec(implementation_key(4575)) VARIANT_BOOL IVGTextRange::GetHyphenateAllCapWords ( );
+__declspec(implementation_key(4576)) void IVGTextRange::PutHyphenateAllCapWords ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4577)) IVGTextRangesPtr IVGTextRange::EnumRanges ( enum cdrTextPropertySet PropertyFilter );
+__declspec(implementation_key(4578)) _variant_t IVGTextRange::Evaluate ( _bstr_t Expression );
+__declspec(implementation_key(4579)) IVGTextRangesPtr IVGTextRange::FindRanges ( _bstr_t Query );
+__declspec(implementation_key(4580)) IVGCurvePtr IVGTextRange::GetBaselines ( );
+__declspec(implementation_key(4581)) HRESULT IVGTextRange::Straighten ( );
+__declspec(implementation_key(4582)) HRESULT IVGTextRange::AlignToBaseline ( );
+__declspec(implementation_key(4583)) IVGCurvePtr IVGTextRange::GetTextLineRects ( );
+__declspec(implementation_key(4584)) IVGFillPtr IVGTextRange::GetCharBackFill ( );
+__declspec(implementation_key(4585)) HRESULT IVGTextRange::CopyAttributes ( struct IVGTextRange * SourceRange );
+__declspec(implementation_key(4586)) long IVGTextRange::GetOpenTypeFeature ( _bstr_t Feature );
+__declspec(implementation_key(4587)) HRESULT IVGTextRange::SetOpenTypeFeature ( _bstr_t Feature, long State );
+__declspec(implementation_key(4588)) long IVGTextRange::GetTextFormatter ( );
+__declspec(implementation_key(4589)) void IVGTextRange::PutTextFormatter ( long pVal );
+__declspec(implementation_key(4590)) HRESULT IVGTextRange::ApplyStyle ( _bstr_t StyleName );
+__declspec(implementation_key(4591)) IVGStylePtr IVGTextRange::GetObjectStyle ( );
+__declspec(implementation_key(4592)) IVGTextIndentLevelStylesPtr IVGTextRange::GetIndentLevelStyles ( );
+__declspec(implementation_key(4593)) long IVGTextRange::GetIndentLevel ( );
+__declspec(implementation_key(4594)) void IVGTextRange::PutIndentLevel ( long pVal );
+__declspec(implementation_key(4595)) IVGTextVariableAxesPtr IVGTextRange::GetVariableAxes ( );
+__declspec(implementation_key(4596)) IUnknownPtr IVGTextCharacters::Get_NewEnum ( );
+__declspec(implementation_key(4597)) IVGTextRangePtr IVGTextCharacters::GetItem ( long Index, long Count );
+__declspec(implementation_key(4598)) long IVGTextCharacters::GetCount ( );
+__declspec(implementation_key(4599)) IVGTextRangePtr IVGTextCharacters::GetAll ( );
+__declspec(implementation_key(4600)) IVGTextRangePtr IVGTextCharacters::GetFirst ( );
+__declspec(implementation_key(4601)) IVGTextRangePtr IVGTextCharacters::GetLast ( );
+__declspec(implementation_key(4602)) IUnknownPtr IVGTextWords::Get_NewEnum ( );
+__declspec(implementation_key(4603)) IVGTextRangePtr IVGTextWords::GetItem ( long Index, long Count );
+__declspec(implementation_key(4604)) long IVGTextWords::GetCount ( );
+__declspec(implementation_key(4605)) IVGTextRangePtr IVGTextWords::GetAll ( );
+__declspec(implementation_key(4606)) IVGTextRangePtr IVGTextWords::GetFirst ( );
+__declspec(implementation_key(4607)) IVGTextRangePtr IVGTextWords::GetLast ( );
+__declspec(implementation_key(4608)) IUnknownPtr IVGTextLines::Get_NewEnum ( );
+__declspec(implementation_key(4609)) IVGTextRangePtr IVGTextLines::GetItem ( long Index, long Count );
+__declspec(implementation_key(4610)) long IVGTextLines::GetCount ( );
+__declspec(implementation_key(4611)) IVGTextRangePtr IVGTextLines::GetAll ( );
+__declspec(implementation_key(4612)) IVGTextRangePtr IVGTextLines::GetFirst ( );
+__declspec(implementation_key(4613)) IVGTextRangePtr IVGTextLines::GetLast ( );
+__declspec(implementation_key(4614)) IUnknownPtr IVGTextParagraphs::Get_NewEnum ( );
+__declspec(implementation_key(4615)) IVGTextRangePtr IVGTextParagraphs::GetItem ( long Index, long Count );
+__declspec(implementation_key(4616)) long IVGTextParagraphs::GetCount ( );
+__declspec(implementation_key(4617)) IVGTextRangePtr IVGTextParagraphs::GetAll ( );
+__declspec(implementation_key(4618)) IVGTextRangePtr IVGTextParagraphs::GetFirst ( );
+__declspec(implementation_key(4619)) IVGTextRangePtr IVGTextParagraphs::GetLast ( );
+__declspec(implementation_key(4620)) IUnknownPtr IVGTextColumns::Get_NewEnum ( );
+__declspec(implementation_key(4621)) IVGTextRangePtr IVGTextColumns::GetItem ( long Index, long Count );
+__declspec(implementation_key(4622)) long IVGTextColumns::GetCount ( );
+__declspec(implementation_key(4623)) IVGTextRangePtr IVGTextColumns::GetAll ( );
+__declspec(implementation_key(4624)) IVGTextRangePtr IVGTextColumns::GetFirst ( );
+__declspec(implementation_key(4625)) IVGTextRangePtr IVGTextColumns::GetLast ( );
+__declspec(implementation_key(4626)) IVGTextRangePtr IVGTextFrame::GetRange ( );
+__declspec(implementation_key(4627)) IVGTextFramePtr IVGTextFrame::GetPrevious ( );
+__declspec(implementation_key(4628)) IVGTextFramePtr IVGTextFrame::GetNext ( );
+__declspec(implementation_key(4629)) long IVGTextFrame::GetIndex ( );
+__declspec(implementation_key(4630)) VARIANT_BOOL IVGTextFrame::GetEmpty ( );
+__declspec(implementation_key(4631)) VARIANT_BOOL IVGTextFrame::GetIsFirst ( );
+__declspec(implementation_key(4632)) VARIANT_BOOL IVGTextFrame::GetIsLast ( );
+__declspec(implementation_key(4633)) enum cdrVerticalAlignment IVGTextFrame::GetVerticalAlignment ( );
+__declspec(implementation_key(4634)) void IVGTextFrame::PutVerticalAlignment ( enum cdrVerticalAlignment pVal );
+__declspec(implementation_key(4635)) VARIANT_BOOL IVGTextFrame::GetMulticolumn ( );
+__declspec(implementation_key(4636)) long IVGTextFrame::GetColumnCount ( );
+__declspec(implementation_key(4637)) double IVGTextFrame::GetColumnWidth ( long Index );
+__declspec(implementation_key(4638)) double IVGTextFrame::GetColumnGutter ( long Index );
+__declspec(implementation_key(4639)) HRESULT IVGTextFrame::SetColumns ( long NumColumns, VARIANT_BOOL EqualColumns, SAFEARRAY * * WidthsAndGutters );
+__declspec(implementation_key(4640)) HRESULT IVGTextFrame::LinkTo ( struct IVGShape * Shape );
+__declspec(implementation_key(4641)) HRESULT IVGTextFrame::UnLink ( );
+__declspec(implementation_key(4642)) IVGShapePtr IVGTextFrame::GetContainer ( );
+__declspec(implementation_key(4643)) VARIANT_BOOL IVGTextFrame::GetIsInsideContainer ( );
+__declspec(implementation_key(4644)) VARIANT_BOOL IVGTextFrame::GetIsFittedToPath ( );
+__declspec(implementation_key(4645)) IVGShapePtr IVGTextFrame::GetPath ( );
+__declspec(implementation_key(4646)) IVGShapePtr IVGTextFrame::GetFrameShape ( );
+__declspec(implementation_key(4647)) IVGFillPtr IVGTextFrame::GetFill ( );
+__declspec(implementation_key(4648)) void IVGTextFrame::PutFill ( struct IVGFill * ppVal );
+__declspec(implementation_key(4649)) IVGOutlinePtr IVGTextFrame::GetOutline ( );
+__declspec(implementation_key(4650)) void IVGTextFrame::PutOutline ( struct IVGOutline * ppVal );
+__declspec(implementation_key(4651)) IUnknownPtr IVGTextFrames::Get_NewEnum ( );
+__declspec(implementation_key(4652)) IVGTextFramePtr IVGTextFrames::GetItem ( long Index );
+__declspec(implementation_key(4653)) long IVGTextFrames::GetCount ( );
+__declspec(implementation_key(4654)) IVGTextRangePtr IVGTextFrames::GetRange ( long Index, long Count );
+__declspec(implementation_key(4655)) IVGTextRangePtr IVGTextFrames::GetAll ( );
+__declspec(implementation_key(4656)) IVGTextFramePtr IVGTextFrames::GetFirst ( );
+__declspec(implementation_key(4657)) IVGTextFramePtr IVGTextFrames::GetLast ( );
+__declspec(implementation_key(4658)) IUnknownPtr IVGTextRanges::Get_NewEnum ( );
+__declspec(implementation_key(4659)) IVGTextRangePtr IVGTextRanges::GetItem ( long Index );
+__declspec(implementation_key(4660)) long IVGTextRanges::GetCount ( );
+__declspec(implementation_key(4661)) IVGTextRangePtr IVGTextRanges::GetFirst ( );
+__declspec(implementation_key(4662)) IVGTextRangePtr IVGTextRanges::GetLast ( );
+__declspec(implementation_key(4663)) IVGTextRangesPtr IVGTextRanges::Reverse ( );
+__declspec(implementation_key(4664)) _bstr_t IVGStyle::GetCategoryName ( );
+__declspec(implementation_key(4665)) SAFEARRAY * IVGStyle::GetAllPropertyNames ( );
+__declspec(implementation_key(4666)) SAFEARRAY * IVGStyle::GetOverridePropertyNames ( );
+__declspec(implementation_key(4667)) VARIANT_BOOL IVGStyle::IsPropertyInherited ( _bstr_t Name );
+__declspec(implementation_key(4668)) _variant_t IVGStyle::GetProperty ( _bstr_t Name );
+__declspec(implementation_key(4669)) HRESULT IVGStyle::SetProperty ( _bstr_t Name, const _variant_t & Value );
+__declspec(implementation_key(4670)) VARIANT_BOOL IVGStyle::ClearProperty ( _bstr_t Name );
+__declspec(implementation_key(4671)) IVGStyleOutlinePtr IVGStyle::GetOutline ( );
+__declspec(implementation_key(4672)) IVGStyleFillPtr IVGStyle::GetFill ( );
+__declspec(implementation_key(4673)) IVGStyleCharacterPtr IVGStyle::GetCharacter ( );
+__declspec(implementation_key(4674)) IVGStyleParagraphPtr IVGStyle::GetParagraph ( );
+__declspec(implementation_key(4675)) IVGStyleFramePtr IVGStyle::GetFrame ( );
+__declspec(implementation_key(4676)) _bstr_t IVGStyle::GetName ( );
+__declspec(implementation_key(4677)) _bstr_t IVGStyle::GetDisplayName ( );
+__declspec(implementation_key(4678)) VARIANT_BOOL IVGStyle::GetIsStyleSet ( );
+__declspec(implementation_key(4679)) VARIANT_BOOL IVGStyle::GetIsObjectDefaults ( );
+__declspec(implementation_key(4680)) _bstr_t IVGStyle::GetDisplayCategoryName ( );
+__declspec(implementation_key(4681)) IVGStylePtr IVGStyle::GetBasedOn ( );
+__declspec(implementation_key(4682)) IVGStylesPtr IVGStyle::GetDerivedStyles ( );
+__declspec(implementation_key(4683)) _bstr_t IVGStyle::ToString ( );
+__declspec(implementation_key(4684)) VARIANT_BOOL IVGStyle::StringAssign ( _bstr_t StyleString );
+__declspec(implementation_key(4685)) _bstr_t IVGStyle::GetPropertyAsString ( _bstr_t Name );
+__declspec(implementation_key(4686)) VARIANT_BOOL IVGStyle::SetPropertyAsString ( _bstr_t Name, _bstr_t Value );
+__declspec(implementation_key(4687)) VARIANT_BOOL IVGStyle::Rename ( _bstr_t NewName );
+__declspec(implementation_key(4688)) VARIANT_BOOL IVGStyle::SetBasedOn ( _bstr_t NewParent );
+__declspec(implementation_key(4689)) VARIANT_BOOL IVGStyle::Delete ( );
+__declspec(implementation_key(4690)) HRESULT IVGStyle::Assign ( struct IVGStyle * pVal );
+__declspec(implementation_key(4691)) IVGStylePtr IVGStyle::GetCopy ( );
+__declspec(implementation_key(4692)) IVGStyleTransparencyPtr IVGStyle::GetTransparency ( );
+__declspec(implementation_key(4693)) IVGStylePtr IVGStyleOutline::GetStyle ( );
+__declspec(implementation_key(4694)) enum cdrOutlineType IVGStyleOutline::GetType ( );
+__declspec(implementation_key(4695)) void IVGStyleOutline::PutType ( enum cdrOutlineType pVal );
+__declspec(implementation_key(4696)) VARIANT_BOOL IVGStyleOutline::GetOverprint ( );
+__declspec(implementation_key(4697)) void IVGStyleOutline::PutOverprint ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4698)) VARIANT_BOOL IVGStyleOutline::GetBehindFill ( );
+__declspec(implementation_key(4699)) void IVGStyleOutline::PutBehindFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4700)) VARIANT_BOOL IVGStyleOutline::GetScaleWithShape ( );
+__declspec(implementation_key(4701)) void IVGStyleOutline::PutScaleWithShape ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4702)) double IVGStyleOutline::GetWidth ( );
+__declspec(implementation_key(4703)) void IVGStyleOutline::PutWidth ( double pVal );
+__declspec(implementation_key(4704)) IVGColorPtr IVGStyleOutline::GetColor ( );
+__declspec(implementation_key(4705)) void IVGStyleOutline::PutColor ( struct IVGColor * ppVal );
+__declspec(implementation_key(4706)) VARIANT_BOOL IVGStyleOutline::GetOverlapArrow ( );
+__declspec(implementation_key(4707)) void IVGStyleOutline::PutOverlapArrow ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4708)) VARIANT_BOOL IVGStyleOutline::GetShareArrow ( );
+__declspec(implementation_key(4709)) void IVGStyleOutline::PutShareArrow ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4710)) double IVGStyleOutline::GetMiterLimit ( );
+__declspec(implementation_key(4711)) void IVGStyleOutline::PutMiterLimit ( double pVal );
+__declspec(implementation_key(4712)) long IVGStyleOutline::GetNibStretch ( );
+__declspec(implementation_key(4713)) void IVGStyleOutline::PutNibStretch ( long pVal );
+__declspec(implementation_key(4714)) double IVGStyleOutline::GetNibAngle ( );
+__declspec(implementation_key(4715)) void IVGStyleOutline::PutNibAngle ( double pVal );
+__declspec(implementation_key(4716)) double IVGStyleOutline::GetWidelineWidth ( );
+__declspec(implementation_key(4717)) void IVGStyleOutline::PutWidelineWidth ( double pVal );
+__declspec(implementation_key(4718)) enum cdrOutlineLineCaps IVGStyleOutline::GetLineCaps ( );
+__declspec(implementation_key(4719)) void IVGStyleOutline::PutLineCaps ( enum cdrOutlineLineCaps pVal );
+__declspec(implementation_key(4720)) enum cdrOutlineLineJoin IVGStyleOutline::GetLineJoin ( );
+__declspec(implementation_key(4721)) void IVGStyleOutline::PutLineJoin ( enum cdrOutlineLineJoin pVal );
+__declspec(implementation_key(4722)) enum cdrOutlineJustification IVGStyleOutline::GetJustification ( );
+__declspec(implementation_key(4723)) void IVGStyleOutline::PutJustification ( enum cdrOutlineJustification pVal );
+__declspec(implementation_key(4724)) enum cdrOutlineDashAdjust IVGStyleOutline::GetAdjustDashes ( );
+__declspec(implementation_key(4725)) void IVGStyleOutline::PutAdjustDashes ( enum cdrOutlineDashAdjust pVal );
+__declspec(implementation_key(4726)) IVGStylePtr IVGStyleFill::GetStyle ( );
+__declspec(implementation_key(4727)) enum cdrFillStyleType IVGStyleFill::GetType ( );
+__declspec(implementation_key(4728)) void IVGStyleFill::PutType ( enum cdrFillStyleType pVal );
+__declspec(implementation_key(4729)) VARIANT_BOOL IVGStyleFill::GetOverprint ( );
+__declspec(implementation_key(4730)) void IVGStyleFill::PutOverprint ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4731)) VARIANT_BOOL IVGStyleFill::GetWindingFill ( );
+__declspec(implementation_key(4732)) void IVGStyleFill::PutWindingFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4733)) enum cdrFountainFillType IVGStyleFill::GetFountainFillType ( );
+__declspec(implementation_key(4734)) void IVGStyleFill::PutFountainFillType ( enum cdrFountainFillType pVal );
+__declspec(implementation_key(4735)) long IVGStyleFill::GetEdgePad ( );
+__declspec(implementation_key(4736)) void IVGStyleFill::PutEdgePad ( long pVal );
+__declspec(implementation_key(4737)) long IVGStyleFill::GetFountainCenterOffsetX ( );
+__declspec(implementation_key(4738)) void IVGStyleFill::PutFountainCenterOffsetX ( long pVal );
+__declspec(implementation_key(4739)) long IVGStyleFill::GetFountainCenterOffsetY ( );
+__declspec(implementation_key(4740)) void IVGStyleFill::PutFountainCenterOffsetY ( long pVal );
+__declspec(implementation_key(4741)) long IVGStyleFill::GetFountainSteps ( );
+__declspec(implementation_key(4742)) void IVGStyleFill::PutFountainSteps ( long pVal );
+__declspec(implementation_key(4743)) enum cdrFountainFillBlendType IVGStyleFill::GetFountainBlendType ( );
+__declspec(implementation_key(4744)) void IVGStyleFill::PutFountainBlendType ( enum cdrFountainFillBlendType pVal );
+__declspec(implementation_key(4745)) long IVGStyleFill::GetMidPoint ( );
+__declspec(implementation_key(4746)) void IVGStyleFill::PutMidPoint ( long pVal );
+__declspec(implementation_key(4747)) VARIANT_BOOL IVGStyleFill::GetFlipColors ( );
+__declspec(implementation_key(4748)) void IVGStyleFill::PutFlipColors ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4749)) _bstr_t IVGStyleFill::GetPostScriptName ( );
+__declspec(implementation_key(4750)) void IVGStyleFill::PutPostScriptName ( _bstr_t pVal );
+__declspec(implementation_key(4751)) double IVGStyleFill::GetTileWidth ( );
+__declspec(implementation_key(4752)) void IVGStyleFill::PutTileWidth ( double pVal );
+__declspec(implementation_key(4753)) double IVGStyleFill::GetTileHeight ( );
+__declspec(implementation_key(4754)) void IVGStyleFill::PutTileHeight ( double pVal );
+__declspec(implementation_key(4755)) double IVGStyleFill::GetTileOriginX ( );
+__declspec(implementation_key(4756)) void IVGStyleFill::PutTileOriginX ( double pVal );
+__declspec(implementation_key(4757)) double IVGStyleFill::GetTileOriginY ( );
+__declspec(implementation_key(4758)) void IVGStyleFill::PutTileOriginY ( double pVal );
+__declspec(implementation_key(4759)) enum cdrTileOffsetType IVGStyleFill::GetTileOffsetType ( );
+__declspec(implementation_key(4760)) void IVGStyleFill::PutTileOffsetType ( enum cdrTileOffsetType pVal );
+__declspec(implementation_key(4761)) long IVGStyleFill::GetTileOffset ( );
+__declspec(implementation_key(4762)) void IVGStyleFill::PutTileOffset ( long pVal );
+__declspec(implementation_key(4763)) double IVGStyleFill::GetRotationAngle ( );
+__declspec(implementation_key(4764)) void IVGStyleFill::PutRotationAngle ( double pVal );
+__declspec(implementation_key(4765)) double IVGStyleFill::GetSkewAngle ( );
+__declspec(implementation_key(4766)) void IVGStyleFill::PutSkewAngle ( double pVal );
+__declspec(implementation_key(4767)) VARIANT_BOOL IVGStyleFill::GetMirrorFill ( );
+__declspec(implementation_key(4768)) void IVGStyleFill::PutMirrorFill ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4769)) VARIANT_BOOL IVGStyleFill::GetTransformWithShape ( );
+__declspec(implementation_key(4770)) void IVGStyleFill::PutTransformWithShape ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4771)) IVGColorPtr IVGStyleFill::GetPrimaryColor ( );
+__declspec(implementation_key(4772)) IVGColorPtr IVGStyleFill::GetSecondaryColor ( );
+__declspec(implementation_key(4773)) VARIANT_BOOL IVGStyleFill::GetMirrorFillX ( );
+__declspec(implementation_key(4774)) void IVGStyleFill::PutMirrorFillX ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4775)) VARIANT_BOOL IVGStyleFill::GetMirrorFillY ( );
+__declspec(implementation_key(4776)) void IVGStyleFill::PutMirrorFillY ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4777)) double IVGStyleFill::GetFountainCenterXOffset ( );
+__declspec(implementation_key(4778)) void IVGStyleFill::PutFountainCenterXOffset ( double pVal );
+__declspec(implementation_key(4779)) double IVGStyleFill::GetFountainCenterYOffset ( );
+__declspec(implementation_key(4780)) void IVGStyleFill::PutFountainCenterYOffset ( double pVal );
+__declspec(implementation_key(4781)) double IVGStyleFill::GetFountainBlendAcceleration ( );
+__declspec(implementation_key(4782)) void IVGStyleFill::PutFountainBlendAcceleration ( double pVal );
+__declspec(implementation_key(4783)) double IVGStyleFill::GetFountainScaleX ( );
+__declspec(implementation_key(4784)) void IVGStyleFill::PutFountainScaleX ( double pVal );
+__declspec(implementation_key(4785)) double IVGStyleFill::GetFountainScaleY ( );
+__declspec(implementation_key(4786)) void IVGStyleFill::PutFountainScaleY ( double pVal );
+__declspec(implementation_key(4787)) VARIANT_BOOL IVGStyleFill::GetFountainAnisotropic ( );
+__declspec(implementation_key(4788)) void IVGStyleFill::PutFountainAnisotropic ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4789)) enum cdrFountainFillSpreadMethod IVGStyleFill::GetFountainSpreadMethod ( );
+__declspec(implementation_key(4790)) void IVGStyleFill::PutFountainSpreadMethod ( enum cdrFountainFillSpreadMethod pVal );
+__declspec(implementation_key(4791)) unsigned char IVGStyleFill::GetPrimaryOpacity ( );
+__declspec(implementation_key(4792)) void IVGStyleFill::PutPrimaryOpacity ( unsigned char pVal );
+__declspec(implementation_key(4793)) unsigned char IVGStyleFill::GetSecondaryOpacity ( );
+__declspec(implementation_key(4794)) void IVGStyleFill::PutSecondaryOpacity ( unsigned char pVal );
+__declspec(implementation_key(4795)) enum cdrMergeMode IVGStyleFill::GetMergeMode ( );
+__declspec(implementation_key(4796)) void IVGStyleFill::PutMergeMode ( enum cdrMergeMode pVal );
+__declspec(implementation_key(4797)) VARIANT_BOOL IVGStyleFill::SaveFill ( _bstr_t FileName, struct IVGFillMetadata * Metadata );
+__declspec(implementation_key(4798)) VARIANT_BOOL IVGStyleFill::LoadFill ( _bstr_t FileName, struct IVGFillMetadata * * Metadata );
+__declspec(implementation_key(4799)) IVGStylePtr IVGStyleCharacter::GetStyle ( );
+__declspec(implementation_key(4800)) IVGStylePtr IVGStyleParagraph::GetStyle ( );
+__declspec(implementation_key(4801)) IVGStylePtr IVGStyleFrame::GetStyle ( );
+__declspec(implementation_key(4802)) long IVGStyles::GetCount ( );
+__declspec(implementation_key(4803)) IVGStylePtr IVGStyles::GetItem ( long Index );
+__declspec(implementation_key(4804)) IUnknownPtr IVGStyles::Get_NewEnum ( );
+__declspec(implementation_key(4805)) IVGStylePtr IVGStyles::Find ( _bstr_t Name );
+__declspec(implementation_key(4806)) IVGStylePtr IVGStyles::GetFirst ( );
+__declspec(implementation_key(4807)) IVGStylePtr IVGStyles::GetLast ( );
+__declspec(implementation_key(4808)) IVGStylePtr IVGStyleTransparency::GetStyle ( );
+__declspec(implementation_key(4809)) IVGStyleFillPtr IVGStyleTransparency::GetFill ( );
+__declspec(implementation_key(4810)) enum cdrMergeMode IVGStyleTransparency::GetMode ( );
+__declspec(implementation_key(4811)) void IVGStyleTransparency::PutMode ( enum cdrMergeMode pVal );
+__declspec(implementation_key(4812)) double IVGStyleTransparency::GetUniformTransparency ( );
+__declspec(implementation_key(4813)) void IVGStyleTransparency::PutUniformTransparency ( double pVal );
+__declspec(implementation_key(4814)) double IVGStyleTransparency::GetWhiteTransparency ( );
+__declspec(implementation_key(4815)) void IVGStyleTransparency::PutWhiteTransparency ( double pVal );
+__declspec(implementation_key(4816)) double IVGStyleTransparency::GetBlackTransparency ( );
+__declspec(implementation_key(4817)) void IVGStyleTransparency::PutBlackTransparency ( double pVal );
+__declspec(implementation_key(4818)) enum cdrTransparencyAppliedTo IVGStyleTransparency::GetAppliesTo ( );
+__declspec(implementation_key(4819)) void IVGStyleTransparency::PutAppliesTo ( enum cdrTransparencyAppliedTo pVal );
+__declspec(implementation_key(4820)) HRESULT IVGToolShape::OnGenerateShape ( struct IVGLayer * Parent, struct IVGProperties * ObjectProperties, struct IVGStyle * pStyleAttributes, struct IVGTransformMatrix * pTransformation, VARIANT_BOOL IsPreviewOnly );
+__declspec(implementation_key(4821)) IVGStylesPtr IVGStyleSheet::GetStyles ( );
+__declspec(implementation_key(4822)) IVGStylesPtr IVGStyleSheet::GetStyleSets ( );
+__declspec(implementation_key(4823)) IVGStylesPtr IVGStyleSheet::GetObjectDefaults ( );
+__declspec(implementation_key(4824)) IVGStylesPtr IVGStyleSheet::GetAllStyles ( );
+__declspec(implementation_key(4825)) IVGStylesPtr IVGStyleSheet::GetAllStyleSets ( );
+__declspec(implementation_key(4826)) IVGStylePtr IVGStyleSheet::FindStyle ( _bstr_t Name );
+__declspec(implementation_key(4827)) IVGStylesPtr IVGStyleSheet::CreateStyleFromShape ( struct IVGShape * Shape, _bstr_t Category, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4828)) IVGStylesPtr IVGStyleSheet::CreateStyleFromShapeRange ( struct IVGShapeRange * ShapeRange, _bstr_t Category, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4829)) IVGStylesPtr IVGStyleSheet::CreateStyleFromTextRange ( struct IVGTextRange * TextRange, _bstr_t Category, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4830)) IVGStylesPtr IVGStyleSheet::CreateStyleSetFromShape ( struct IVGShape * Shape, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4831)) IVGStylesPtr IVGStyleSheet::CreateStyleSetFromShapeRange ( struct IVGShapeRange * ShapeRange, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4832)) IVGStylesPtr IVGStyleSheet::CreateStyleSetFromTextRange ( struct IVGTextRange * TextRange, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4833)) IVGStylePtr IVGStyleSheet::CreateStyle ( _bstr_t Category, _bstr_t BasedOn, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4834)) IVGStylePtr IVGStyleSheet::CreateStyleSet ( _bstr_t BasedOn, _bstr_t Name, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4835)) VARIANT_BOOL IVGStyleSheet::Export ( _bstr_t FileName, VARIANT_BOOL Styles, VARIANT_BOOL StyleSets, VARIANT_BOOL ObjectDefaults, VARIANT_BOOL ColorStyles );
+__declspec(implementation_key(4836)) VARIANT_BOOL IVGStyleSheet::Import ( _bstr_t FileName, VARIANT_BOOL MergeStyles, VARIANT_BOOL Styles, VARIANT_BOOL StyleSets, VARIANT_BOOL ObjectDefaults, VARIANT_BOOL ColorStyles );
+__declspec(implementation_key(4837)) IVGColorsPtr IVGStyleSheet::GetAllColorStyles ( );
+__declspec(implementation_key(4838)) IVGColorPtr IVGStyleSheet::CreateColorStyle ( _bstr_t Name, struct IVGColor * Color, long HarmonyIndex, long IndexInHarmony, VARIANT_BOOL ReplaceExisting );
+__declspec(implementation_key(4839)) HRESULT IVGStyleSheet::DeleteAllColorStyles ( );
+__declspec(implementation_key(4840)) HRESULT IVGStyleSheet::DeleteColorStyle ( _bstr_t Name );
+__declspec(implementation_key(4841)) HRESULT IVGStyleSheet::RenameColorStyle ( _bstr_t OldName, _bstr_t NewName );
+__declspec(implementation_key(4842)) IVGApplicationPtr IVGDataItems::GetApplication ( );
+__declspec(implementation_key(4843)) IVGShapePtr IVGDataItems::GetParent ( );
+__declspec(implementation_key(4844)) long IVGDataItems::GetCount ( );
+__declspec(implementation_key(4845)) IVGDataItemPtr IVGDataItems::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(4846)) IUnknownPtr IVGDataItems::Get_NewEnum ( );
+__declspec(implementation_key(4847)) IVGDataItemPtr IVGDataItems::Add ( struct IVGDataField * DataField, const _variant_t & Value );
+__declspec(implementation_key(4848)) HRESULT IVGDataItems::CopyFrom ( struct IVGShape * Shape );
+__declspec(implementation_key(4849)) HRESULT IVGDataItems::Clear ( );
+__declspec(implementation_key(4850)) IVGApplicationPtr IVGDataItem::GetApplication ( );
+__declspec(implementation_key(4851)) IVGDataItemsPtr IVGDataItem::GetParent ( );
+__declspec(implementation_key(4852)) _variant_t IVGDataItem::GetValue ( );
+__declspec(implementation_key(4853)) void IVGDataItem::PutValue ( const _variant_t & pVal );
+__declspec(implementation_key(4854)) IVGDataFieldPtr IVGDataItem::GetDataField ( );
+__declspec(implementation_key(4855)) HRESULT IVGDataItem::Clear ( );
+__declspec(implementation_key(4856)) _bstr_t IVGDataItem::GetFormattedValue ( );
+__declspec(implementation_key(4857)) IVGApplicationPtr IVGDataField::GetApplication ( );
+__declspec(implementation_key(4858)) IVGDataFieldsPtr IVGDataField::GetParent ( );
+__declspec(implementation_key(4859)) _bstr_t IVGDataField::GetName ( );
+__declspec(implementation_key(4860)) void IVGDataField::PutName ( _bstr_t pVal );
+__declspec(implementation_key(4861)) enum cdrDataFormatType IVGDataField::GetFormatType ( );
+__declspec(implementation_key(4862)) _bstr_t IVGDataField::GetFormat ( );
+__declspec(implementation_key(4863)) void IVGDataField::PutFormat ( _bstr_t pVal );
+__declspec(implementation_key(4864)) long IVGDataField::GetFieldWidth ( );
+__declspec(implementation_key(4865)) void IVGDataField::PutFieldWidth ( long pVal );
+__declspec(implementation_key(4866)) VARIANT_BOOL IVGDataField::GetAppDefault ( );
+__declspec(implementation_key(4867)) void IVGDataField::PutAppDefault ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4868)) VARIANT_BOOL IVGDataField::GetDocDefault ( );
+__declspec(implementation_key(4869)) void IVGDataField::PutDocDefault ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4870)) VARIANT_BOOL IVGDataField::GetSummarizeGroup ( );
+__declspec(implementation_key(4871)) void IVGDataField::PutSummarizeGroup ( VARIANT_BOOL pVal );
+__declspec(implementation_key(4872)) HRESULT IVGDataField::Delete ( );
+__declspec(implementation_key(4873)) HRESULT IVGDataField::Reorder ( long NewIndex );
+__declspec(implementation_key(4874)) long IVGDataField::GetIndex ( );
+__declspec(implementation_key(4875)) _bstr_t IVGDataField::GetTarget ( );
+__declspec(implementation_key(4876)) void IVGDataField::PutTarget ( _bstr_t pVal );
+__declspec(implementation_key(4877)) _bstr_t IVGDataField::GetDefaultValue ( );
+__declspec(implementation_key(4878)) void IVGDataField::PutDefaultValue ( _bstr_t pVal );
+__declspec(implementation_key(4879)) _bstr_t IVGDataField::GetConstraint ( );
+__declspec(implementation_key(4880)) void IVGDataField::PutConstraint ( _bstr_t pVal );
+__declspec(implementation_key(4881)) enum cdrDataType IVGDataField::GetDataType ( );
+__declspec(implementation_key(4882)) void IVGDataField::PutDataType ( enum cdrDataType pVal );
+__declspec(implementation_key(4883)) _bstr_t IVGDataField::GetParentName ( );
+__declspec(implementation_key(4884)) void IVGDataField::PutParentName ( _bstr_t pVal );
+__declspec(implementation_key(4885)) _bstr_t IVGDataField::GetElementName ( );
+__declspec(implementation_key(4886)) void IVGDataField::PutElementName ( _bstr_t pVal );
+__declspec(implementation_key(4887)) IVGApplicationPtr IVGDataFields::GetApplication ( );
+__declspec(implementation_key(4888)) IVGDocumentPtr IVGDataFields::GetParent ( );
+__declspec(implementation_key(4889)) long IVGDataFields::GetCount ( );
+__declspec(implementation_key(4890)) IVGDataFieldPtr IVGDataFields::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(4891)) IUnknownPtr IVGDataFields::Get_NewEnum ( );
+__declspec(implementation_key(4892)) IVGDataFieldPtr IVGDataFields::Add ( _bstr_t Name, _bstr_t Format, VARIANT_BOOL AppDefault, VARIANT_BOOL DocDefault, VARIANT_BOOL SummarizeGroup );
+__declspec(implementation_key(4893)) IVGDataFieldPtr IVGDataFields::AddEx ( _bstr_t Name, enum cdrDataType DataType, _bstr_t DefaultValue, _bstr_t Constraint, _bstr_t Target, _bstr_t Format, VARIANT_BOOL AppDefault, VARIANT_BOOL DocDefault, VARIANT_BOOL SummarizeGroup, long FieldWidth );
+__declspec(implementation_key(4894)) VARIANT_BOOL IVGDataFields::IsPresent ( _bstr_t FieldName );
+__declspec(implementation_key(4895)) IVGDataFieldPtr IVGDataFields::AddEx2 ( _bstr_t ParentName, _bstr_t ElementName, _bstr_t Name, enum cdrDataType DataType, _bstr_t DefaultValue, _bstr_t Constraint, _bstr_t Target, _bstr_t Format, VARIANT_BOOL AppDefault, VARIANT_BOOL DocDefault, VARIANT_BOOL SummarizeGroup, long FieldWidth );
+__declspec(implementation_key(4896)) IVGSymbolDefinitionPtr IVGSymbol::GetDefinition ( );
+__declspec(implementation_key(4897)) IVGShapeRangePtr IVGSymbol::RevertToShapes ( );
+__declspec(implementation_key(4898)) _bstr_t IVGSymbolDefinition::GetName ( );
+__declspec(implementation_key(4899)) void IVGSymbolDefinition::PutName ( _bstr_t pVal );
+__declspec(implementation_key(4900)) _bstr_t IVGSymbolDefinition::GetDescription ( );
+__declspec(implementation_key(4901)) void IVGSymbolDefinition::PutDescription ( _bstr_t pVal );
+__declspec(implementation_key(4902)) VARIANT_BOOL IVGSymbolDefinition::GetLinked ( );
+__declspec(implementation_key(4903)) _bstr_t IVGSymbolDefinition::GetLinkLibraryPath ( );
+__declspec(implementation_key(4904)) VARIANT_BOOL IVGSymbolDefinition::GetNested ( );
+__declspec(implementation_key(4905)) VARIANT_BOOL IVGSymbolDefinition::GetHasLinks ( );
+__declspec(implementation_key(4906)) VARIANT_BOOL IVGSymbolDefinition::GetIsLinkBroken ( );
+__declspec(implementation_key(4907)) VARIANT_BOOL IVGSymbolDefinition::GetIsLinkUpdated ( );
+__declspec(implementation_key(4908)) VARIANT_BOOL IVGSymbolDefinition::GetHasBrokenLinks ( );
+__declspec(implementation_key(4909)) VARIANT_BOOL IVGSymbolDefinition::GetHasUpdatedLinks ( );
+__declspec(implementation_key(4910)) IVGSymbolDefinitionsPtr IVGSymbolDefinition::GetNestedSymbols ( );
+__declspec(implementation_key(4911)) VARIANT_BOOL IVGSymbolDefinition::GetEditable ( );
+__declspec(implementation_key(4912)) long IVGSymbolDefinition::GetInstanceCount ( );
+__declspec(implementation_key(4913)) IVGShapeRangePtr IVGSymbolDefinition::GetInstances ( );
+__declspec(implementation_key(4914)) HRESULT IVGSymbolDefinition::EnterEditMode ( );
+__declspec(implementation_key(4915)) HRESULT IVGSymbolDefinition::LeaveEditMode ( );
+__declspec(implementation_key(4916)) HRESULT IVGSymbolDefinition::Delete ( );
+__declspec(implementation_key(4917)) HRESULT IVGSymbolDefinition::Copy ( );
+__declspec(implementation_key(4918)) IVGSymbolDefinitionPtr IVGSymbolDefinition::Duplicate ( _bstr_t Name );
+__declspec(implementation_key(4919)) HRESULT IVGSymbolDefinition::BreakLink ( );
+__declspec(implementation_key(4920)) HRESULT IVGSymbolDefinition::UpdateLinks ( );
+__declspec(implementation_key(4921)) HRESULT IVGSymbolDefinition::FixLink ( _bstr_t LibraryPath );
+__declspec(implementation_key(4922)) enum cdrSymbolType IVGSymbolDefinition::GetType ( );
+__declspec(implementation_key(4923)) IVGSymbolDefinitionPtr IVGSymbolDefinitions::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(4924)) long IVGSymbolDefinitions::GetCount ( );
+__declspec(implementation_key(4925)) IUnknownPtr IVGSymbolDefinitions::Get_NewEnum ( );
+__declspec(implementation_key(4926)) IVGSymbolDefinitionsPtr IVGSymbolLibrary::GetSymbols ( );
+__declspec(implementation_key(4927)) _bstr_t IVGSymbolLibrary::GetName ( );
+__declspec(implementation_key(4928)) _bstr_t IVGSymbolLibrary::GetFilePath ( );
+__declspec(implementation_key(4929)) VARIANT_BOOL IVGSymbolLibrary::GetReadOnly ( );
+__declspec(implementation_key(4930)) HRESULT IVGSymbolLibrary::Delete ( );
+__declspec(implementation_key(4931)) HRESULT IVGSymbolLibrary::PurgeUnusedSymbols ( );
+__declspec(implementation_key(4932)) IVGSymbolDefinitionPtr IVGSymbolLibrary::Paste ( _bstr_t Name );
+__declspec(implementation_key(4933)) IVGSymbolLibraryPtr IVGSymbolLibraries::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(4934)) long IVGSymbolLibraries::GetCount ( );
+__declspec(implementation_key(4935)) IVGSymbolLibraryPtr IVGSymbolLibraries::Add ( _bstr_t FileName, VARIANT_BOOL CopyLocally );
+__declspec(implementation_key(4936)) long IVGSymbolLibraries::AddFromFolder ( _bstr_t Folder, VARIANT_BOOL Recursive, VARIANT_BOOL CopyLocally );
+__declspec(implementation_key(4937)) IUnknownPtr IVGSymbolLibraries::Get_NewEnum ( );
+__declspec(implementation_key(4938)) enum cdrTreeNodeType IVGTreeNode::GetType ( );
+__declspec(implementation_key(4939)) enum cdrShapeType IVGTreeNode::GetShapeType ( );
+__declspec(implementation_key(4940)) IVGShapePtr IVGTreeNode::GetShape ( );
+__declspec(implementation_key(4941)) IVGShapePtr IVGTreeNode::GetVirtualShape ( );
+__declspec(implementation_key(4942)) IVGPagePtr IVGTreeNode::GetPage ( );
+__declspec(implementation_key(4943)) IVGLayerPtr IVGTreeNode::GetLayer ( );
+__declspec(implementation_key(4944)) IVGDocumentPtr IVGTreeNode::GetDocument ( );
+__declspec(implementation_key(4945)) IVGTreeNodePtr IVGTreeNode::GetNext ( );
+__declspec(implementation_key(4946)) IVGTreeNodePtr IVGTreeNode::GetPrevious ( );
+__declspec(implementation_key(4947)) IVGTreeNodePtr IVGTreeNode::GetParent ( );
+__declspec(implementation_key(4948)) IVGTreeNodePtr IVGTreeNode::GetFirstChild ( );
+__declspec(implementation_key(4949)) IVGTreeNodePtr IVGTreeNode::GetLastChild ( );
+__declspec(implementation_key(4950)) IVGTreeNodesPtr IVGTreeNode::GetChildren ( );
+__declspec(implementation_key(4951)) VARIANT_BOOL IVGTreeNode::GetIsGroupChild ( );
+__declspec(implementation_key(4952)) VARIANT_BOOL IVGTreeNode::GetSelected ( );
+__declspec(implementation_key(4953)) IVGTreeNodePtr IVGTreeNode::GetNextSelected ( );
+__declspec(implementation_key(4954)) VARIANT_BOOL IVGTreeNode::UnLink ( );
+__declspec(implementation_key(4955)) VARIANT_BOOL IVGTreeNode::LinkBefore ( struct IVGTreeNode * TreeNode );
+__declspec(implementation_key(4956)) VARIANT_BOOL IVGTreeNode::LinkAfter ( struct IVGTreeNode * TreeNode );
+__declspec(implementation_key(4957)) VARIANT_BOOL IVGTreeNode::LinkAsChildOf ( struct IVGTreeNode * TreeNode );
+__declspec(implementation_key(4958)) VARIANT_BOOL IVGTreeNode::MoveToFirst ( );
+__declspec(implementation_key(4959)) VARIANT_BOOL IVGTreeNode::MoveToLast ( );
+__declspec(implementation_key(4960)) VARIANT_BOOL IVGTreeNode::MoveBefore ( struct IVGTreeNode * TreeNode );
+__declspec(implementation_key(4961)) VARIANT_BOOL IVGTreeNode::MoveAfter ( struct IVGTreeNode * TreeNode );
+__declspec(implementation_key(4962)) VARIANT_BOOL IVGTreeNode::IsDescendentOf ( struct IVGTreeNode * TreeNode );
+__declspec(implementation_key(4963)) HRESULT IVGTreeNode::Delete ( );
+__declspec(implementation_key(4964)) IVGTreeNodePtr IVGTreeNode::GetCopy ( );
+__declspec(implementation_key(4965)) HRESULT IVGTreeNode::SwapData ( struct IVGTreeNode * TreeNode );
+__declspec(implementation_key(4966)) HRESULT IVGTreeNode::SwapGroupData ( struct IVGTreeNode * GroupNode );
+__declspec(implementation_key(4967)) long IVGTreeNode::GetHandle ( );
+__declspec(implementation_key(4968)) _bstr_t IVGTreeNode::GetName ( );
+__declspec(implementation_key(4969)) void IVGTreeNode::PutName ( _bstr_t pVal );
+__declspec(implementation_key(4970)) IVGTreeNodePtr IVGTreeNodes::GetItem ( long Index );
+__declspec(implementation_key(4971)) long IVGTreeNodes::GetCount ( );
+__declspec(implementation_key(4972)) IUnknownPtr IVGTreeNodes::Get_NewEnum ( );
+__declspec(implementation_key(4973)) long IVGSpread::GetIndex ( );
+__declspec(implementation_key(4974)) double IVGSpread::GetSizeWidth ( );
+__declspec(implementation_key(4975)) double IVGSpread::GetSizeHeight ( );
+__declspec(implementation_key(4976)) double IVGSpread::GetLeftX ( );
+__declspec(implementation_key(4977)) double IVGSpread::GetRightX ( );
+__declspec(implementation_key(4978)) double IVGSpread::GetTopY ( );
+__declspec(implementation_key(4979)) double IVGSpread::GetBottomY ( );
+__declspec(implementation_key(4980)) double IVGSpread::GetCenterX ( );
+__declspec(implementation_key(4981)) double IVGSpread::GetCenterY ( );
+__declspec(implementation_key(4982)) IVGRectPtr IVGSpread::GetBoundingBox ( );
+__declspec(implementation_key(4983)) HRESULT IVGSpread::GetBoundingBox ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(4984)) IVGPagesPtr IVGSpread::GetPages ( );
+__declspec(implementation_key(4985)) IVGSpreadPtr IVGSpread::GetNext ( );
+__declspec(implementation_key(4986)) IVGSpreadPtr IVGSpread::GetPrevious ( );
+__declspec(implementation_key(4987)) IVGLayersPtr IVGSpread::GetLayers ( );
+__declspec(implementation_key(4988)) IVGLayersPtr IVGSpread::GetAllLayers ( );
+__declspec(implementation_key(4989)) IVGLayerPtr IVGSpread::GetActiveLayer ( );
+__declspec(implementation_key(4990)) IVGShapesPtr IVGSpread::GetShapes ( );
+__declspec(implementation_key(4991)) IVGShapesPtr IVGSpread::GetSelectableShapes ( );
+__declspec(implementation_key(4992)) IVGLayerPtr IVGSpread::CreateLayer ( _bstr_t LayerName );
+__declspec(implementation_key(4993)) IVGShapeRangePtr IVGSpread::GetGuides ( enum cdrGuideType Type );
+__declspec(implementation_key(4994)) IVGTreeNodePtr IVGSpread::GetTreeNode ( );
+__declspec(implementation_key(4995)) IVGLayerPtr IVGSpread::GetGuidesLayer ( );
+__declspec(implementation_key(4996)) IVGLayerPtr IVGSpread::GetDesktopLayer ( );
+__declspec(implementation_key(4997)) IVGLayerPtr IVGSpread::GetGridLayer ( );
+__declspec(implementation_key(4998)) IVGLayerPtr IVGTreeManager::GetVirtualLayer ( );
+__declspec(implementation_key(4999)) long IVGTreeManager::GetSelectedNodeCount ( );
+__declspec(implementation_key(5000)) IVGTreeNodePtr IVGTreeManager::GetFirstSelectedNode ( );
+__declspec(implementation_key(5001)) IVGTreeNodePtr IVGTreeManager::CreateGroupNode ( );
+__declspec(implementation_key(5002)) IVGTreeNodePtr IVGTreeManager::CleanGroupNode ( struct IVGTreeNode * GroupNode );
+__declspec(implementation_key(5003)) IVGSpreadPtr IVGSpreads::GetItem ( long Index );
+__declspec(implementation_key(5004)) long IVGSpreads::GetCount ( );
+__declspec(implementation_key(5005)) IUnknownPtr IVGSpreads::Get_NewEnum ( );
+__declspec(implementation_key(5006)) IVGSpreadPtr IVGSpreads::GetFirst ( );
+__declspec(implementation_key(5007)) IVGSpreadPtr IVGSpreads::GetLast ( );
+__declspec(implementation_key(5008)) _bstr_t IVGPageMarkup::GetPageGuid ( );
+__declspec(implementation_key(5009)) IVGCommentThreadsPtr IVGPageMarkup::GetThreads ( );
+__declspec(implementation_key(5010)) IVGPagePtr IVGPageMarkup::GetPage ( );
+__declspec(implementation_key(5011)) IVGCommentPtr IVGPageMarkup::CreateHotspot ( _bstr_t Text, double x, double y, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5012)) IVGCommentPtr IVGPageMarkup::CreateRectangle ( _bstr_t Text, double x, double y, double Width, double Height, long OutlineWidth, struct IVGColor * FillColor, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5013)) IVGCommentPtr IVGPageMarkup::CreateEllipse ( _bstr_t Text, double x, double y, double RadiusX, double RadiusY, long OutlineWidth, struct IVGColor * FillColor, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5014)) IVGCommentPtr IVGPageMarkup::CreateArrow ( _bstr_t Text, double x, double y, double VectorX, double VectorY, long OutlineWidth, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5015)) IVGCommentPtr IVGPageMarkup::CreateFreehand ( _bstr_t Text, struct IVGCurve * Curve, long OutlineWidth, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5016)) IVGCommentPtr IVGPageMarkup::CreateHighlight ( _bstr_t Text, struct IVGCurve * Curve, long OutlineWidth, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5017)) IVGCommentPtr IVGPageMarkup::CreateCollaborativeText ( _bstr_t Text, struct IVGShape * Shape, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5018)) IVGCommentThreadPtr IVGCommentThreads::GetItem ( const _variant_t & IndexOrGuid );
+__declspec(implementation_key(5019)) IUnknownPtr IVGCommentThreads::Get_NewEnum ( );
+__declspec(implementation_key(5020)) long IVGCommentThreads::GetCount ( );
+__declspec(implementation_key(5021)) IVGCommentThreadPtr IVGCommentThreads::GetFirst ( );
+__declspec(implementation_key(5022)) IVGCommentThreadPtr IVGCommentThreads::GetLast ( );
+__declspec(implementation_key(5023)) IVGCommentTargetPtr IVGCommentThread::GetTarget ( );
+__declspec(implementation_key(5024)) IVGCommentsPtr IVGCommentThread::GetComments ( );
+__declspec(implementation_key(5025)) enum cdrCommentStatus IVGCommentThread::GetStatus ( );
+__declspec(implementation_key(5026)) IVGCommentPtr IVGCommentThread::Reply ( _bstr_t Text, struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5027)) HRESULT IVGCommentThread::Resolve ( struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5028)) HRESULT IVGCommentThread::Reopen ( struct IVGCommentAuthor * Author );
+__declspec(implementation_key(5029)) HRESULT IVGCommentThread::Delete ( );
+__declspec(implementation_key(5030)) IVGPageMarkupPtr IVGCommentThread::GetPageMarkup ( );
+__declspec(implementation_key(5031)) IVGCommentAnnotationPtr IVGCommentThread::GetAnnotation ( );
+__declspec(implementation_key(5032)) IVGCommentAuthorPtr IVGComment::GetAuthor ( );
+__declspec(implementation_key(5033)) void IVGComment::PutRefAuthor ( struct IVGCommentAuthor * * pRet );
+__declspec(implementation_key(5034)) _bstr_t IVGComment::GetText ( );
+__declspec(implementation_key(5035)) void IVGComment::PutText ( _bstr_t pRet );
+__declspec(implementation_key(5036)) DATE IVGComment::GetCreationTime ( );
+__declspec(implementation_key(5037)) void IVGComment::PutCreationTime ( DATE pRet );
+__declspec(implementation_key(5038)) DATE IVGComment::GetModificationTime ( );
+__declspec(implementation_key(5039)) void IVGComment::PutModificationTime ( DATE pRet );
+__declspec(implementation_key(5040)) _bstr_t IVGComment::GetGuid ( );
+__declspec(implementation_key(5041)) IVGCommentThreadPtr IVGComment::GetThread ( );
+__declspec(implementation_key(5042)) _bstr_t IVGComment::GetOnlineID ( );
+__declspec(implementation_key(5043)) void IVGComment::PutOnlineID ( _bstr_t pRet );
+__declspec(implementation_key(5044)) HRESULT IVGComment::Delete ( );
+__declspec(implementation_key(5045)) IVGCommentPtr IVGComments::GetItem ( const _variant_t & IndexOrGuid );
+__declspec(implementation_key(5046)) IUnknownPtr IVGComments::Get_NewEnum ( );
+__declspec(implementation_key(5047)) long IVGComments::GetCount ( );
+__declspec(implementation_key(5048)) IVGCommentPtr IVGComments::GetFirst ( );
+__declspec(implementation_key(5049)) IVGCommentPtr IVGComments::GetLast ( );
+__declspec(implementation_key(5050)) IVGCommentPtr IVGDocumentMarkup::FindComment ( _bstr_t Guid );
+__declspec(implementation_key(5051)) IVGCommentThreadPtr IVGDocumentMarkup::FindThread ( _bstr_t Guid );
+__declspec(implementation_key(5052)) IVGPagePtr IVGDocumentMarkup::FindPage ( _bstr_t Guid );
+__declspec(implementation_key(5053)) IDispatchPtr IVGWindow::GetApplication ( );
+__declspec(implementation_key(5054)) IVGWindowsPtr IVGWindow::GetParent ( );
+__declspec(implementation_key(5055)) HRESULT IVGWindow::Activate ( );
+__declspec(implementation_key(5056)) HRESULT IVGWindow::Close ( );
+__declspec(implementation_key(5057)) VARIANT_BOOL IVGWindow::GetFullScreen ( );
+__declspec(implementation_key(5058)) void IVGWindow::PutFullScreen ( VARIANT_BOOL FullScreen );
+__declspec(implementation_key(5059)) IDispatchPtr IVGWindow::GetPage ( );
+__declspec(implementation_key(5060)) VARIANT_BOOL IVGWindow::GetActive ( );
+__declspec(implementation_key(5061)) _bstr_t IVGWindow::GetCaption ( );
+__declspec(implementation_key(5062)) long IVGWindow::GetHeight ( );
+__declspec(implementation_key(5063)) void IVGWindow::PutHeight ( long pVal );
+__declspec(implementation_key(5064)) long IVGWindow::GetWidth ( );
+__declspec(implementation_key(5065)) void IVGWindow::PutWidth ( long pVal );
+__declspec(implementation_key(5066)) long IVGWindow::GetLeft ( );
+__declspec(implementation_key(5067)) void IVGWindow::PutLeft ( long pVal );
+__declspec(implementation_key(5068)) long IVGWindow::GetTop ( );
+__declspec(implementation_key(5069)) void IVGWindow::PutTop ( long pVal );
+__declspec(implementation_key(5070)) enum cdrWindowState IVGWindow::GetWindowState ( );
+__declspec(implementation_key(5071)) void IVGWindow::PutWindowState ( enum cdrWindowState pVal );
+__declspec(implementation_key(5072)) IVGWindowPtr IVGWindow::GetPrevious ( );
+__declspec(implementation_key(5073)) IVGWindowPtr IVGWindow::GetNext ( );
+__declspec(implementation_key(5074)) long IVGWindow::GetIndex ( );
+__declspec(implementation_key(5075)) IVGWindowPtr IVGWindow::NewWindow ( );
+__declspec(implementation_key(5076)) HRESULT IVGWindow::Refresh ( );
+__declspec(implementation_key(5077)) IVGDocumentPtr IVGWindow::GetDocument ( );
+__declspec(implementation_key(5078)) IVGActiveViewPtr IVGWindow::GetActiveView ( );
+__declspec(implementation_key(5079)) HRESULT IVGWindow::ScreenToDocument ( long XScreen, long YScreen, double * XDoc, double * YDoc );
+__declspec(implementation_key(5080)) HRESULT IVGWindow::DocumentToScreen ( double XDoc, double YDoc, long * XScreen, long * YScreen );
+__declspec(implementation_key(5081)) long IVGWindow::GetHandle ( );
+__declspec(implementation_key(5082)) ICUIViewWindowPtr IVGWindow::GetViewWindow ( );
+__declspec(implementation_key(5083)) double IVGWindow::ScreenDistanceToDocumentDistance ( double ScreenDistance );
+__declspec(implementation_key(5084)) double IVGWindow::DocumentDistanceToScreenDistance ( double DocumentDistance );
+__declspec(implementation_key(5085)) IDispatchPtr IVGWindows::GetApplication ( );
+__declspec(implementation_key(5086)) IDispatchPtr IVGWindows::GetParent ( );
+__declspec(implementation_key(5087)) IVGWindowPtr IVGWindows::GetItem ( long Index );
+__declspec(implementation_key(5088)) IUnknownPtr IVGWindows::Get_NewEnum ( );
+__declspec(implementation_key(5089)) long IVGWindows::GetCount ( );
+__declspec(implementation_key(5090)) HRESULT IVGWindows::CloseAll ( );
+__declspec(implementation_key(5091)) HRESULT IVGWindows::Arrange ( enum cdrWindowArrangeStyle Style );
+__declspec(implementation_key(5092)) HRESULT IVGWindows::Refresh ( );
+__declspec(implementation_key(5093)) IVGWindowPtr IVGWindows::FindWindow ( _bstr_t Caption );
+__declspec(implementation_key(5094)) IVGApplicationPtr IVGActiveView::GetApplication ( );
+__declspec(implementation_key(5095)) IVGWindowPtr IVGActiveView::GetParent ( );
+__declspec(implementation_key(5096)) enum cdrViewType IVGActiveView::GetType ( );
+__declspec(implementation_key(5097)) void IVGActiveView::PutType ( enum cdrViewType pType );
+__declspec(implementation_key(5098)) double IVGActiveView::GetOriginX ( );
+__declspec(implementation_key(5099)) void IVGActiveView::PutOriginX ( double pVal );
+__declspec(implementation_key(5100)) double IVGActiveView::GetOriginY ( );
+__declspec(implementation_key(5101)) void IVGActiveView::PutOriginY ( double pVal );
+__declspec(implementation_key(5102)) double IVGActiveView::GetZoom ( );
+__declspec(implementation_key(5103)) void IVGActiveView::PutZoom ( double pVal );
+__declspec(implementation_key(5104)) HRESULT IVGActiveView::ToFitPage ( );
+__declspec(implementation_key(5105)) HRESULT IVGActiveView::ToFitPageWidth ( );
+__declspec(implementation_key(5106)) HRESULT IVGActiveView::ToFitPageHeight ( );
+__declspec(implementation_key(5107)) HRESULT IVGActiveView::ToFitShape ( struct IVGShape * Shape );
+__declspec(implementation_key(5108)) HRESULT IVGActiveView::ToFitSelection ( );
+__declspec(implementation_key(5109)) HRESULT IVGActiveView::ToFitArea ( double Left, double Top, double Right, double Bottom );
+__declspec(implementation_key(5110)) HRESULT IVGActiveView::ToFitAllObjects ( );
+__declspec(implementation_key(5111)) HRESULT IVGActiveView::ToFitShapeRange ( struct IVGShapeRange * ShapeRange );
+__declspec(implementation_key(5112)) HRESULT IVGActiveView::SetViewPoint ( double x, double y, double Zoom );
+__declspec(implementation_key(5113)) HRESULT IVGActiveView::SetActualSize ( );
+__declspec(implementation_key(5114)) HRESULT IVGActiveView::ZoomIn ( );
+__declspec(implementation_key(5115)) HRESULT IVGActiveView::ZoomInAtPoint ( double x, double y );
+__declspec(implementation_key(5116)) HRESULT IVGActiveView::ZoomOut ( );
+__declspec(implementation_key(5117)) HRESULT IVGActiveView::GetViewArea ( double * x, double * y, double * Width, double * Height );
+__declspec(implementation_key(5118)) HRESULT IVGActiveView::SetViewArea ( double x, double y, double Width, double Height );
+__declspec(implementation_key(5119)) VARIANT_BOOL IVGActiveView::GetSimulateOverprints ( );
+__declspec(implementation_key(5120)) void IVGActiveView::PutSimulateOverprints ( VARIANT_BOOL pVal );
+__declspec(implementation_key(5121)) IVGProofColorSettingsPtr IVGActiveView::GetProofColorSettings ( );
+__declspec(implementation_key(5122)) void IVGActiveView::PutProofColorSettings ( struct IVGProofColorSettings * ppVal );
+__declspec(implementation_key(5123)) VARIANT_BOOL IVGActiveView::GetShowProofColors ( );
+__declspec(implementation_key(5124)) void IVGActiveView::PutShowProofColors ( VARIANT_BOOL pVal );
+__declspec(implementation_key(5125)) IDispatchPtr IVGWorkspace::GetApplication ( );
+__declspec(implementation_key(5126)) IVGWorkspacesPtr IVGWorkspace::GetParent ( );
+__declspec(implementation_key(5127)) _bstr_t IVGWorkspace::GetName ( );
+__declspec(implementation_key(5128)) _bstr_t IVGWorkspace::GetDescription ( );
+__declspec(implementation_key(5129)) VARIANT_BOOL IVGWorkspace::GetDefault ( );
+__declspec(implementation_key(5130)) HRESULT IVGWorkspace::Activate ( );
+__declspec(implementation_key(5131)) VARIANT_BOOL IVGWorkspace::GetActive ( );
+__declspec(implementation_key(5132)) IDispatchPtr IVGWorkspaces::GetApplication ( );
+__declspec(implementation_key(5133)) IDispatchPtr IVGWorkspaces::GetParent ( );
+__declspec(implementation_key(5134)) IVGWorkspacePtr IVGWorkspaces::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(5135)) IUnknownPtr IVGWorkspaces::Get_NewEnum ( );
+__declspec(implementation_key(5136)) long IVGWorkspaces::GetCount ( );
+__declspec(implementation_key(5137)) IVGRecentFilePtr IVGRecentFiles::Add ( _bstr_t Name, _bstr_t Path );
+__declspec(implementation_key(5138)) IDispatchPtr IVGRecentFiles::GetApplication ( );
+__declspec(implementation_key(5139)) IDispatchPtr IVGRecentFiles::GetParent ( );
+__declspec(implementation_key(5140)) IVGRecentFilePtr IVGRecentFiles::GetItem ( long Index );
+__declspec(implementation_key(5141)) IUnknownPtr IVGRecentFiles::Get_NewEnum ( );
+__declspec(implementation_key(5142)) long IVGRecentFiles::GetCount ( );
+__declspec(implementation_key(5143)) long IVGRecentFiles::GetMaximum ( );
+__declspec(implementation_key(5144)) HRESULT IVGRecentFile::Delete ( );
+__declspec(implementation_key(5145)) IDispatchPtr IVGRecentFile::Open ( );
+__declspec(implementation_key(5146)) IDispatchPtr IVGRecentFile::GetApplication ( );
+__declspec(implementation_key(5147)) IVGRecentFilesPtr IVGRecentFile::GetParent ( );
+__declspec(implementation_key(5148)) long IVGRecentFile::GetIndex ( );
+__declspec(implementation_key(5149)) _bstr_t IVGRecentFile::GetName ( );
+__declspec(implementation_key(5150)) void IVGRecentFile::PutName ( _bstr_t pVal );
+__declspec(implementation_key(5151)) _bstr_t IVGRecentFile::GetPath ( );
+__declspec(implementation_key(5152)) void IVGRecentFile::PutPath ( _bstr_t pVal );
+__declspec(implementation_key(5153)) _bstr_t IVGRecentFile::GetFullName ( );
+__declspec(implementation_key(5154)) void IVGRecentFile::PutFullName ( _bstr_t pVal );
+__declspec(implementation_key(5155)) IVGApplicationPtr IVGPageSizes::GetParent ( );
+__declspec(implementation_key(5156)) long IVGPageSizes::GetCount ( );
+__declspec(implementation_key(5157)) IVGPageSizePtr IVGPageSizes::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(5158)) IUnknownPtr IVGPageSizes::Get_NewEnum ( );
+__declspec(implementation_key(5159)) IVGPageSizePtr IVGPageSizes::Add ( _bstr_t Name, double Width, double Height );
+__declspec(implementation_key(5160)) IVGPageSizesPtr IVGPageSize::GetParent ( );
+__declspec(implementation_key(5161)) VARIANT_BOOL IVGPageSize::GetBuiltIn ( );
+__declspec(implementation_key(5162)) _bstr_t IVGPageSize::GetName ( );
+__declspec(implementation_key(5163)) double IVGPageSize::GetWidth ( );
+__declspec(implementation_key(5164)) void IVGPageSize::PutWidth ( double pVal );
+__declspec(implementation_key(5165)) double IVGPageSize::GetHeight ( );
+__declspec(implementation_key(5166)) void IVGPageSize::PutHeight ( double pVal );
+__declspec(implementation_key(5167)) long IVGPageSize::GetIndex ( );
+__declspec(implementation_key(5168)) HRESULT IVGPageSize::Delete ( );
+__declspec(implementation_key(5169)) VARIANT_BOOL IVGPageSize::GetFixedOrientation ( );
+__declspec(implementation_key(5170)) enum cdrUnit IVGPageSize::GetDefaultUnit ( );
+__declspec(implementation_key(5171)) IVGApplicationPtr IVGViews::GetApplication ( );
+__declspec(implementation_key(5172)) IVGDocumentPtr IVGViews::GetParent ( );
+__declspec(implementation_key(5173)) IVGViewPtr IVGViews::GetItem ( const _variant_t & IndexOrName );
+__declspec(implementation_key(5174)) IUnknownPtr IVGViews::Get_NewEnum ( );
+__declspec(implementation_key(5175)) long IVGViews::GetCount ( );
+__declspec(implementation_key(5176)) IVGViewPtr IVGViews::AddActiveView ( _bstr_t Name );
+__declspec(implementation_key(5177)) IVGApplicationPtr IVGView::GetApplication ( );
+__declspec(implementation_key(5178)) IVGViewsPtr IVGView::GetParent ( );
+__declspec(implementation_key(5179)) _bstr_t IVGView::GetName ( );
+__declspec(implementation_key(5180)) void IVGView::PutName ( _bstr_t Name );
+__declspec(implementation_key(5181)) double IVGView::GetOriginX ( );
+__declspec(implementation_key(5182)) void IVGView::PutOriginX ( double pVal );
+__declspec(implementation_key(5183)) double IVGView::GetOriginY ( );
+__declspec(implementation_key(5184)) void IVGView::PutOriginY ( double pVal );
+__declspec(implementation_key(5185)) VARIANT_BOOL IVGView::GetUsePage ( );
+__declspec(implementation_key(5186)) void IVGView::PutUsePage ( VARIANT_BOOL pVal );
+__declspec(implementation_key(5187)) IVGPagePtr IVGView::GetPage ( );
+__declspec(implementation_key(5188)) void IVGView::PutPage ( struct IVGPage * Page );
+__declspec(implementation_key(5189)) VARIANT_BOOL IVGView::GetUseZoom ( );
+__declspec(implementation_key(5190)) void IVGView::PutUseZoom ( VARIANT_BOOL pVal );
+__declspec(implementation_key(5191)) double IVGView::GetZoom ( );
+__declspec(implementation_key(5192)) void IVGView::PutZoom ( double pVal );
+__declspec(implementation_key(5193)) HRESULT IVGView::Activate ( );
+__declspec(implementation_key(5194)) HRESULT IVGView::Delete ( );
+#pragma stop_map_region
+
+} // namespace VGCore
+
+#pragma pack(pop)

+ 39531 - 0
VGCoreAuto/vgcoreauto.tli

@@ -0,0 +1,39531 @@
+// Created by Microsoft (R) C/C++ Compiler Version 14.40.33808.0 (cc163f71).
+//
+// R:\lycpg64\obj\Release\vgcoreauto.tli
+//
+// Wrapper implementations for type library vgcoreauto.tlb
+// compiler-generated file - DO NOT EDIT!
+
+
+//
+// interface ICorelImportFilter wrapper method implementations
+//
+
+#pragma implementation_key(1)
+inline HRESULT VGCore::ICorelImportFilter::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2)
+inline HRESULT VGCore::ICorelImportFilter::Finish ( ) {
+    HRESULT _hr = raw_Finish();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3)
+inline VARIANT_BOOL VGCore::ICorelImportFilter::GetHasDialog ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasDialog(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4)
+inline VARIANT_BOOL VGCore::ICorelImportFilter::ShowDialog ( long hWnd ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ShowDialog(hWnd, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface ICorelExportFilter wrapper method implementations
+//
+
+#pragma implementation_key(5)
+inline HRESULT VGCore::ICorelExportFilter::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(6)
+inline HRESULT VGCore::ICorelExportFilter::Finish ( ) {
+    HRESULT _hr = raw_Finish();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(7)
+inline VARIANT_BOOL VGCore::ICorelExportFilter::GetHasDialog ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasDialog(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(8)
+inline VARIANT_BOOL VGCore::ICorelExportFilter::ShowDialog ( long hWnd ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ShowDialog(hWnd, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface ICUIControlData wrapper method implementations
+//
+
+#pragma implementation_key(9)
+inline _variant_t VGCore::ICUIControlData::GetValue ( _bstr_t PropertyName ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_GetValue(PropertyName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+//
+// interface ICUIAutomation wrapper method implementations
+//
+
+#pragma implementation_key(10)
+inline long VGCore::ICUIAutomation::GetNumItemsOnBar ( _bstr_t GuidBar ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetNumItemsOnBar(GuidBar, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(11)
+inline _bstr_t VGCore::ICUIAutomation::GetItem ( _bstr_t GuidBar, long Index, VARIANT_BOOL * HasSubBar ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetItem(GuidBar, Index, HasSubBar, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(12)
+inline long VGCore::ICUIAutomation::GetItemInstanceHwnd ( _bstr_t GuidParent, _bstr_t GuidItem ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetItemInstanceHwnd(GuidParent, GuidItem, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(13)
+inline VARIANT_BOOL VGCore::ICUIAutomation::GetSubBar ( _bstr_t GuidBar, BSTR * GuidSubBar ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetSubBar(GuidBar, GuidSubBar, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(14)
+inline VARIANT_BOOL VGCore::ICUIAutomation::ShowBar ( _bstr_t GuidBar, VARIANT_BOOL Show ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ShowBar(GuidBar, Show, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(15)
+inline _bstr_t VGCore::ICUIAutomation::GetCaptionText ( _bstr_t GuidItem ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetCaptionText(GuidItem, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(16)
+inline HRESULT VGCore::ICUIAutomation::Invoke ( _bstr_t GuidItem ) {
+    HRESULT _hr = raw_Invoke(GuidItem);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(17)
+inline VARIANT_BOOL VGCore::ICUIAutomation::IsEnabled ( _bstr_t GuidItem ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsEnabled(GuidItem, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(18)
+inline VARIANT_BOOL VGCore::ICUIAutomation::GetItemScreenRect ( _bstr_t GuidParent, _bstr_t GuidItem, long * TopLeftX, long * TopLeftY, long * Width, long * Height ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetItemScreenRect(GuidParent, GuidItem, TopLeftX, TopLeftY, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(19)
+inline HRESULT VGCore::ICUIAutomation::InvokeItem ( _bstr_t GuidItem ) {
+    HRESULT _hr = raw_InvokeItem(GuidItem);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(20)
+inline HRESULT VGCore::ICUIAutomation::InvokeDialogItem ( _bstr_t GuidDialog, _bstr_t GuidItem ) {
+    HRESULT _hr = raw_InvokeDialogItem(GuidDialog, GuidItem);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(21)
+inline VGCore::ICUIControlDataPtr VGCore::ICUIAutomation::GetControlData ( _bstr_t Guid ) {
+    struct ICUIControlData * _result = 0;
+    HRESULT _hr = raw_GetControlData(Guid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlDataPtr(_result, false);
+}
+
+#pragma implementation_key(22)
+inline VGCore::ICUIControlDataPtr VGCore::ICUIAutomation::GetControlDataEx ( _bstr_t GuidParent, _bstr_t Guid ) {
+    struct ICUIControlData * _result = 0;
+    HRESULT _hr = raw_GetControlDataEx(GuidParent, Guid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlDataPtr(_result, false);
+}
+
+#pragma implementation_key(23)
+inline VARIANT_BOOL VGCore::ICUIAutomation::GetActiveMenuItemScreenRect ( int itemIndex, long * TopLeftX, long * TopLeftY, long * Width, long * Height ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetActiveMenuItemScreenRect(itemIndex, TopLeftX, TopLeftY, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(24)
+inline _bstr_t VGCore::ICUIAutomation::GetActiveMenuItemGuid ( int itemIndex ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetActiveMenuItemGuid(itemIndex, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface ICUIControl wrapper method implementations
+//
+
+#pragma implementation_key(25)
+inline _bstr_t VGCore::ICUIControl::GetCaption ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Caption(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(26)
+inline void VGCore::ICUIControl::PutCaption ( _bstr_t pVal ) {
+    HRESULT _hr = put_Caption(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(27)
+inline _bstr_t VGCore::ICUIControl::GetDescriptionText ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DescriptionText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(28)
+inline void VGCore::ICUIControl::PutDescriptionText ( _bstr_t pVal ) {
+    HRESULT _hr = put_DescriptionText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(29)
+inline long VGCore::ICUIControl::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(30)
+inline void VGCore::ICUIControl::PutHeight ( long pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(31)
+inline long VGCore::ICUIControl::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(32)
+inline void VGCore::ICUIControl::PutWidth ( long pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(33)
+inline _bstr_t VGCore::ICUIControl::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(34)
+inline _variant_t VGCore::ICUIControl::GetParameter ( ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = get_Parameter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(35)
+inline void VGCore::ICUIControl::PutParameter ( const _variant_t & pVal ) {
+    HRESULT _hr = put_Parameter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(36)
+inline _bstr_t VGCore::ICUIControl::GetTag ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Tag(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(37)
+inline void VGCore::ICUIControl::PutTag ( _bstr_t pVal ) {
+    HRESULT _hr = put_Tag(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(38)
+inline _bstr_t VGCore::ICUIControl::GetToolTipText ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ToolTipText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(39)
+inline void VGCore::ICUIControl::PutToolTipText ( _bstr_t pVal ) {
+    HRESULT _hr = put_ToolTipText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(40)
+inline VARIANT_BOOL VGCore::ICUIControl::GetVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Visible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(41)
+inline void VGCore::ICUIControl::PutVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Visible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(42)
+inline HRESULT VGCore::ICUIControl::SetIcon ( long RowIndex, long ColumnIndex ) {
+    HRESULT _hr = raw_SetIcon(RowIndex, ColumnIndex);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(43)
+inline HRESULT VGCore::ICUIControl::SetCustomIcon ( _bstr_t ImageFile ) {
+    HRESULT _hr = raw_SetCustomIcon(ImageFile);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(44)
+inline HRESULT VGCore::ICUIControl::SetIcon2 ( _bstr_t Icon ) {
+    HRESULT _hr = raw_SetIcon2(Icon);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUIControls wrapper method implementations
+//
+
+#pragma implementation_key(45)
+inline long VGCore::ICUIControls::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(46)
+inline VGCore::ICUIControlPtr VGCore::ICUIControls::GetItem ( long Index ) {
+    struct ICUIControl * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlPtr(_result, false);
+}
+
+#pragma implementation_key(47)
+inline IUnknownPtr VGCore::ICUIControls::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(48)
+inline VGCore::ICUIControlPtr VGCore::ICUIControls::Add ( _bstr_t ControlID, long Index, VARIANT_BOOL Temporary ) {
+    struct ICUIControl * _result = 0;
+    HRESULT _hr = raw_Add(ControlID, Index, Temporary, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlPtr(_result, false);
+}
+
+#pragma implementation_key(49)
+inline VGCore::ICUIControlPtr VGCore::ICUIControls::AddCustomButton ( _bstr_t CategoryID, _bstr_t Command, long Index, VARIANT_BOOL Temporary ) {
+    struct ICUIControl * _result = 0;
+    HRESULT _hr = raw_AddCustomButton(CategoryID, Command, Index, Temporary, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlPtr(_result, false);
+}
+
+#pragma implementation_key(50)
+inline VGCore::ICUIControlPtr VGCore::ICUIControls::AddCustomControl ( _bstr_t ClassName, _bstr_t AssemblyPath, long Index, VARIANT_BOOL Temporary ) {
+    struct ICUIControl * _result = 0;
+    HRESULT _hr = raw_AddCustomControl(ClassName, AssemblyPath, Index, Temporary, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlPtr(_result, false);
+}
+
+#pragma implementation_key(51)
+inline VGCore::ICUIControlPtr VGCore::ICUIControls::AddToggleButton ( _bstr_t Guid, long Index, VARIANT_BOOL Temporary ) {
+    struct ICUIControl * _result = 0;
+    HRESULT _hr = raw_AddToggleButton(Guid, Index, Temporary, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlPtr(_result, false);
+}
+
+#pragma implementation_key(52)
+inline HRESULT VGCore::ICUIControls::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUICommandBarMode wrapper method implementations
+//
+
+#pragma implementation_key(53)
+inline _bstr_t VGCore::ICUICommandBarMode::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(54)
+inline _bstr_t VGCore::ICUICommandBarMode::GetNameLocal ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_NameLocal(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(55)
+inline VGCore::ICUIControlsPtr VGCore::ICUICommandBarMode::GetControls ( ) {
+    struct ICUIControls * _result = 0;
+    HRESULT _hr = get_Controls(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlsPtr(_result, false);
+}
+
+//
+// interface ICUICommandBarModes wrapper method implementations
+//
+
+#pragma implementation_key(56)
+inline VGCore::ICUICommandBarModePtr VGCore::ICUICommandBarModes::GetItem ( const _variant_t & IndexOrName ) {
+    struct ICUICommandBarMode * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarModePtr(_result, false);
+}
+
+#pragma implementation_key(57)
+inline long VGCore::ICUICommandBarModes::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(58)
+inline IUnknownPtr VGCore::ICUICommandBarModes::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+//
+// interface ICUICommandBar wrapper method implementations
+//
+
+#pragma implementation_key(59)
+inline enum VGCore::cuiBarType VGCore::ICUICommandBar::GetType ( ) {
+    enum cuiBarType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(60)
+inline VARIANT_BOOL VGCore::ICUICommandBar::GetVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Visible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(61)
+inline void VGCore::ICUICommandBar::PutVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Visible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(62)
+inline VGCore::ICUIControlsPtr VGCore::ICUICommandBar::GetControls ( ) {
+    struct ICUIControls * _result = 0;
+    HRESULT _hr = get_Controls(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIControlsPtr(_result, false);
+}
+
+#pragma implementation_key(63)
+inline VGCore::ICUICommandBarModesPtr VGCore::ICUICommandBar::GetModes ( ) {
+    struct ICUICommandBarModes * _result = 0;
+    HRESULT _hr = get_Modes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarModesPtr(_result, false);
+}
+
+#pragma implementation_key(64)
+inline VARIANT_BOOL VGCore::ICUICommandBar::GetBuiltIn ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BuiltIn(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(65)
+inline VARIANT_BOOL VGCore::ICUICommandBar::GetEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Enabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(66)
+inline void VGCore::ICUICommandBar::PutEnabled ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Enabled(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(67)
+inline long VGCore::ICUICommandBar::GetLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Left(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(68)
+inline void VGCore::ICUICommandBar::PutLeft ( long pVal ) {
+    HRESULT _hr = put_Left(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(69)
+inline long VGCore::ICUICommandBar::GetTop ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(70)
+inline void VGCore::ICUICommandBar::PutTop ( long pVal ) {
+    HRESULT _hr = put_Top(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(71)
+inline long VGCore::ICUICommandBar::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(72)
+inline long VGCore::ICUICommandBar::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(73)
+inline long VGCore::ICUICommandBar::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(74)
+inline _bstr_t VGCore::ICUICommandBar::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(75)
+inline void VGCore::ICUICommandBar::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(76)
+inline _bstr_t VGCore::ICUICommandBar::GetNameLocal ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_NameLocal(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(77)
+inline void VGCore::ICUICommandBar::PutNameLocal ( _bstr_t pVal ) {
+    HRESULT _hr = put_NameLocal(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(78)
+inline enum VGCore::cuiBarPosition VGCore::ICUICommandBar::GetPosition ( ) {
+    enum cuiBarPosition _result;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(79)
+inline void VGCore::ICUICommandBar::PutPosition ( enum cuiBarPosition pVal ) {
+    HRESULT _hr = put_Position(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(80)
+inline enum VGCore::cuiBarProtection VGCore::ICUICommandBar::GetProtection ( ) {
+    enum cuiBarProtection _result;
+    HRESULT _hr = get_Protection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(81)
+inline void VGCore::ICUICommandBar::PutProtection ( enum cuiBarProtection pVal ) {
+    HRESULT _hr = put_Protection(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(82)
+inline HRESULT VGCore::ICUICommandBar::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(83)
+inline HRESULT VGCore::ICUICommandBar::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(84)
+inline HRESULT VGCore::ICUICommandBar::ShowPopup ( const _variant_t & x, const _variant_t & y ) {
+    HRESULT _hr = raw_ShowPopup(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(85)
+inline HRESULT VGCore::ICUICommandBar::SetWidth ( long Width ) {
+    HRESULT _hr = raw_SetWidth(Width);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUICommandBars wrapper method implementations
+//
+
+#pragma implementation_key(86)
+inline VGCore::ICUICommandBarPtr VGCore::ICUICommandBars::GetItem ( const _variant_t & IndexOrName ) {
+    struct ICUICommandBar * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarPtr(_result, false);
+}
+
+#pragma implementation_key(87)
+inline long VGCore::ICUICommandBars::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(88)
+inline IUnknownPtr VGCore::ICUICommandBars::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(89)
+inline VGCore::ICUICommandBarPtr VGCore::ICUICommandBars::Add ( _bstr_t Name, enum cuiBarPosition Position, VARIANT_BOOL Temporary ) {
+    struct ICUICommandBar * _result = 0;
+    HRESULT _hr = raw_Add(Name, Position, Temporary, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarPtr(_result, false);
+}
+
+//
+// interface ICUIScreenRect wrapper method implementations
+//
+
+#pragma implementation_key(90)
+inline long VGCore::ICUIScreenRect::GetLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Left(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(91)
+inline void VGCore::ICUIScreenRect::PutLeft ( long pVal ) {
+    HRESULT _hr = put_Left(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(92)
+inline long VGCore::ICUIScreenRect::GetRight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Right(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(93)
+inline void VGCore::ICUIScreenRect::PutRight ( long pVal ) {
+    HRESULT _hr = put_Right(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(94)
+inline long VGCore::ICUIScreenRect::GetTop ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(95)
+inline void VGCore::ICUIScreenRect::PutTop ( long pVal ) {
+    HRESULT _hr = put_Top(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(96)
+inline long VGCore::ICUIScreenRect::GetBottom ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Bottom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(97)
+inline void VGCore::ICUIScreenRect::PutBottom ( long pVal ) {
+    HRESULT _hr = put_Bottom(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(98)
+inline long VGCore::ICUIScreenRect::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(99)
+inline void VGCore::ICUIScreenRect::PutWidth ( long pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(100)
+inline long VGCore::ICUIScreenRect::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(101)
+inline void VGCore::ICUIScreenRect::PutHeight ( long pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(102)
+inline long VGCore::ICUIScreenRect::GetCenterX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(103)
+inline void VGCore::ICUIScreenRect::PutCenterX ( long pVal ) {
+    HRESULT _hr = put_CenterX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(104)
+inline long VGCore::ICUIScreenRect::GetCenterY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(105)
+inline void VGCore::ICUIScreenRect::PutCenterY ( long pVal ) {
+    HRESULT _hr = put_CenterY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(106)
+inline HRESULT VGCore::ICUIScreenRect::SetPosition ( long Left, long Top, long Width, long Height ) {
+    HRESULT _hr = raw_SetPosition(Left, Top, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(107)
+inline HRESULT VGCore::ICUIScreenRect::Resize ( long Width, long Height ) {
+    HRESULT _hr = raw_Resize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(108)
+inline HRESULT VGCore::ICUIScreenRect::Move ( long Left, long Top ) {
+    HRESULT _hr = raw_Move(Left, Top);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(109)
+inline VARIANT_BOOL VGCore::ICUIScreenRect::GetReadOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ReadOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(110)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIScreenRect::GetCopy ( ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+#pragma implementation_key(111)
+inline HRESULT VGCore::ICUIScreenRect::CopyAssign ( struct ICUIScreenRect * Source ) {
+    HRESULT _hr = raw_CopyAssign(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(112)
+inline HRESULT VGCore::ICUIScreenRect::Offset ( long OffsetX, long OffsetY ) {
+    HRESULT _hr = raw_Offset(OffsetX, OffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(113)
+inline HRESULT VGCore::ICUIScreenRect::Inflate ( long Left, long Top, long Right, long Bottom ) {
+    HRESULT _hr = raw_Inflate(Left, Top, Right, Bottom);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(114)
+inline VARIANT_BOOL VGCore::ICUIScreenRect::IsPointInside ( long x, long y ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsPointInside(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(115)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIScreenRect::Union ( struct ICUIScreenRect * Source ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = raw_Union(Source, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+#pragma implementation_key(116)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIScreenRect::Intersect ( struct ICUIScreenRect * Source ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = raw_Intersect(Source, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+#pragma implementation_key(117)
+inline VARIANT_BOOL VGCore::ICUIScreenRect::IsEmpty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsEmpty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface ICUIBitmapImage wrapper method implementations
+//
+
+#pragma implementation_key(118)
+inline VARIANT_BOOL VGCore::ICUIBitmapImage::GetValid ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Valid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(119)
+inline long VGCore::ICUIBitmapImage::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(120)
+inline long VGCore::ICUIBitmapImage::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface ICUIImageList wrapper method implementations
+//
+
+#pragma implementation_key(121)
+inline long VGCore::ICUIImageList::GetImageCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ImageCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(122)
+inline VARIANT_BOOL VGCore::ICUIImageList::ImageExists ( _bstr_t Key ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ImageExists(Key, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(123)
+inline HRESULT VGCore::ICUIImageList::RemoveAll ( ) {
+    HRESULT _hr = raw_RemoveAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(124)
+inline VARIANT_BOOL VGCore::ICUIImageList::AddImage ( _bstr_t Key, const _variant_t & ImageData, long MaxSize ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_AddImage(Key, ImageData, MaxSize, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(125)
+inline SAFEARRAY * VGCore::ICUIImageList::GetImageKeys ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = get_ImageKeys(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(126)
+inline VARIANT_BOOL VGCore::ICUIImageList::RemoveImage ( _bstr_t Key ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_RemoveImage(Key, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(127)
+inline HRESULT VGCore::ICUIImageList::AddBitmap ( _bstr_t Key, struct ICUIBitmapImage * Bitmap ) {
+    HRESULT _hr = raw_AddBitmap(Key, Bitmap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUIStatusText wrapper method implementations
+//
+
+#pragma implementation_key(128)
+inline HRESULT VGCore::ICUIStatusText::SetCaptionText ( _bstr_t Text ) {
+    HRESULT _hr = raw_SetCaptionText(Text);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(129)
+inline HRESULT VGCore::ICUIStatusText::SetBitmap ( struct ICUIBitmapImage * Bitmap ) {
+    HRESULT _hr = raw_SetBitmap(Bitmap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUIWarning wrapper method implementations
+//
+
+#pragma implementation_key(130)
+inline VARIANT_BOOL VGCore::ICUIWarning::GetEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Enabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(131)
+inline void VGCore::ICUIWarning::PutEnabled ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Enabled(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(132)
+inline _bstr_t VGCore::ICUIWarning::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(133)
+inline _bstr_t VGCore::ICUIWarning::GetDescription ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Description(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(134)
+inline _bstr_t VGCore::ICUIWarning::GetText ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Text(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(135)
+inline _bstr_t VGCore::ICUIWarning::GetTitle ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Title(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(136)
+inline long VGCore::ICUIWarning::DoWarningDialog ( long unFlags, _bstr_t Text ) {
+    long _result = 0;
+    HRESULT _hr = raw_DoWarningDialog(unFlags, Text, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface ICUITask wrapper method implementations
+//
+
+#pragma implementation_key(137)
+inline HRESULT VGCore::ICUITask::RunTask ( ) {
+    HRESULT _hr = raw_RunTask();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUIBackgroundTask wrapper method implementations
+//
+
+#pragma implementation_key(138)
+inline HRESULT VGCore::ICUIBackgroundTask::FinalizeTask ( ) {
+    HRESULT _hr = raw_FinalizeTask();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(139)
+inline HRESULT VGCore::ICUIBackgroundTask::FreeTask ( ) {
+    HRESULT _hr = raw_FreeTask();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(140)
+inline HRESULT VGCore::ICUIBackgroundTask::QuitTask ( ) {
+    HRESULT _hr = raw_QuitTask();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(141)
+inline _bstr_t VGCore::ICUIBackgroundTask::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface ICUIRunningTask wrapper method implementations
+//
+
+#pragma implementation_key(142)
+inline HRESULT VGCore::ICUIRunningTask::TryAbort ( ) {
+    HRESULT _hr = raw_TryAbort();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUIRunningBackgroundTask wrapper method implementations
+//
+
+#pragma implementation_key(143)
+inline HRESULT VGCore::ICUIRunningBackgroundTask::WaitUntilDone ( ) {
+    HRESULT _hr = raw_WaitUntilDone();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(144)
+inline HRESULT VGCore::ICUIRunningBackgroundTask::Reprioritize ( enum cuiTaskPriority __MIDL__ICUIRunningBackgroundTask0000 ) {
+    HRESULT _hr = raw_Reprioritize(__MIDL__ICUIRunningBackgroundTask0000);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(145)
+inline VARIANT_BOOL VGCore::ICUIRunningBackgroundTask::FinalizeIfDone ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_FinalizeIfDone(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface ICUITaskManager wrapper method implementations
+//
+
+#pragma implementation_key(146)
+inline HRESULT VGCore::ICUITaskManager::RunOnUIThread ( struct ICUITask * pTask ) {
+    HRESULT _hr = raw_RunOnUIThread(pTask);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(147)
+inline VGCore::ICUIRunningBackgroundTaskPtr VGCore::ICUITaskManager::RunInBackground ( enum cuiTaskPriority priority, struct ICUIBackgroundTask * pTask ) {
+    struct ICUIRunningBackgroundTask * _result = 0;
+    HRESULT _hr = raw_RunInBackground(priority, pTask, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIRunningBackgroundTaskPtr(_result, false);
+}
+
+//
+// interface IPrnVBAPrintLayout wrapper method implementations
+//
+
+#pragma implementation_key(148)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintLayout::GetUseBleedLimit ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseBleedLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(149)
+inline void VGCore::IPrnVBAPrintLayout::PutUseBleedLimit ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseBleedLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(150)
+inline double VGCore::IPrnVBAPrintLayout::GetBleedLimit ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BleedLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(151)
+inline void VGCore::IPrnVBAPrintLayout::PutBleedLimit ( double pVal ) {
+    HRESULT _hr = put_BleedLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(152)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintLayout::GetPrintTiledPages ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintTiledPages(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(153)
+inline void VGCore::IPrnVBAPrintLayout::PutPrintTiledPages ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintTiledPages(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(154)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintLayout::GetPrintTilingMarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintTilingMarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(155)
+inline void VGCore::IPrnVBAPrintLayout::PutPrintTilingMarks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintTilingMarks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(156)
+inline double VGCore::IPrnVBAPrintLayout::GetTileOverlap ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileOverlap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(157)
+inline void VGCore::IPrnVBAPrintLayout::PutTileOverlap ( double pVal ) {
+    HRESULT _hr = put_TileOverlap(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(158)
+inline enum VGCore::PrnPlaceType VGCore::IPrnVBAPrintLayout::GetPlacement ( ) {
+    enum PrnPlaceType _result;
+    HRESULT _hr = get_Placement(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(159)
+inline void VGCore::IPrnVBAPrintLayout::PutPlacement ( enum PrnPlaceType pVal ) {
+    HRESULT _hr = put_Placement(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBAPrinter wrapper method implementations
+//
+
+#pragma implementation_key(160)
+inline _bstr_t VGCore::IPrnVBAPrinter::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(161)
+inline _bstr_t VGCore::IPrnVBAPrinter::GetType ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(162)
+inline VARIANT_BOOL VGCore::IPrnVBAPrinter::GetDefault ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Default(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(163)
+inline VARIANT_BOOL VGCore::IPrnVBAPrinter::GetReady ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Ready(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(164)
+inline _bstr_t VGCore::IPrnVBAPrinter::GetPort ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Port(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(165)
+inline _bstr_t VGCore::IPrnVBAPrinter::GetDescription ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Description(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(166)
+inline VARIANT_BOOL VGCore::IPrnVBAPrinter::GetPostScriptEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PostScriptEnabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(167)
+inline VARIANT_BOOL VGCore::IPrnVBAPrinter::GetColorEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ColorEnabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(168)
+inline HRESULT VGCore::IPrnVBAPrinter::ShowDialog ( ) {
+    HRESULT _hr = raw_ShowDialog();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(169)
+inline VARIANT_BOOL VGCore::IPrnVBAPrinter::GetPageSizeMatchingSupported ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PageSizeMatchingSupported(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(170)
+inline void VGCore::IPrnVBAPrinter::PutPageSizeMatchingSupported ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PageSizeMatchingSupported(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBAPrinters wrapper method implementations
+//
+
+#pragma implementation_key(171)
+inline VGCore::IPrnVBAPrinterPtr VGCore::IPrnVBAPrinters::GetItem ( long nIndex ) {
+    struct IPrnVBAPrinter * _result = 0;
+    HRESULT _hr = get_Item(nIndex, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrinterPtr(_result, false);
+}
+
+#pragma implementation_key(172)
+inline long VGCore::IPrnVBAPrinters::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(173)
+inline VGCore::IPrnVBAPrinterPtr VGCore::IPrnVBAPrinters::GetDefault ( ) {
+    struct IPrnVBAPrinter * _result = 0;
+    HRESULT _hr = get_Default(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrinterPtr(_result, false);
+}
+
+//
+// interface IPrnVBASeparationPlate wrapper method implementations
+//
+
+#pragma implementation_key(174)
+inline VARIANT_BOOL VGCore::IPrnVBASeparationPlate::GetEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Enabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(175)
+inline void VGCore::IPrnVBASeparationPlate::PutEnabled ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Enabled(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(176)
+inline enum VGCore::PrnPlateType VGCore::IPrnVBASeparationPlate::GetType ( ) {
+    enum PrnPlateType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(177)
+inline _bstr_t VGCore::IPrnVBASeparationPlate::GetColor ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(178)
+inline double VGCore::IPrnVBASeparationPlate::GetFrequency ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Frequency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(179)
+inline void VGCore::IPrnVBASeparationPlate::PutFrequency ( double pVal ) {
+    HRESULT _hr = put_Frequency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(180)
+inline double VGCore::IPrnVBASeparationPlate::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(181)
+inline void VGCore::IPrnVBASeparationPlate::PutAngle ( double pVal ) {
+    HRESULT _hr = put_Angle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(182)
+inline VARIANT_BOOL VGCore::IPrnVBASeparationPlate::GetOverprintText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OverprintText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(183)
+inline void VGCore::IPrnVBASeparationPlate::PutOverprintText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OverprintText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(184)
+inline VARIANT_BOOL VGCore::IPrnVBASeparationPlate::GetOverprintGraphic ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OverprintGraphic(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(185)
+inline void VGCore::IPrnVBASeparationPlate::PutOverprintGraphic ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OverprintGraphic(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBASeparationPlates wrapper method implementations
+//
+
+#pragma implementation_key(186)
+inline VGCore::IPrnVBASeparationPlatePtr VGCore::IPrnVBASeparationPlates::GetItem ( long Index ) {
+    struct IPrnVBASeparationPlate * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBASeparationPlatePtr(_result, false);
+}
+
+#pragma implementation_key(187)
+inline long VGCore::IPrnVBASeparationPlates::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IPrnVBAPrintSeparations wrapper method implementations
+//
+
+#pragma implementation_key(188)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Enabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(189)
+inline void VGCore::IPrnVBAPrintSeparations::PutEnabled ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Enabled(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(190)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetInColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_InColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(191)
+inline void VGCore::IPrnVBAPrintSeparations::PutInColor ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_InColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(192)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetHexachrome ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Hexachrome(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(193)
+inline void VGCore::IPrnVBAPrintSeparations::PutHexachrome ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Hexachrome(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(194)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetSpotToCMYK ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SpotToCMYK(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(195)
+inline void VGCore::IPrnVBAPrintSeparations::PutSpotToCMYK ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_SpotToCMYK(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(196)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetEmptyPlates ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EmptyPlates(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(197)
+inline void VGCore::IPrnVBAPrintSeparations::PutEmptyPlates ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_EmptyPlates(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(198)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetPreserveOverprints ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PreserveOverprints(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(199)
+inline void VGCore::IPrnVBAPrintSeparations::PutPreserveOverprints ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PreserveOverprints(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(200)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetAlwaysOverprintBlack ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AlwaysOverprintBlack(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(201)
+inline void VGCore::IPrnVBAPrintSeparations::PutAlwaysOverprintBlack ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AlwaysOverprintBlack(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(202)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetAutoSpreading ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AutoSpreading(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(203)
+inline void VGCore::IPrnVBAPrintSeparations::PutAutoSpreading ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AutoSpreading(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(204)
+inline double VGCore::IPrnVBAPrintSeparations::GetAutoSpreadAmount ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AutoSpreadAmount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(205)
+inline void VGCore::IPrnVBAPrintSeparations::PutAutoSpreadAmount ( double pVal ) {
+    HRESULT _hr = put_AutoSpreadAmount(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(206)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetAutoSpreadFixed ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AutoSpreadFixed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(207)
+inline void VGCore::IPrnVBAPrintSeparations::PutAutoSpreadFixed ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AutoSpreadFixed(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(208)
+inline double VGCore::IPrnVBAPrintSeparations::GetAutoSpreadTextAbove ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AutoSpreadTextAbove(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(209)
+inline void VGCore::IPrnVBAPrintSeparations::PutAutoSpreadTextAbove ( double pVal ) {
+    HRESULT _hr = put_AutoSpreadTextAbove(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(210)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSeparations::GetAdvancedSettings ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AdvancedSettings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(211)
+inline void VGCore::IPrnVBAPrintSeparations::PutAdvancedSettings ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AdvancedSettings(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(212)
+inline VGCore::IPrnVBASeparationPlatesPtr VGCore::IPrnVBAPrintSeparations::GetPlates ( ) {
+    struct IPrnVBASeparationPlates * _result = 0;
+    HRESULT _hr = get_Plates(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBASeparationPlatesPtr(_result, false);
+}
+
+#pragma implementation_key(213)
+inline long VGCore::IPrnVBAPrintSeparations::GetResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Resolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(214)
+inline void VGCore::IPrnVBAPrintSeparations::PutResolution ( long pVal ) {
+    HRESULT _hr = put_Resolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(215)
+inline _bstr_t VGCore::IPrnVBAPrintSeparations::GetBasicScreen ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_BasicScreen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(216)
+inline void VGCore::IPrnVBAPrintSeparations::PutBasicScreen ( _bstr_t pVal ) {
+    HRESULT _hr = put_BasicScreen(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(217)
+inline _bstr_t VGCore::IPrnVBAPrintSeparations::GetHalftoneType ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_HalftoneType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(218)
+inline void VGCore::IPrnVBAPrintSeparations::PutHalftoneType ( _bstr_t pVal ) {
+    HRESULT _hr = put_HalftoneType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(219)
+inline _bstr_t VGCore::IPrnVBAPrintSeparations::GetScreenTechnology ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ScreenTechnology(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(220)
+inline void VGCore::IPrnVBAPrintSeparations::PutScreenTechnology ( _bstr_t pVal ) {
+    HRESULT _hr = put_ScreenTechnology(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBAPrintPrepress wrapper method implementations
+//
+
+#pragma implementation_key(221)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetInvert ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Invert(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(222)
+inline void VGCore::IPrnVBAPrintPrepress::PutInvert ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Invert(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(223)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetMirror ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Mirror(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(224)
+inline void VGCore::IPrnVBAPrintPrepress::PutMirror ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Mirror(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(225)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetFileInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FileInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(226)
+inline void VGCore::IPrnVBAPrintPrepress::PutFileInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FileInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(227)
+inline _bstr_t VGCore::IPrnVBAPrintPrepress::GetJobName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_JobName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(228)
+inline void VGCore::IPrnVBAPrintPrepress::PutJobName ( _bstr_t pVal ) {
+    HRESULT _hr = put_JobName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(229)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetPageNumbers ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PageNumbers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(230)
+inline void VGCore::IPrnVBAPrintPrepress::PutPageNumbers ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PageNumbers(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(231)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetInfoWithinPage ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_InfoWithinPage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(232)
+inline void VGCore::IPrnVBAPrintPrepress::PutInfoWithinPage ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_InfoWithinPage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(233)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetCropMarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CropMarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(234)
+inline void VGCore::IPrnVBAPrintPrepress::PutCropMarks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_CropMarks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(235)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetExteriorCropMarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ExteriorCropMarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(236)
+inline void VGCore::IPrnVBAPrintPrepress::PutExteriorCropMarks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ExteriorCropMarks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(237)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetRegistrationMarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RegistrationMarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(238)
+inline void VGCore::IPrnVBAPrintPrepress::PutRegistrationMarks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RegistrationMarks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(239)
+inline enum VGCore::PrnRegistrationStyle VGCore::IPrnVBAPrintPrepress::GetRegistrationStyle ( ) {
+    enum PrnRegistrationStyle _result;
+    HRESULT _hr = get_RegistrationStyle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(240)
+inline void VGCore::IPrnVBAPrintPrepress::PutRegistrationStyle ( enum PrnRegistrationStyle pVal ) {
+    HRESULT _hr = put_RegistrationStyle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(241)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetColorCalibrationBar ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ColorCalibrationBar(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(242)
+inline void VGCore::IPrnVBAPrintPrepress::PutColorCalibrationBar ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ColorCalibrationBar(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(243)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetDensitometerScale ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DensitometerScale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(244)
+inline void VGCore::IPrnVBAPrintPrepress::PutDensitometerScale ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DensitometerScale(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(245)
+inline long VGCore::IPrnVBAPrintPrepress::GetDensities ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_Densities(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(246)
+inline void VGCore::IPrnVBAPrintPrepress::PutDensities ( long Index, long pVal ) {
+    HRESULT _hr = put_Densities(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(247)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPrepress::GetMarksToObjects ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MarksToObjects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(248)
+inline void VGCore::IPrnVBAPrintPrepress::PutMarksToObjects ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MarksToObjects(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBAPrintPostScript wrapper method implementations
+//
+
+#pragma implementation_key(249)
+inline enum VGCore::PrnPostScriptLevel VGCore::IPrnVBAPrintPostScript::GetLevel ( ) {
+    enum PrnPostScriptLevel _result;
+    HRESULT _hr = get_Level(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(250)
+inline void VGCore::IPrnVBAPrintPostScript::PutLevel ( enum PrnPostScriptLevel pVal ) {
+    HRESULT _hr = put_Level(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(251)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetConformToDSC ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ConformToDSC(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(252)
+inline void VGCore::IPrnVBAPrintPostScript::PutConformToDSC ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ConformToDSC(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(253)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetJPEGCompression ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_JPEGCompression(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(254)
+inline void VGCore::IPrnVBAPrintPostScript::PutJPEGCompression ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_JPEGCompression(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(255)
+inline long VGCore::IPrnVBAPrintPostScript::GetJPEGQuality ( ) {
+    long _result = 0;
+    HRESULT _hr = get_JPEGQuality(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(256)
+inline void VGCore::IPrnVBAPrintPostScript::PutJPEGQuality ( long pVal ) {
+    HRESULT _hr = put_JPEGQuality(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(257)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetMaintainOPILinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MaintainOPILinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(258)
+inline void VGCore::IPrnVBAPrintPostScript::PutMaintainOPILinks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MaintainOPILinks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(259)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetResolveDCSLinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ResolveDCSLinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(260)
+inline void VGCore::IPrnVBAPrintPostScript::PutResolveDCSLinks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ResolveDCSLinks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(261)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetDownloadType1 ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DownloadType1(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(262)
+inline void VGCore::IPrnVBAPrintPostScript::PutDownloadType1 ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DownloadType1(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(263)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetTrueTypeToType1 ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TrueTypeToType1(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(264)
+inline void VGCore::IPrnVBAPrintPostScript::PutTrueTypeToType1 ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TrueTypeToType1(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(265)
+inline enum VGCore::PrnPDFStartup VGCore::IPrnVBAPrintPostScript::GetPDFStartup ( ) {
+    enum PrnPDFStartup _result;
+    HRESULT _hr = get_PDFStartup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(266)
+inline void VGCore::IPrnVBAPrintPostScript::PutPDFStartup ( enum PrnPDFStartup pVal ) {
+    HRESULT _hr = put_PDFStartup(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(267)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetPDFHyperlinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PDFHyperlinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(268)
+inline void VGCore::IPrnVBAPrintPostScript::PutPDFHyperlinks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PDFHyperlinks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(269)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetpdfBookmarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_pdfBookmarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(270)
+inline void VGCore::IPrnVBAPrintPostScript::PutpdfBookmarks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_pdfBookmarks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(271)
+inline long VGCore::IPrnVBAPrintPostScript::GetMaxPointsPerCurve ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MaxPointsPerCurve(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(272)
+inline void VGCore::IPrnVBAPrintPostScript::PutMaxPointsPerCurve ( long pVal ) {
+    HRESULT _hr = put_MaxPointsPerCurve(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(273)
+inline long VGCore::IPrnVBAPrintPostScript::GetFlatness ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Flatness(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(274)
+inline void VGCore::IPrnVBAPrintPostScript::PutFlatness ( long pVal ) {
+    HRESULT _hr = put_Flatness(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(275)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetAutoIncreaseFlatness ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AutoIncreaseFlatness(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(276)
+inline void VGCore::IPrnVBAPrintPostScript::PutAutoIncreaseFlatness ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AutoIncreaseFlatness(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(277)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetAutoIncreaseFountainSteps ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AutoIncreaseFountainSteps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(278)
+inline void VGCore::IPrnVBAPrintPostScript::PutAutoIncreaseFountainSteps ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AutoIncreaseFountainSteps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(279)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintPostScript::GetOptimizeFountainFills ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OptimizeFountainFills(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(280)
+inline void VGCore::IPrnVBAPrintPostScript::PutOptimizeFountainFills ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OptimizeFountainFills(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(281)
+inline long VGCore::IPrnVBAPrintPostScript::GetScreenFrequency ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ScreenFrequency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(282)
+inline void VGCore::IPrnVBAPrintPostScript::PutScreenFrequency ( long pVal ) {
+    HRESULT _hr = put_ScreenFrequency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBATrapLayer wrapper method implementations
+//
+
+#pragma implementation_key(283)
+inline enum VGCore::PrnPlateType VGCore::IPrnVBATrapLayer::GetType ( ) {
+    enum PrnPlateType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(284)
+inline _bstr_t VGCore::IPrnVBATrapLayer::GetColor ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(285)
+inline double VGCore::IPrnVBATrapLayer::GetDensity ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Density(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(286)
+inline void VGCore::IPrnVBATrapLayer::PutDensity ( double pVal ) {
+    HRESULT _hr = put_Density(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(287)
+inline enum VGCore::PrnTrapType VGCore::IPrnVBATrapLayer::GetTrapType ( ) {
+    enum PrnTrapType _result;
+    HRESULT _hr = get_TrapType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(288)
+inline void VGCore::IPrnVBATrapLayer::PutTrapType ( enum PrnTrapType pVal ) {
+    HRESULT _hr = put_TrapType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(289)
+inline long VGCore::IPrnVBATrapLayer::GetOrder ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Order(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(290)
+inline void VGCore::IPrnVBATrapLayer::PutOrder ( long pVal ) {
+    HRESULT _hr = put_Order(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBATrapLayers wrapper method implementations
+//
+
+#pragma implementation_key(291)
+inline long VGCore::IPrnVBATrapLayers::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(292)
+inline VGCore::IPrnVBATrapLayerPtr VGCore::IPrnVBATrapLayers::GetItem ( long Index ) {
+    struct IPrnVBATrapLayer * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBATrapLayerPtr(_result, false);
+}
+
+//
+// interface IPrnVBAPrintTrapping wrapper method implementations
+//
+
+#pragma implementation_key(293)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintTrapping::GetEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Enabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(294)
+inline void VGCore::IPrnVBAPrintTrapping::PutEnabled ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Enabled(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(295)
+inline VGCore::IPrnVBATrapLayersPtr VGCore::IPrnVBAPrintTrapping::GetLayers ( ) {
+    struct IPrnVBATrapLayers * _result = 0;
+    HRESULT _hr = get_Layers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBATrapLayersPtr(_result, false);
+}
+
+#pragma implementation_key(296)
+inline double VGCore::IPrnVBAPrintTrapping::GetWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(297)
+inline void VGCore::IPrnVBAPrintTrapping::PutWidth ( double pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(298)
+inline double VGCore::IPrnVBAPrintTrapping::GetBlackWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BlackWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(299)
+inline void VGCore::IPrnVBAPrintTrapping::PutBlackWidth ( double pVal ) {
+    HRESULT _hr = put_BlackWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(300)
+inline long VGCore::IPrnVBAPrintTrapping::GetColorScaling ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColorScaling(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(301)
+inline void VGCore::IPrnVBAPrintTrapping::PutColorScaling ( long pVal ) {
+    HRESULT _hr = put_ColorScaling(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(302)
+inline long VGCore::IPrnVBAPrintTrapping::GetStepLimit ( ) {
+    long _result = 0;
+    HRESULT _hr = get_StepLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(303)
+inline void VGCore::IPrnVBAPrintTrapping::PutStepLimit ( long pVal ) {
+    HRESULT _hr = put_StepLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(304)
+inline long VGCore::IPrnVBAPrintTrapping::GetBlackColorLimit ( ) {
+    long _result = 0;
+    HRESULT _hr = get_BlackColorLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(305)
+inline void VGCore::IPrnVBAPrintTrapping::PutBlackColorLimit ( long pVal ) {
+    HRESULT _hr = put_BlackColorLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(306)
+inline double VGCore::IPrnVBAPrintTrapping::GetBlackDensityLimit ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BlackDensityLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(307)
+inline void VGCore::IPrnVBAPrintTrapping::PutBlackDensityLimit ( double pVal ) {
+    HRESULT _hr = put_BlackDensityLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(308)
+inline long VGCore::IPrnVBAPrintTrapping::GetSlidingTrapLimit ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SlidingTrapLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(309)
+inline void VGCore::IPrnVBAPrintTrapping::PutSlidingTrapLimit ( long pVal ) {
+    HRESULT _hr = put_SlidingTrapLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(310)
+inline enum VGCore::PrnImageTrap VGCore::IPrnVBAPrintTrapping::GetImageTrap ( ) {
+    enum PrnImageTrap _result;
+    HRESULT _hr = get_ImageTrap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(311)
+inline void VGCore::IPrnVBAPrintTrapping::PutImageTrap ( enum PrnImageTrap pVal ) {
+    HRESULT _hr = put_ImageTrap(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(312)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintTrapping::GetObjectsToImage ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ObjectsToImage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(313)
+inline void VGCore::IPrnVBAPrintTrapping::PutObjectsToImage ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ObjectsToImage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(314)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintTrapping::GetInternalImageTrapping ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_InternalImageTrapping(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(315)
+inline void VGCore::IPrnVBAPrintTrapping::PutInternalImageTrapping ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_InternalImageTrapping(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(316)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintTrapping::GetTrapMonoBitmaps ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TrapMonoBitmaps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(317)
+inline void VGCore::IPrnVBAPrintTrapping::PutTrapMonoBitmaps ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TrapMonoBitmaps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBAPrintOptions wrapper method implementations
+//
+
+#pragma implementation_key(318)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetUseColorProfile ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseColorProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(319)
+inline void VGCore::IPrnVBAPrintOptions::PutUseColorProfile ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseColorProfile(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(320)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetPrintVectors ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintVectors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(321)
+inline void VGCore::IPrnVBAPrintOptions::PutPrintVectors ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintVectors(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(322)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetPrintBitmaps ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintBitmaps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(323)
+inline void VGCore::IPrnVBAPrintOptions::PutPrintBitmaps ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintBitmaps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(324)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetPrintText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(325)
+inline void VGCore::IPrnVBAPrintOptions::PutPrintText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(326)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetTextInBlack ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TextInBlack(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(327)
+inline void VGCore::IPrnVBAPrintOptions::PutTextInBlack ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TextInBlack(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(328)
+inline enum VGCore::PrnColorMode VGCore::IPrnVBAPrintOptions::GetColorMode ( ) {
+    enum PrnColorMode _result;
+    HRESULT _hr = get_ColorMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(329)
+inline void VGCore::IPrnVBAPrintOptions::PutColorMode ( enum PrnColorMode pVal ) {
+    HRESULT _hr = put_ColorMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(330)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetMarksToPage ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MarksToPage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(331)
+inline void VGCore::IPrnVBAPrintOptions::PutMarksToPage ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MarksToPage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(332)
+inline enum VGCore::PrnBitmapColorMode VGCore::IPrnVBAPrintOptions::GetBitmapColorMode ( ) {
+    enum PrnBitmapColorMode _result;
+    HRESULT _hr = get_BitmapColorMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(333)
+inline void VGCore::IPrnVBAPrintOptions::PutBitmapColorMode ( enum PrnBitmapColorMode pVal ) {
+    HRESULT _hr = put_BitmapColorMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(334)
+inline long VGCore::IPrnVBAPrintOptions::GetFountainSteps ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FountainSteps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(335)
+inline void VGCore::IPrnVBAPrintOptions::PutFountainSteps ( long pVal ) {
+    HRESULT _hr = put_FountainSteps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(336)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetRasterizePage ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RasterizePage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(337)
+inline void VGCore::IPrnVBAPrintOptions::PutRasterizePage ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RasterizePage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(338)
+inline long VGCore::IPrnVBAPrintOptions::GetRasterizeResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RasterizeResolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(339)
+inline void VGCore::IPrnVBAPrintOptions::PutRasterizeResolution ( long pVal ) {
+    HRESULT _hr = put_RasterizeResolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(340)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetDownsampleColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DownsampleColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(341)
+inline void VGCore::IPrnVBAPrintOptions::PutDownsampleColor ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DownsampleColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(342)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetDownsampleGray ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DownsampleGray(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(343)
+inline void VGCore::IPrnVBAPrintOptions::PutDownsampleGray ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DownsampleGray(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(344)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetDownsampleMono ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DownsampleMono(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(345)
+inline void VGCore::IPrnVBAPrintOptions::PutDownsampleMono ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DownsampleMono(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(346)
+inline long VGCore::IPrnVBAPrintOptions::GetColorResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColorResolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(347)
+inline void VGCore::IPrnVBAPrintOptions::PutColorResolution ( long pVal ) {
+    HRESULT _hr = put_ColorResolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(348)
+inline long VGCore::IPrnVBAPrintOptions::GetGrayResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_GrayResolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(349)
+inline void VGCore::IPrnVBAPrintOptions::PutGrayResolution ( long pVal ) {
+    HRESULT _hr = put_GrayResolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(350)
+inline long VGCore::IPrnVBAPrintOptions::GetMonoResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MonoResolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(351)
+inline void VGCore::IPrnVBAPrintOptions::PutMonoResolution ( long pVal ) {
+    HRESULT _hr = put_MonoResolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(352)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetJobInformation ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_JobInformation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(353)
+inline void VGCore::IPrnVBAPrintOptions::PutJobInformation ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_JobInformation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(354)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetAppInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AppInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(355)
+inline void VGCore::IPrnVBAPrintOptions::PutAppInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AppInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(356)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetDriverInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DriverInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(357)
+inline void VGCore::IPrnVBAPrintOptions::PutDriverInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DriverInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(358)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetPrintJobInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintJobInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(359)
+inline void VGCore::IPrnVBAPrintOptions::PutPrintJobInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintJobInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(360)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetSepsInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SepsInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(361)
+inline void VGCore::IPrnVBAPrintOptions::PutSepsInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_SepsInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(362)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetFontInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FontInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(363)
+inline void VGCore::IPrnVBAPrintOptions::PutFontInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FontInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(364)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetLinkInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_LinkInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(365)
+inline void VGCore::IPrnVBAPrintOptions::PutLinkInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_LinkInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(366)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetInRIPTrapInfo ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_InRIPTrapInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(367)
+inline void VGCore::IPrnVBAPrintOptions::PutInRIPTrapInfo ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_InRIPTrapInfo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(368)
+inline enum VGCore::PrnObjectsColorMode VGCore::IPrnVBAPrintOptions::GetObjectsColorMode ( ) {
+    enum PrnObjectsColorMode _result;
+    HRESULT _hr = get_ObjectsColorMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(369)
+inline void VGCore::IPrnVBAPrintOptions::PutObjectsColorMode ( enum PrnObjectsColorMode pVal ) {
+    HRESULT _hr = put_ObjectsColorMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(370)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintOptions::GetPreservePureBlack ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PreservePureBlack(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(371)
+inline void VGCore::IPrnVBAPrintOptions::PutPreservePureBlack ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PreservePureBlack(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBAPrintSettings wrapper method implementations
+//
+
+#pragma implementation_key(372)
+inline VGCore::IPrnVBAPrinterPtr VGCore::IPrnVBAPrintSettings::GetPrinter ( ) {
+    struct IPrnVBAPrinter * _result = 0;
+    HRESULT _hr = get_Printer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrinterPtr(_result, false);
+}
+
+#pragma implementation_key(373)
+inline void VGCore::IPrnVBAPrintSettings::PutRefPrinter ( struct IPrnVBAPrinter * pVal ) {
+    HRESULT _hr = putref_Printer(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(374)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSettings::GetUsePPD ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UsePPD(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(375)
+inline void VGCore::IPrnVBAPrintSettings::PutUsePPD ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UsePPD(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(376)
+inline _bstr_t VGCore::IPrnVBAPrintSettings::GetPPDFile ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PPDFile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(377)
+inline void VGCore::IPrnVBAPrintSettings::PutPPDFile ( _bstr_t pVal ) {
+    HRESULT _hr = put_PPDFile(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(378)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSettings::GetPrintToFile ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintToFile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(379)
+inline void VGCore::IPrnVBAPrintSettings::PutPrintToFile ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintToFile(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(380)
+inline _bstr_t VGCore::IPrnVBAPrintSettings::GetFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(381)
+inline void VGCore::IPrnVBAPrintSettings::PutFileName ( _bstr_t pVal ) {
+    HRESULT _hr = put_FileName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(382)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSettings::GetForMac ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ForMac(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(383)
+inline void VGCore::IPrnVBAPrintSettings::PutForMac ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ForMac(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(384)
+inline enum VGCore::PrnFileMode VGCore::IPrnVBAPrintSettings::GetFileMode ( ) {
+    enum PrnFileMode _result;
+    HRESULT _hr = get_FileMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(385)
+inline void VGCore::IPrnVBAPrintSettings::PutFileMode ( enum PrnFileMode pVal ) {
+    HRESULT _hr = put_FileMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(386)
+inline enum VGCore::PrnPrintRange VGCore::IPrnVBAPrintSettings::GetPrintRange ( ) {
+    enum PrnPrintRange _result;
+    HRESULT _hr = get_PrintRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(387)
+inline void VGCore::IPrnVBAPrintSettings::PutPrintRange ( enum PrnPrintRange pVal ) {
+    HRESULT _hr = put_PrintRange(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(388)
+inline _bstr_t VGCore::IPrnVBAPrintSettings::GetPageRange ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PageRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(389)
+inline void VGCore::IPrnVBAPrintSettings::PutPageRange ( _bstr_t pVal ) {
+    HRESULT _hr = put_PageRange(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(390)
+inline long VGCore::IPrnVBAPrintSettings::GetCopies ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Copies(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(391)
+inline void VGCore::IPrnVBAPrintSettings::PutCopies ( long pVal ) {
+    HRESULT _hr = put_Copies(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(392)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSettings::GetCollate ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Collate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(393)
+inline void VGCore::IPrnVBAPrintSettings::PutCollate ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Collate(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(394)
+inline VGCore::IPrnVBAPrintSeparationsPtr VGCore::IPrnVBAPrintSettings::GetSeparations ( ) {
+    struct IPrnVBAPrintSeparations * _result = 0;
+    HRESULT _hr = get_Separations(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintSeparationsPtr(_result, false);
+}
+
+#pragma implementation_key(395)
+inline VGCore::IPrnVBAPrintPrepressPtr VGCore::IPrnVBAPrintSettings::GetPrepress ( ) {
+    struct IPrnVBAPrintPrepress * _result = 0;
+    HRESULT _hr = get_Prepress(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintPrepressPtr(_result, false);
+}
+
+#pragma implementation_key(396)
+inline VGCore::IPrnVBAPrintPostScriptPtr VGCore::IPrnVBAPrintSettings::GetPostScript ( ) {
+    struct IPrnVBAPrintPostScript * _result = 0;
+    HRESULT _hr = get_PostScript(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintPostScriptPtr(_result, false);
+}
+
+#pragma implementation_key(397)
+inline VGCore::IPrnVBAPrintTrappingPtr VGCore::IPrnVBAPrintSettings::GetTrapping ( ) {
+    struct IPrnVBAPrintTrapping * _result = 0;
+    HRESULT _hr = get_Trapping(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintTrappingPtr(_result, false);
+}
+
+#pragma implementation_key(398)
+inline VGCore::IPrnVBAPrintOptionsPtr VGCore::IPrnVBAPrintSettings::GetOptions ( ) {
+    struct IPrnVBAPrintOptions * _result = 0;
+    HRESULT _hr = get_Options(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(399)
+inline HRESULT VGCore::IPrnVBAPrintSettings::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(400)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSettings::Load ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Load(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(401)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSettings::Save ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Save(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(402)
+inline VARIANT_BOOL VGCore::IPrnVBAPrintSettings::ShowDialog ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ShowDialog(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(403)
+inline HRESULT VGCore::IPrnVBAPrintSettings::SelectPrinter ( _bstr_t Name ) {
+    HRESULT _hr = raw_SelectPrinter(Name);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(404)
+inline enum VGCore::PrnPageSet VGCore::IPrnVBAPrintSettings::GetPageSet ( ) {
+    enum PrnPageSet _result;
+    HRESULT _hr = get_PageSet(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(405)
+inline void VGCore::IPrnVBAPrintSettings::PutPageSet ( enum PrnPageSet pVal ) {
+    HRESULT _hr = put_PageSet(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(406)
+inline enum VGCore::PrnPaperOrientation VGCore::IPrnVBAPrintSettings::GetPaperOrientation ( ) {
+    enum PrnPaperOrientation _result;
+    HRESULT _hr = get_PaperOrientation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(407)
+inline void VGCore::IPrnVBAPrintSettings::PutPaperOrientation ( enum PrnPaperOrientation pVal ) {
+    HRESULT _hr = put_PaperOrientation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(408)
+inline enum VGCore::PrnPaperSize VGCore::IPrnVBAPrintSettings::GetPaperSize ( ) {
+    enum PrnPaperSize _result;
+    HRESULT _hr = get_PaperSize(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(409)
+inline void VGCore::IPrnVBAPrintSettings::PutPaperSize ( enum PrnPaperSize pVal ) {
+    HRESULT _hr = put_PaperSize(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(410)
+inline HRESULT VGCore::IPrnVBAPrintSettings::SetPaperSize ( enum PrnPaperSize PaperSize, enum PrnPaperOrientation Orientation ) {
+    HRESULT _hr = raw_SetPaperSize(PaperSize, Orientation);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(411)
+inline double VGCore::IPrnVBAPrintSettings::GetPaperWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PaperWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(412)
+inline double VGCore::IPrnVBAPrintSettings::GetPaperHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PaperHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(413)
+inline HRESULT VGCore::IPrnVBAPrintSettings::SetCustomPaperSize ( double Width, double Height, enum PrnPaperOrientation Orientation ) {
+    HRESULT _hr = raw_SetCustomPaperSize(Width, Height, Orientation);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(414)
+inline VGCore::IPrnVBAPrintLayoutPtr VGCore::IPrnVBAPrintSettings::GetLayout ( ) {
+    struct IPrnVBAPrintLayout * _result = 0;
+    HRESULT _hr = get_Layout(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintLayoutPtr(_result, false);
+}
+
+#pragma implementation_key(415)
+inline HRESULT VGCore::IPrnVBAPrintSettings::PrintOut ( ) {
+    HRESULT _hr = raw_PrintOut();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(416)
+inline HRESULT VGCore::IPrnVBAPrintSettings::PrintColorProof ( IDispatch * ProofSettings ) {
+    HRESULT _hr = raw_PrintColorProof(ProofSettings);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(417)
+inline enum VGCore::PrnPageMatchingMode VGCore::IPrnVBAPrintSettings::GetPageMatchingMode ( ) {
+    enum PrnPageMatchingMode _result;
+    HRESULT _hr = get_PageMatchingMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(418)
+inline void VGCore::IPrnVBAPrintSettings::PutPageMatchingMode ( enum PrnPageMatchingMode pVal ) {
+    HRESULT _hr = put_PageMatchingMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IPrnVBAPrintDocument wrapper method implementations
+//
+
+#pragma implementation_key(419)
+inline HRESULT VGCore::IPrnVBAPrintDocument::_GetPrintDocument ( INT_PTR * pDoc ) {
+    HRESULT _hr = raw__GetPrintDocument(pDoc);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IPrnVBAPrintDocuments wrapper method implementations
+//
+
+#pragma implementation_key(420)
+inline VGCore::IPrnVBAPrintDocumentPtr VGCore::IPrnVBAPrintDocuments::GetItem ( long Index ) {
+    struct IPrnVBAPrintDocument * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(421)
+inline long VGCore::IPrnVBAPrintDocuments::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IPrnVBAPrintPage wrapper method implementations
+//
+
+#pragma implementation_key(422)
+inline HRESULT VGCore::IPrnVBAPrintPage::_GetPrintDocument ( INT_PTR * pDoc ) {
+    HRESULT _hr = raw__GetPrintDocument(pDoc);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(423)
+inline HRESULT VGCore::IPrnVBAPrintPage::_GetPrintPage ( long * pPage ) {
+    HRESULT _hr = raw__GetPrintPage(pPage);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IPrnVBAPrintPages wrapper method implementations
+//
+
+#pragma implementation_key(424)
+inline VGCore::IPrnVBAPrintPagePtr VGCore::IPrnVBAPrintPages::GetItem ( long Index ) {
+    struct IPrnVBAPrintPage * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintPagePtr(_result, false);
+}
+
+#pragma implementation_key(425)
+inline long VGCore::IPrnVBAPrintPages::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IPrnVBAPrintJob wrapper method implementations
+//
+
+#pragma implementation_key(426)
+inline VGCore::IPrnVBAPrintSettingsPtr VGCore::IPrnVBAPrintJob::GetSettings ( ) {
+    struct IPrnVBAPrintSettings * _result = 0;
+    HRESULT _hr = get_Settings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(427)
+inline VGCore::IPrnVBAPrintDocumentsPtr VGCore::IPrnVBAPrintJob::GetDocuments ( ) {
+    struct IPrnVBAPrintDocuments * _result = 0;
+    HRESULT _hr = get_Documents(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintDocumentsPtr(_result, false);
+}
+
+#pragma implementation_key(428)
+inline VGCore::IPrnVBAPrintPagesPtr VGCore::IPrnVBAPrintJob::GetPages ( ) {
+    struct IPrnVBAPrintPages * _result = 0;
+    HRESULT _hr = get_Pages(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintPagesPtr(_result, false);
+}
+
+#pragma implementation_key(429)
+inline HRESULT VGCore::IPrnVBAPrintJob::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(430)
+inline HRESULT VGCore::IPrnVBAPrintJob::PrintOut ( ) {
+    HRESULT _hr = raw_PrintOut();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(431)
+inline HRESULT VGCore::IPrnVBAPrintJob::AddDocument ( struct IPrnVBAPrintDocument * Document, _bstr_t PageRange ) {
+    HRESULT _hr = raw_AddDocument(Document, PageRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(432)
+inline HRESULT VGCore::IPrnVBAPrintJob::AddPage ( struct IPrnVBAPrintPage * Page ) {
+    HRESULT _hr = raw_AddPage(Page);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IPDFVBASettings wrapper method implementations
+//
+
+#pragma implementation_key(433)
+inline HRESULT VGCore::IPDFVBASettings::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(434)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::Load ( _bstr_t SettingName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Load(SettingName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(435)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::Save ( _bstr_t SettingName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Save(SettingName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(436)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::ShowDialog ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ShowDialog(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(437)
+inline HRESULT VGCore::IPDFVBASettings::PublishToPDF ( _bstr_t FileName ) {
+    HRESULT _hr = raw_PublishToPDF(FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(438)
+inline void VGCore::IPDFVBASettings::PutPublishRange ( enum pdfExportRange pExportRange ) {
+    HRESULT _hr = put_PublishRange(pExportRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(439)
+inline enum VGCore::pdfExportRange VGCore::IPDFVBASettings::GetPublishRange ( ) {
+    enum pdfExportRange _result;
+    HRESULT _hr = get_PublishRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(440)
+inline void VGCore::IPDFVBASettings::PutPageRange ( _bstr_t pszExportPagesRange ) {
+    HRESULT _hr = put_PageRange(pszExportPagesRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(441)
+inline _bstr_t VGCore::IPDFVBASettings::GetPageRange ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PageRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(442)
+inline void VGCore::IPDFVBASettings::PutAuthor ( _bstr_t pszAuthor ) {
+    HRESULT _hr = put_Author(pszAuthor);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(443)
+inline _bstr_t VGCore::IPDFVBASettings::GetAuthor ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Author(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(444)
+inline void VGCore::IPDFVBASettings::PutSubject ( _bstr_t pszSubject ) {
+    HRESULT _hr = put_Subject(pszSubject);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(445)
+inline _bstr_t VGCore::IPDFVBASettings::GetSubject ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Subject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(446)
+inline void VGCore::IPDFVBASettings::PutKeywords ( _bstr_t pszKeywords ) {
+    HRESULT _hr = put_Keywords(pszKeywords);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(447)
+inline _bstr_t VGCore::IPDFVBASettings::GetKeywords ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Keywords(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(448)
+inline void VGCore::IPDFVBASettings::PutBitmapCompression ( enum pdfBitmapCompressionType pBitmapCompressionType ) {
+    HRESULT _hr = put_BitmapCompression(pBitmapCompressionType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(449)
+inline enum VGCore::pdfBitmapCompressionType VGCore::IPDFVBASettings::GetBitmapCompression ( ) {
+    enum pdfBitmapCompressionType _result;
+    HRESULT _hr = get_BitmapCompression(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(450)
+inline void VGCore::IPDFVBASettings::PutJPEGQualityFactor ( int pnQuality ) {
+    HRESULT _hr = put_JPEGQualityFactor(pnQuality);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(451)
+inline int VGCore::IPDFVBASettings::GetJPEGQualityFactor ( ) {
+    int _result = 0;
+    HRESULT _hr = get_JPEGQualityFactor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(452)
+inline void VGCore::IPDFVBASettings::PutTextAsCurves ( VARIANT_BOOL pbTextAsCurves ) {
+    HRESULT _hr = put_TextAsCurves(pbTextAsCurves);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(453)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetTextAsCurves ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TextAsCurves(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(454)
+inline void VGCore::IPDFVBASettings::PutEmbedFonts ( VARIANT_BOOL pbEmbedFonts ) {
+    HRESULT _hr = put_EmbedFonts(pbEmbedFonts);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(455)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetEmbedFonts ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EmbedFonts(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(456)
+inline void VGCore::IPDFVBASettings::PutEmbedBaseFonts ( VARIANT_BOOL pbEmbedBaseFonts ) {
+    HRESULT _hr = put_EmbedBaseFonts(pbEmbedBaseFonts);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(457)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetEmbedBaseFonts ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EmbedBaseFonts(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(458)
+inline void VGCore::IPDFVBASettings::PutTrueTypeToType1 ( VARIANT_BOOL pbTrueTypeToType1 ) {
+    HRESULT _hr = put_TrueTypeToType1(pbTrueTypeToType1);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(459)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetTrueTypeToType1 ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TrueTypeToType1(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(460)
+inline void VGCore::IPDFVBASettings::PutSubsetFonts ( VARIANT_BOOL pbSubsetType1Fonts ) {
+    HRESULT _hr = put_SubsetFonts(pbSubsetType1Fonts);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(461)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetSubsetFonts ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SubsetFonts(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(462)
+inline void VGCore::IPDFVBASettings::PutSubsetPct ( long pnLevel ) {
+    HRESULT _hr = put_SubsetPct(pnLevel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(463)
+inline long VGCore::IPDFVBASettings::GetSubsetPct ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SubsetPct(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(464)
+inline void VGCore::IPDFVBASettings::PutCompressText ( VARIANT_BOOL pbCompressText ) {
+    HRESULT _hr = put_CompressText(pbCompressText);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(465)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetCompressText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CompressText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(466)
+inline void VGCore::IPDFVBASettings::PutEncoding ( enum pdfEncodingType pEncoding ) {
+    HRESULT _hr = put_Encoding(pEncoding);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(467)
+inline enum VGCore::pdfEncodingType VGCore::IPDFVBASettings::GetEncoding ( ) {
+    enum pdfEncodingType _result;
+    HRESULT _hr = get_Encoding(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(468)
+inline void VGCore::IPDFVBASettings::PutDownsampleColor ( VARIANT_BOOL pbDownsample ) {
+    HRESULT _hr = put_DownsampleColor(pbDownsample);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(469)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetDownsampleColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DownsampleColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(470)
+inline void VGCore::IPDFVBASettings::PutDownsampleGray ( VARIANT_BOOL pbDownsample ) {
+    HRESULT _hr = put_DownsampleGray(pbDownsample);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(471)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetDownsampleGray ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DownsampleGray(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(472)
+inline void VGCore::IPDFVBASettings::PutDownsampleMono ( VARIANT_BOOL pbDownsample ) {
+    HRESULT _hr = put_DownsampleMono(pbDownsample);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(473)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetDownsampleMono ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DownsampleMono(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(474)
+inline void VGCore::IPDFVBASettings::PutColorResolution ( long pnDownsampleResolution ) {
+    HRESULT _hr = put_ColorResolution(pnDownsampleResolution);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(475)
+inline long VGCore::IPDFVBASettings::GetColorResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColorResolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(476)
+inline void VGCore::IPDFVBASettings::PutMonoResolution ( long pnDownsampleResolution ) {
+    HRESULT _hr = put_MonoResolution(pnDownsampleResolution);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(477)
+inline long VGCore::IPDFVBASettings::GetMonoResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MonoResolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(478)
+inline void VGCore::IPDFVBASettings::PutGrayResolution ( long pnDownsampleResolution ) {
+    HRESULT _hr = put_GrayResolution(pnDownsampleResolution);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(479)
+inline long VGCore::IPDFVBASettings::GetGrayResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_GrayResolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(480)
+inline void VGCore::IPDFVBASettings::PutHyperlinks ( VARIANT_BOOL pbIncludeHyperlinks ) {
+    HRESULT _hr = put_Hyperlinks(pbIncludeHyperlinks);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(481)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetHyperlinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Hyperlinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(482)
+inline void VGCore::IPDFVBASettings::PutBookmarks ( VARIANT_BOOL pbGenerateBookmarks ) {
+    HRESULT _hr = put_Bookmarks(pbGenerateBookmarks);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(483)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetBookmarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Bookmarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(484)
+inline void VGCore::IPDFVBASettings::PutThumbnails ( VARIANT_BOOL pbGenerateThumbnails ) {
+    HRESULT _hr = put_Thumbnails(pbGenerateThumbnails);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(485)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetThumbnails ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Thumbnails(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(486)
+inline void VGCore::IPDFVBASettings::PutStartup ( enum pdfDisplayOnStart pDisplayOnStart ) {
+    HRESULT _hr = put_Startup(pDisplayOnStart);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(487)
+inline enum VGCore::pdfDisplayOnStart VGCore::IPDFVBASettings::GetStartup ( ) {
+    enum pdfDisplayOnStart _result;
+    HRESULT _hr = get_Startup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(488)
+inline void VGCore::IPDFVBASettings::PutComplexFillsAsBitmaps ( VARIANT_BOOL pbComplexFillsAsBitmaps ) {
+    HRESULT _hr = put_ComplexFillsAsBitmaps(pbComplexFillsAsBitmaps);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(489)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetComplexFillsAsBitmaps ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ComplexFillsAsBitmaps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(490)
+inline void VGCore::IPDFVBASettings::PutOverprints ( VARIANT_BOOL pbPreserveOverprints ) {
+    HRESULT _hr = put_Overprints(pbPreserveOverprints);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(491)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetOverprints ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Overprints(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(492)
+inline void VGCore::IPDFVBASettings::PutHalftones ( VARIANT_BOOL pbPreserveHalftones ) {
+    HRESULT _hr = put_Halftones(pbPreserveHalftones);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(493)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetHalftones ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Halftones(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(494)
+inline void VGCore::IPDFVBASettings::PutSpotColors ( VARIANT_BOOL pbPreserveSpotColors ) {
+    HRESULT _hr = put_SpotColors(pbPreserveSpotColors);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(495)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetSpotColors ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SpotColors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(496)
+inline void VGCore::IPDFVBASettings::PutMaintainOPILinks ( VARIANT_BOOL pbMaintainOPILinks ) {
+    HRESULT _hr = put_MaintainOPILinks(pbMaintainOPILinks);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(497)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetMaintainOPILinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MaintainOPILinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(498)
+inline void VGCore::IPDFVBASettings::PutFountainSteps ( long pnFountainSteps ) {
+    HRESULT _hr = put_FountainSteps(pnFountainSteps);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(499)
+inline long VGCore::IPDFVBASettings::GetFountainSteps ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FountainSteps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(500)
+inline void VGCore::IPDFVBASettings::PutEPSAs ( enum pdfEPSAs peEPSAs ) {
+    HRESULT _hr = put_EPSAs(peEPSAs);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(501)
+inline enum VGCore::pdfEPSAs VGCore::IPDFVBASettings::GetEPSAs ( ) {
+    enum pdfEPSAs _result;
+    HRESULT _hr = get_EPSAs(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(502)
+inline void VGCore::IPDFVBASettings::PutpdfVersion ( enum pdfVersion pePDFVersion ) {
+    HRESULT _hr = put_pdfVersion(pePDFVersion);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(503)
+inline enum VGCore::pdfVersion VGCore::IPDFVBASettings::GetpdfVersion ( ) {
+    enum pdfVersion _result;
+    HRESULT _hr = get_pdfVersion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(504)
+inline void VGCore::IPDFVBASettings::PutIncludeBleed ( VARIANT_BOOL pbIncludeBleed ) {
+    HRESULT _hr = put_IncludeBleed(pbIncludeBleed);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(505)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetIncludeBleed ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IncludeBleed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(506)
+inline void VGCore::IPDFVBASettings::PutBleed ( int pnBleed ) {
+    HRESULT _hr = put_Bleed(pnBleed);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(507)
+inline int VGCore::IPDFVBASettings::GetBleed ( ) {
+    int _result = 0;
+    HRESULT _hr = get_Bleed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(508)
+inline void VGCore::IPDFVBASettings::PutLinearize ( VARIANT_BOOL pbLinearize ) {
+    HRESULT _hr = put_Linearize(pbLinearize);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(509)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetLinearize ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Linearize(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(510)
+inline void VGCore::IPDFVBASettings::PutCropMarks ( VARIANT_BOOL pbCropMarks ) {
+    HRESULT _hr = put_CropMarks(pbCropMarks);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(511)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetCropMarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CropMarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(512)
+inline void VGCore::IPDFVBASettings::PutRegistrationMarks ( VARIANT_BOOL pbRegistrationMarks ) {
+    HRESULT _hr = put_RegistrationMarks(pbRegistrationMarks);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(513)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetRegistrationMarks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RegistrationMarks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(514)
+inline void VGCore::IPDFVBASettings::PutDensitometerScales ( VARIANT_BOOL pbDensitometerScales ) {
+    HRESULT _hr = put_DensitometerScales(pbDensitometerScales);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(515)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetDensitometerScales ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DensitometerScales(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(516)
+inline void VGCore::IPDFVBASettings::PutFileInformation ( VARIANT_BOOL pbFileInformation ) {
+    HRESULT _hr = put_FileInformation(pbFileInformation);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(517)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetFileInformation ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FileInformation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(518)
+inline void VGCore::IPDFVBASettings::PutColorMode ( enum pdfColorMode peColorSet ) {
+    HRESULT _hr = put_ColorMode(peColorSet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(519)
+inline enum VGCore::pdfColorMode VGCore::IPDFVBASettings::GetColorMode ( ) {
+    enum pdfColorMode _result;
+    HRESULT _hr = get_ColorMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(520)
+inline void VGCore::IPDFVBASettings::PutUseColorProfile ( VARIANT_BOOL pbUseColorProfile ) {
+    HRESULT _hr = put_UseColorProfile(pbUseColorProfile);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(521)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetUseColorProfile ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseColorProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(522)
+inline void VGCore::IPDFVBASettings::PutColorProfile ( enum pdfColorProfile peColorProfile ) {
+    HRESULT _hr = put_ColorProfile(peColorProfile);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(523)
+inline enum VGCore::pdfColorProfile VGCore::IPDFVBASettings::GetColorProfile ( ) {
+    enum pdfColorProfile _result;
+    HRESULT _hr = get_ColorProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(524)
+inline void VGCore::IPDFVBASettings::PutEmbedFilename ( _bstr_t pszEmbedFilename ) {
+    HRESULT _hr = put_EmbedFilename(pszEmbedFilename);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(525)
+inline _bstr_t VGCore::IPDFVBASettings::GetEmbedFilename ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_EmbedFilename(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(526)
+inline void VGCore::IPDFVBASettings::PutEmbedFile ( VARIANT_BOOL pbEmbedFile ) {
+    HRESULT _hr = put_EmbedFile(pbEmbedFile);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(527)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetEmbedFile ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EmbedFile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(528)
+inline void VGCore::IPDFVBASettings::PutJP2QualityFactor ( int pnQuality ) {
+    HRESULT _hr = put_JP2QualityFactor(pnQuality);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(529)
+inline int VGCore::IPDFVBASettings::GetJP2QualityFactor ( ) {
+    int _result = 0;
+    HRESULT _hr = get_JP2QualityFactor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(530)
+inline void VGCore::IPDFVBASettings::PutTextExportMode ( enum pdfTextExportMode pExportMode ) {
+    HRESULT _hr = put_TextExportMode(pExportMode);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(531)
+inline enum VGCore::pdfTextExportMode VGCore::IPDFVBASettings::GetTextExportMode ( ) {
+    enum pdfTextExportMode _result;
+    HRESULT _hr = get_TextExportMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(532)
+inline void VGCore::IPDFVBASettings::PutPrintPermissions ( enum pdfPrintPermissions pPrintPermission ) {
+    HRESULT _hr = put_PrintPermissions(pPrintPermission);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(533)
+inline enum VGCore::pdfPrintPermissions VGCore::IPDFVBASettings::GetPrintPermissions ( ) {
+    enum pdfPrintPermissions _result;
+    HRESULT _hr = get_PrintPermissions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(534)
+inline void VGCore::IPDFVBASettings::PutEditPermissions ( enum pdfEditPermissions pEditPermission ) {
+    HRESULT _hr = put_EditPermissions(pEditPermission);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(535)
+inline enum VGCore::pdfEditPermissions VGCore::IPDFVBASettings::GetEditPermissions ( ) {
+    enum pdfEditPermissions _result;
+    HRESULT _hr = get_EditPermissions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(536)
+inline void VGCore::IPDFVBASettings::PutContentCopyingAllowed ( VARIANT_BOOL pbEnable ) {
+    HRESULT _hr = put_ContentCopyingAllowed(pbEnable);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(537)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetContentCopyingAllowed ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ContentCopyingAllowed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(538)
+inline void VGCore::IPDFVBASettings::PutOpenPassword ( _bstr_t pszOpenPassword ) {
+    HRESULT _hr = put_OpenPassword(pszOpenPassword);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(539)
+inline _bstr_t VGCore::IPDFVBASettings::GetOpenPassword ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_OpenPassword(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(540)
+inline void VGCore::IPDFVBASettings::PutPermissionPassword ( _bstr_t pszPermissionPassword ) {
+    HRESULT _hr = put_PermissionPassword(pszPermissionPassword);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(541)
+inline _bstr_t VGCore::IPDFVBASettings::GetPermissionPassword ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PermissionPassword(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(542)
+inline void VGCore::IPDFVBASettings::PutConvertSpotColors ( VARIANT_BOOL pbConvertSpotColors ) {
+    HRESULT _hr = put_ConvertSpotColors(pbConvertSpotColors);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(543)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetConvertSpotColors ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ConvertSpotColors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(544)
+inline void VGCore::IPDFVBASettings::PutEncryptType ( enum pdfEncryptionType peEncryptType ) {
+    HRESULT _hr = put_EncryptType(peEncryptType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(545)
+inline enum VGCore::pdfEncryptionType VGCore::IPDFVBASettings::GetEncryptType ( ) {
+    enum pdfEncryptionType _result;
+    HRESULT _hr = get_EncryptType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(546)
+inline void VGCore::IPDFVBASettings::PutOutputSpotColorsAs ( enum pdfSpotType pnConvertSpotColorsTo ) {
+    HRESULT _hr = put_OutputSpotColorsAs(pnConvertSpotColorsTo);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(547)
+inline enum VGCore::pdfSpotType VGCore::IPDFVBASettings::GetOutputSpotColorsAs ( ) {
+    enum pdfSpotType _result;
+    HRESULT _hr = get_OutputSpotColorsAs(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(548)
+inline void VGCore::IPDFVBASettings::PutOverprintBlackLimit ( int pnOverprintBlackLimit ) {
+    HRESULT _hr = put_OverprintBlackLimit(pnOverprintBlackLimit);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(549)
+inline int VGCore::IPDFVBASettings::GetOverprintBlackLimit ( ) {
+    int _result = 0;
+    HRESULT _hr = get_OverprintBlackLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(550)
+inline void VGCore::IPDFVBASettings::PutProtectedTextAsCurves ( VARIANT_BOOL pbProtectedTextAsCurves ) {
+    HRESULT _hr = put_ProtectedTextAsCurves(pbProtectedTextAsCurves);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(551)
+inline VARIANT_BOOL VGCore::IPDFVBASettings::GetProtectedTextAsCurves ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ProtectedTextAsCurves(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGRectangle wrapper method implementations
+//
+
+#pragma implementation_key(552)
+inline long VGCore::IVGRectangle::GetCornerUpperLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CornerUpperLeft(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(553)
+inline void VGCore::IVGRectangle::PutCornerUpperLeft ( long pVal ) {
+    HRESULT _hr = put_CornerUpperLeft(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(554)
+inline long VGCore::IVGRectangle::GetCornerUpperRight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CornerUpperRight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(555)
+inline void VGCore::IVGRectangle::PutCornerUpperRight ( long pVal ) {
+    HRESULT _hr = put_CornerUpperRight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(556)
+inline long VGCore::IVGRectangle::GetCornerLowerLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CornerLowerLeft(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(557)
+inline void VGCore::IVGRectangle::PutCornerLowerLeft ( long pVal ) {
+    HRESULT _hr = put_CornerLowerLeft(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(558)
+inline long VGCore::IVGRectangle::GetCornerLowerRight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CornerLowerRight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(559)
+inline void VGCore::IVGRectangle::PutCornerLowerRight ( long pVal ) {
+    HRESULT _hr = put_CornerLowerRight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(560)
+inline VARIANT_BOOL VGCore::IVGRectangle::GetEqualCorners ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EqualCorners(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(561)
+inline double VGCore::IVGRectangle::GetMaxRadius ( ) {
+    double _result = 0;
+    HRESULT _hr = get_MaxRadius(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(562)
+inline HRESULT VGCore::IVGRectangle::SetRoundness ( long Roundness ) {
+    HRESULT _hr = raw_SetRoundness(Roundness);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(563)
+inline HRESULT VGCore::IVGRectangle::SetRadius ( double Radius ) {
+    HRESULT _hr = raw_SetRadius(Radius);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(564)
+inline double VGCore::IVGRectangle::GetRadiusUpperLeft ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RadiusUpperLeft(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(565)
+inline void VGCore::IVGRectangle::PutRadiusUpperLeft ( double pVal ) {
+    HRESULT _hr = put_RadiusUpperLeft(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(566)
+inline double VGCore::IVGRectangle::GetRadiusUpperRight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RadiusUpperRight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(567)
+inline void VGCore::IVGRectangle::PutRadiusUpperRight ( double pVal ) {
+    HRESULT _hr = put_RadiusUpperRight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(568)
+inline double VGCore::IVGRectangle::GetRadiusLowerLeft ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RadiusLowerLeft(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(569)
+inline void VGCore::IVGRectangle::PutRadiusLowerLeft ( double pVal ) {
+    HRESULT _hr = put_RadiusLowerLeft(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(570)
+inline double VGCore::IVGRectangle::GetRadiusLowerRight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RadiusLowerRight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(571)
+inline void VGCore::IVGRectangle::PutRadiusLowerRight ( double pVal ) {
+    HRESULT _hr = put_RadiusLowerRight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(572)
+inline enum VGCore::cdrCornerType VGCore::IVGRectangle::GetCornerType ( ) {
+    enum cdrCornerType _result;
+    HRESULT _hr = get_CornerType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(573)
+inline void VGCore::IVGRectangle::PutCornerType ( enum cdrCornerType pVal ) {
+    HRESULT _hr = put_CornerType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(574)
+inline VARIANT_BOOL VGCore::IVGRectangle::GetRelativeCornerScaling ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RelativeCornerScaling(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(575)
+inline void VGCore::IVGRectangle::PutRelativeCornerScaling ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RelativeCornerScaling(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEllipse wrapper method implementations
+//
+
+#pragma implementation_key(576)
+inline enum VGCore::cdrEllipseType VGCore::IVGEllipse::GetType ( ) {
+    enum cdrEllipseType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(577)
+inline void VGCore::IVGEllipse::PutType ( enum cdrEllipseType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(578)
+inline double VGCore::IVGEllipse::GetStartAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(579)
+inline void VGCore::IVGEllipse::PutStartAngle ( double pVal ) {
+    HRESULT _hr = put_StartAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(580)
+inline double VGCore::IVGEllipse::GetEndAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(581)
+inline void VGCore::IVGEllipse::PutEndAngle ( double pVal ) {
+    HRESULT _hr = put_EndAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(582)
+inline VARIANT_BOOL VGCore::IVGEllipse::GetClockwise ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Clockwise(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(583)
+inline void VGCore::IVGEllipse::PutClockwise ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Clockwise(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(584)
+inline double VGCore::IVGEllipse::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(585)
+inline void VGCore::IVGEllipse::PutCenterX ( double pVal ) {
+    HRESULT _hr = put_CenterX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(586)
+inline double VGCore::IVGEllipse::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(587)
+inline void VGCore::IVGEllipse::PutCenterY ( double pVal ) {
+    HRESULT _hr = put_CenterY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(588)
+inline double VGCore::IVGEllipse::GetHRadius ( ) {
+    double _result = 0;
+    HRESULT _hr = get_HRadius(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(589)
+inline void VGCore::IVGEllipse::PutHRadius ( double pVal ) {
+    HRESULT _hr = put_HRadius(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(590)
+inline double VGCore::IVGEllipse::GetVRadius ( ) {
+    double _result = 0;
+    HRESULT _hr = get_VRadius(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(591)
+inline void VGCore::IVGEllipse::PutVRadius ( double pVal ) {
+    HRESULT _hr = put_VRadius(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(592)
+inline HRESULT VGCore::IVGEllipse::SetCenterPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetCenterPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(593)
+inline HRESULT VGCore::IVGEllipse::GetCenterPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetCenterPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(594)
+inline HRESULT VGCore::IVGEllipse::SetRadius ( double HRadius, double VRadius ) {
+    HRESULT _hr = raw_SetRadius(HRadius, VRadius);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(595)
+inline HRESULT VGCore::IVGEllipse::GetRadius ( double * HRadius, double * VRadius ) {
+    HRESULT _hr = raw_GetRadius(HRadius, VRadius);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGPolygon wrapper method implementations
+//
+
+#pragma implementation_key(596)
+inline enum VGCore::cdrPolygonType VGCore::IVGPolygon::GetType ( ) {
+    enum cdrPolygonType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(597)
+inline void VGCore::IVGPolygon::PutType ( enum cdrPolygonType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(598)
+inline long VGCore::IVGPolygon::GetSides ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Sides(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(599)
+inline void VGCore::IVGPolygon::PutSides ( long pVal ) {
+    HRESULT _hr = put_Sides(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(600)
+inline long VGCore::IVGPolygon::GetSharpness ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Sharpness(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(601)
+inline void VGCore::IVGPolygon::PutSharpness ( long pVal ) {
+    HRESULT _hr = put_Sharpness(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGCrossPoint wrapper method implementations
+//
+
+#pragma implementation_key(602)
+inline double VGCore::IVGCrossPoint::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(603)
+inline double VGCore::IVGCrossPoint::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(604)
+inline double VGCore::IVGCrossPoint::GetOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Offset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(605)
+inline double VGCore::IVGCrossPoint::GetOffset2 ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Offset2(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGCrossPoints wrapper method implementations
+//
+
+#pragma implementation_key(606)
+inline VGCore::IVGCrossPointPtr VGCore::IVGCrossPoints::GetItem ( long Index ) {
+    struct IVGCrossPoint * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCrossPointPtr(_result, false);
+}
+
+#pragma implementation_key(607)
+inline IUnknownPtr VGCore::IVGCrossPoints::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(608)
+inline long VGCore::IVGCrossPoints::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGStructPaletteOptions wrapper method implementations
+//
+
+#pragma implementation_key(609)
+inline void VGCore::IVGStructPaletteOptions::PutNumColors ( long pVal ) {
+    HRESULT _hr = put_NumColors(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(610)
+inline long VGCore::IVGStructPaletteOptions::GetNumColors ( ) {
+    long _result = 0;
+    HRESULT _hr = get_NumColors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(611)
+inline void VGCore::IVGStructPaletteOptions::PutDitherIntensity ( long pVal ) {
+    HRESULT _hr = put_DitherIntensity(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(612)
+inline long VGCore::IVGStructPaletteOptions::GetDitherIntensity ( ) {
+    long _result = 0;
+    HRESULT _hr = get_DitherIntensity(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(613)
+inline void VGCore::IVGStructPaletteOptions::PutSmoothing ( long pVal ) {
+    HRESULT _hr = put_Smoothing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(614)
+inline long VGCore::IVGStructPaletteOptions::GetSmoothing ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Smoothing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(615)
+inline void VGCore::IVGStructPaletteOptions::PutDitherType ( enum cdrDitherType pVal ) {
+    HRESULT _hr = put_DitherType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(616)
+inline enum VGCore::cdrDitherType VGCore::IVGStructPaletteOptions::GetDitherType ( ) {
+    enum cdrDitherType _result;
+    HRESULT _hr = get_DitherType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(617)
+inline void VGCore::IVGStructPaletteOptions::PutPaletteType ( enum cdrImagePaletteType pVal ) {
+    HRESULT _hr = put_PaletteType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(618)
+inline enum VGCore::cdrImagePaletteType VGCore::IVGStructPaletteOptions::GetPaletteType ( ) {
+    enum cdrImagePaletteType _result;
+    HRESULT _hr = get_PaletteType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(619)
+inline void VGCore::IVGStructPaletteOptions::PutImportance ( long pVal ) {
+    HRESULT _hr = put_Importance(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(620)
+inline long VGCore::IVGStructPaletteOptions::GetImportance ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Importance(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(621)
+inline void VGCore::IVGStructPaletteOptions::PutLightness ( long pVal ) {
+    HRESULT _hr = put_Lightness(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(622)
+inline long VGCore::IVGStructPaletteOptions::GetLightness ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Lightness(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(623)
+inline void VGCore::IVGStructPaletteOptions::PutToleranceA ( long pVal ) {
+    HRESULT _hr = put_ToleranceA(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(624)
+inline long VGCore::IVGStructPaletteOptions::GetToleranceA ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ToleranceA(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(625)
+inline void VGCore::IVGStructPaletteOptions::PutToleranceB ( long pVal ) {
+    HRESULT _hr = put_ToleranceB(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(626)
+inline long VGCore::IVGStructPaletteOptions::GetToleranceB ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ToleranceB(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(627)
+inline void VGCore::IVGStructPaletteOptions::PutColorSensitive ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ColorSensitive(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(628)
+inline VARIANT_BOOL VGCore::IVGStructPaletteOptions::GetColorSensitive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ColorSensitive(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(629)
+inline void VGCore::IVGStructPaletteOptions::PutTargetColor ( long pVal ) {
+    HRESULT _hr = put_TargetColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(630)
+inline long VGCore::IVGStructPaletteOptions::GetTargetColor ( ) {
+    long _result = 0;
+    HRESULT _hr = get_TargetColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(631)
+inline void VGCore::IVGStructPaletteOptions::PutPalette ( const _variant_t & pVal ) {
+    HRESULT _hr = put_Palette(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(632)
+inline _variant_t VGCore::IVGStructPaletteOptions::GetPalette ( ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = get_Palette(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+//
+// interface IVGOutlineStyle wrapper method implementations
+//
+
+#pragma implementation_key(633)
+inline long VGCore::IVGOutlineStyle::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(634)
+inline long VGCore::IVGOutlineStyle::GetDashCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_DashCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(635)
+inline void VGCore::IVGOutlineStyle::PutDashCount ( long pVal ) {
+    HRESULT _hr = put_DashCount(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(636)
+inline long VGCore::IVGOutlineStyle::GetDashLength ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_DashLength(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(637)
+inline void VGCore::IVGOutlineStyle::PutDashLength ( long Index, long pVal ) {
+    HRESULT _hr = put_DashLength(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(638)
+inline long VGCore::IVGOutlineStyle::GetGapLength ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_GapLength(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(639)
+inline void VGCore::IVGOutlineStyle::PutGapLength ( long Index, long pVal ) {
+    HRESULT _hr = put_GapLength(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(640)
+inline VARIANT_BOOL VGCore::IVGOutlineStyle::GetEnhanced ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Enhanced(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGPatternCanvas wrapper method implementations
+//
+
+#pragma implementation_key(641)
+inline enum VGCore::cdrPatternCanvasSize VGCore::IVGPatternCanvas::GetSize ( ) {
+    enum cdrPatternCanvasSize _result;
+    HRESULT _hr = get_Size(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(642)
+inline void VGCore::IVGPatternCanvas::PutSize ( enum cdrPatternCanvasSize pVal ) {
+    HRESULT _hr = put_Size(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(643)
+inline VARIANT_BOOL VGCore::IVGPatternCanvas::GetPixel ( long x, long y ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Pixel(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(644)
+inline void VGCore::IVGPatternCanvas::PutPixel ( long x, long y, VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Pixel(x, y, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(645)
+inline long VGCore::IVGPatternCanvas::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(646)
+inline HRESULT VGCore::IVGPatternCanvas::FillArea ( long x1, long y1, long x2, long y2, VARIANT_BOOL State ) {
+    HRESULT _hr = raw_FillArea(x1, y1, x2, y2, State);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(647)
+inline HRESULT VGCore::IVGPatternCanvas::CopyArea ( long x1, long y1, long x2, long y2, long x, long y ) {
+    HRESULT _hr = raw_CopyArea(x1, y1, x2, y2, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(648)
+inline HRESULT VGCore::IVGPatternCanvas::FlipArea ( long x1, long y1, long x2, long y2, enum cdrFlipAxes Axes ) {
+    HRESULT _hr = raw_FlipArea(x1, y1, x2, y2, Axes);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(649)
+inline HRESULT VGCore::IVGPatternCanvas::RotateArea ( long x1, long y1, long x2, long y2, double Angle ) {
+    HRESULT _hr = raw_RotateArea(x1, y1, x2, y2, Angle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(650)
+inline HRESULT VGCore::IVGPatternCanvas::Select ( long Index ) {
+    HRESULT _hr = raw_Select(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(651)
+inline HRESULT VGCore::IVGPatternCanvas::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(652)
+inline HRESULT VGCore::IVGPatternCanvas::PutCopy ( struct IVGPatternCanvas * PatternCanvas ) {
+    HRESULT _hr = raw_PutCopy(PatternCanvas);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(653)
+inline long VGCore::IVGPatternCanvas::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(654)
+inline void VGCore::IVGPatternCanvas::PutWidth ( long pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(655)
+inline long VGCore::IVGPatternCanvas::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(656)
+inline void VGCore::IVGPatternCanvas::PutHeight ( long pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(657)
+inline _bstr_t VGCore::IVGPatternCanvas::GetData ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Data(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(658)
+inline void VGCore::IVGPatternCanvas::PutData ( _bstr_t pVal ) {
+    HRESULT _hr = put_Data(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(659)
+inline HRESULT VGCore::IVGPatternCanvas::PSet ( short Step, long x, long y, VARIANT_BOOL Color ) {
+    HRESULT _hr = raw_PSet(Step, x, y, Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(660)
+inline HRESULT VGCore::IVGPatternCanvas::Line ( short Flags, long x1, long y1, long x2, long y2, VARIANT_BOOL Color ) {
+    HRESULT _hr = raw_Line(Flags, x1, y1, x2, y2, Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGTextureFillProperty wrapper method implementations
+//
+
+#pragma implementation_key(661)
+inline _bstr_t VGCore::IVGTextureFillProperty::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(662)
+inline enum VGCore::cdrTexturePropertyType VGCore::IVGTextureFillProperty::GetType ( ) {
+    enum cdrTexturePropertyType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(663)
+inline _variant_t VGCore::IVGTextureFillProperty::GetValue ( ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = get_Value(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(664)
+inline void VGCore::IVGTextureFillProperty::PutValue ( const _variant_t & pVal ) {
+    HRESULT _hr = put_Value(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGTextureFillProperties wrapper method implementations
+//
+
+#pragma implementation_key(665)
+inline long VGCore::IVGTextureFillProperties::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(666)
+inline VGCore::IVGTextureFillPropertyPtr VGCore::IVGTextureFillProperties::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGTextureFillProperty * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextureFillPropertyPtr(_result, false);
+}
+
+#pragma implementation_key(667)
+inline IUnknownPtr VGCore::IVGTextureFillProperties::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+//
+// interface IVGTextureFill wrapper method implementations
+//
+
+#pragma implementation_key(668)
+inline double VGCore::IVGTextureFill::GetOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(669)
+inline void VGCore::IVGTextureFill::PutOriginX ( double pVal ) {
+    HRESULT _hr = put_OriginX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(670)
+inline double VGCore::IVGTextureFill::GetOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(671)
+inline void VGCore::IVGTextureFill::PutOriginY ( double pVal ) {
+    HRESULT _hr = put_OriginY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(672)
+inline double VGCore::IVGTextureFill::GetTileWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(673)
+inline void VGCore::IVGTextureFill::PutTileWidth ( double pVal ) {
+    HRESULT _hr = put_TileWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(674)
+inline double VGCore::IVGTextureFill::GetTileHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(675)
+inline void VGCore::IVGTextureFill::PutTileHeight ( double pVal ) {
+    HRESULT _hr = put_TileHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(676)
+inline enum VGCore::cdrTileOffsetType VGCore::IVGTextureFill::GetTileOffsetType ( ) {
+    enum cdrTileOffsetType _result;
+    HRESULT _hr = get_TileOffsetType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(677)
+inline void VGCore::IVGTextureFill::PutTileOffsetType ( enum cdrTileOffsetType pVal ) {
+    HRESULT _hr = put_TileOffsetType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(678)
+inline long VGCore::IVGTextureFill::GetTileOffset ( ) {
+    long _result = 0;
+    HRESULT _hr = get_TileOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(679)
+inline void VGCore::IVGTextureFill::PutTileOffset ( long pVal ) {
+    HRESULT _hr = put_TileOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(680)
+inline double VGCore::IVGTextureFill::GetSkewAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SkewAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(681)
+inline void VGCore::IVGTextureFill::PutSkewAngle ( double pVal ) {
+    HRESULT _hr = put_SkewAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(682)
+inline double VGCore::IVGTextureFill::GetRotationAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(683)
+inline void VGCore::IVGTextureFill::PutRotationAngle ( double pVal ) {
+    HRESULT _hr = put_RotationAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(684)
+inline VARIANT_BOOL VGCore::IVGTextureFill::GetTransformWithShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TransformWithShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(685)
+inline void VGCore::IVGTextureFill::PutTransformWithShape ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TransformWithShape(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(686)
+inline long VGCore::IVGTextureFill::GetResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Resolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(687)
+inline void VGCore::IVGTextureFill::PutResolution ( long pVal ) {
+    HRESULT _hr = put_Resolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(688)
+inline long VGCore::IVGTextureFill::GetMaximumTileWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MaximumTileWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(689)
+inline void VGCore::IVGTextureFill::PutMaximumTileWidth ( long pVal ) {
+    HRESULT _hr = put_MaximumTileWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(690)
+inline _bstr_t VGCore::IVGTextureFill::GetLibraryName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LibraryName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(691)
+inline _bstr_t VGCore::IVGTextureFill::GetTextureName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TextureName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(692)
+inline _bstr_t VGCore::IVGTextureFill::GetStyleName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_StyleName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(693)
+inline HRESULT VGCore::IVGTextureFill::Select ( _bstr_t Texture, _bstr_t Library ) {
+    HRESULT _hr = raw_Select(Texture, Library);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(694)
+inline HRESULT VGCore::IVGTextureFill::SetProperties ( SAFEARRAY * * SettingArray ) {
+    HRESULT _hr = raw_SetProperties(SettingArray);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(695)
+inline VARIANT_BOOL VGCore::IVGTextureFill::GetMirrorFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(696)
+inline void VGCore::IVGTextureFill::PutMirrorFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(697)
+inline VGCore::IVGTextureFillPropertiesPtr VGCore::IVGTextureFill::GetProperties ( ) {
+    struct IVGTextureFillProperties * _result = 0;
+    HRESULT _hr = get_Properties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextureFillPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(698)
+inline VARIANT_BOOL VGCore::IVGTextureFill::GetMirrorFillX ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFillX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(699)
+inline void VGCore::IVGTextureFill::PutMirrorFillX ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFillX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(700)
+inline VARIANT_BOOL VGCore::IVGTextureFill::GetMirrorFillY ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFillY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(701)
+inline void VGCore::IVGTextureFill::PutMirrorFillY ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFillY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGPostScriptFill wrapper method implementations
+//
+
+#pragma implementation_key(702)
+inline _bstr_t VGCore::IVGPostScriptFill::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(703)
+inline long VGCore::IVGPostScriptFill::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(704)
+inline long VGCore::IVGPostScriptFill::GetProperties ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_Properties(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(705)
+inline void VGCore::IVGPostScriptFill::PutProperties ( long Index, long pVal ) {
+    HRESULT _hr = put_Properties(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(706)
+inline HRESULT VGCore::IVGPostScriptFill::Select ( const _variant_t & IndexOrName ) {
+    HRESULT _hr = raw_Select(IndexOrName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(707)
+inline HRESULT VGCore::IVGPostScriptFill::SetProperties ( long Param1, long Param2, long Param3, long Param4, long Param5 ) {
+    HRESULT _hr = raw_SetProperties(Param1, Param2, Param3, Param4, Param5);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGPSScreenOptions wrapper method implementations
+//
+
+#pragma implementation_key(708)
+inline long VGCore::IVGPSScreenOptions::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(709)
+inline _bstr_t VGCore::IVGPSScreenOptions::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(710)
+inline double VGCore::IVGPSScreenOptions::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(711)
+inline void VGCore::IVGPSScreenOptions::PutAngle ( double pVal ) {
+    HRESULT _hr = put_Angle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(712)
+inline long VGCore::IVGPSScreenOptions::GetFrequency ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Frequency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(713)
+inline void VGCore::IVGPSScreenOptions::PutFrequency ( long pVal ) {
+    HRESULT _hr = put_Frequency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(714)
+inline VARIANT_BOOL VGCore::IVGPSScreenOptions::Select ( _bstr_t Name ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Select(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(715)
+inline VARIANT_BOOL VGCore::IVGPSScreenOptions::SetProperties ( const _variant_t & IndexOrName, double Angle, long Frequency ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_SetProperties(IndexOrName, Angle, Frequency, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(716)
+inline _bstr_t VGCore::IVGPSScreenOptions::NameByIndex ( long Index ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_NameByIndex(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(717)
+inline HRESULT VGCore::IVGPSScreenOptions::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(718)
+inline VARIANT_BOOL VGCore::IVGPSScreenOptions::UserAssign ( long ParentWindowHandle ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UserAssign(ParentWindowHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGArrowHeadOptions wrapper method implementations
+//
+
+#pragma implementation_key(719)
+inline double VGCore::IVGArrowHeadOptions::GetLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Length(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(720)
+inline void VGCore::IVGArrowHeadOptions::PutLength ( double pVal ) {
+    HRESULT _hr = put_Length(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(721)
+inline double VGCore::IVGArrowHeadOptions::GetWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(722)
+inline void VGCore::IVGArrowHeadOptions::PutWidth ( double pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(723)
+inline double VGCore::IVGArrowHeadOptions::GetOffsetX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OffsetX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(724)
+inline void VGCore::IVGArrowHeadOptions::PutOffsetX ( double pVal ) {
+    HRESULT _hr = put_OffsetX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(725)
+inline double VGCore::IVGArrowHeadOptions::GetOffsetY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OffsetY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(726)
+inline void VGCore::IVGArrowHeadOptions::PutOffsetY ( double pVal ) {
+    HRESULT _hr = put_OffsetY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(727)
+inline VARIANT_BOOL VGCore::IVGArrowHeadOptions::GetFlipHorizontal ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FlipHorizontal(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(728)
+inline void VGCore::IVGArrowHeadOptions::PutFlipHorizontal ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FlipHorizontal(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(729)
+inline VARIANT_BOOL VGCore::IVGArrowHeadOptions::GetFlipVertical ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FlipVertical(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(730)
+inline void VGCore::IVGArrowHeadOptions::PutFlipVertical ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FlipVertical(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(731)
+inline HRESULT VGCore::IVGArrowHeadOptions::Flip ( enum cdrFlipAxes Axes ) {
+    HRESULT _hr = raw_Flip(Axes);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(732)
+inline double VGCore::IVGArrowHeadOptions::GetRotationAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(733)
+inline void VGCore::IVGArrowHeadOptions::PutRotationAngle ( double pVal ) {
+    HRESULT _hr = put_RotationAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(734)
+inline HRESULT VGCore::IVGArrowHeadOptions::CopyAssign ( struct IVGArrowHeadOptions * Source ) {
+    HRESULT _hr = raw_CopyAssign(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(735)
+inline VGCore::IVGArrowHeadOptionsPtr VGCore::IVGArrowHeadOptions::GetCopy ( ) {
+    struct IVGArrowHeadOptions * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(736)
+inline VARIANT_BOOL VGCore::IVGArrowHeadOptions::GetFlipVerical ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FlipVerical(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(737)
+inline void VGCore::IVGArrowHeadOptions::PutFlipVerical ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FlipVerical(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGImageTile wrapper method implementations
+//
+
+#pragma implementation_key(738)
+inline long VGCore::IVGImageTile::GetLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Left(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(739)
+inline long VGCore::IVGImageTile::GetTop ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(740)
+inline long VGCore::IVGImageTile::GetRight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Right(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(741)
+inline long VGCore::IVGImageTile::GetBottom ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Bottom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(742)
+inline long VGCore::IVGImageTile::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(743)
+inline long VGCore::IVGImageTile::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(744)
+inline long VGCore::IVGImageTile::GetBytesPerTile ( ) {
+    long _result = 0;
+    HRESULT _hr = get_BytesPerTile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(745)
+inline long VGCore::IVGImageTile::GetBytesPerLine ( ) {
+    long _result = 0;
+    HRESULT _hr = get_BytesPerLine(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(746)
+inline long VGCore::IVGImageTile::GetBytesPerPixel ( ) {
+    long _result = 0;
+    HRESULT _hr = get_BytesPerPixel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(747)
+inline SAFEARRAY * VGCore::IVGImageTile::GetPixelData ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = get_PixelData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(748)
+inline void VGCore::IVGImageTile::PutPixelData ( SAFEARRAY * * pVal ) {
+    HRESULT _hr = put_PixelData(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(749)
+inline VARIANT_BOOL VGCore::IVGImageTile::GetReadOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ReadOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGImageTiles wrapper method implementations
+//
+
+#pragma implementation_key(750)
+inline long VGCore::IVGImageTiles::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(751)
+inline VGCore::IVGImageTilePtr VGCore::IVGImageTiles::GetItem ( long Index ) {
+    struct IVGImageTile * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImageTilePtr(_result, false);
+}
+
+#pragma implementation_key(752)
+inline IUnknownPtr VGCore::IVGImageTiles::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(753)
+inline VGCore::IVGImageTilePtr VGCore::IVGImageTiles::GetFirst ( ) {
+    struct IVGImageTile * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImageTilePtr(_result, false);
+}
+
+#pragma implementation_key(754)
+inline VGCore::IVGImageTilePtr VGCore::IVGImageTiles::GetLast ( ) {
+    struct IVGImageTile * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImageTilePtr(_result, false);
+}
+
+//
+// interface IVGStructAlignProperties wrapper method implementations
+//
+
+#pragma implementation_key(755)
+inline void VGCore::IVGStructAlignProperties::PutAlignment ( enum cdrAlignment pVal ) {
+    HRESULT _hr = put_Alignment(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(756)
+inline enum VGCore::cdrAlignment VGCore::IVGStructAlignProperties::GetAlignment ( ) {
+    enum cdrAlignment _result;
+    HRESULT _hr = get_Alignment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(757)
+inline void VGCore::IVGStructAlignProperties::PutFirstLineIndent ( double pVal ) {
+    HRESULT _hr = put_FirstLineIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(758)
+inline double VGCore::IVGStructAlignProperties::GetFirstLineIndent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FirstLineIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(759)
+inline void VGCore::IVGStructAlignProperties::PutLeftIndent ( double pVal ) {
+    HRESULT _hr = put_LeftIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(760)
+inline double VGCore::IVGStructAlignProperties::GetLeftIndent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LeftIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(761)
+inline void VGCore::IVGStructAlignProperties::PutRightIndent ( double pVal ) {
+    HRESULT _hr = put_RightIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(762)
+inline double VGCore::IVGStructAlignProperties::GetRightIndent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RightIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(763)
+inline void VGCore::IVGStructAlignProperties::PutMaxWordSpacing ( float pVal ) {
+    HRESULT _hr = put_MaxWordSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(764)
+inline float VGCore::IVGStructAlignProperties::GetMaxWordSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_MaxWordSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(765)
+inline void VGCore::IVGStructAlignProperties::PutMinWordSpacing ( float pVal ) {
+    HRESULT _hr = put_MinWordSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(766)
+inline float VGCore::IVGStructAlignProperties::GetMinWordSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_MinWordSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(767)
+inline void VGCore::IVGStructAlignProperties::PutMaxCharacterSpacing ( float pVal ) {
+    HRESULT _hr = put_MaxCharacterSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(768)
+inline float VGCore::IVGStructAlignProperties::GetMaxCharacterSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_MaxCharacterSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(769)
+inline void VGCore::IVGStructAlignProperties::PutHorizontalCharacterShift ( long pVal ) {
+    HRESULT _hr = put_HorizontalCharacterShift(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(770)
+inline long VGCore::IVGStructAlignProperties::GetHorizontalCharacterShift ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HorizontalCharacterShift(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(771)
+inline void VGCore::IVGStructAlignProperties::PutVerticalCharacterShift ( long pVal ) {
+    HRESULT _hr = put_VerticalCharacterShift(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(772)
+inline long VGCore::IVGStructAlignProperties::GetVerticalCharacterShift ( ) {
+    long _result = 0;
+    HRESULT _hr = get_VerticalCharacterShift(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(773)
+inline void VGCore::IVGStructAlignProperties::PutCharacterRotation ( float pVal ) {
+    HRESULT _hr = put_CharacterRotation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(774)
+inline float VGCore::IVGStructAlignProperties::GetCharacterRotation ( ) {
+    float _result = 0;
+    HRESULT _hr = get_CharacterRotation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGStructSpaceProperties wrapper method implementations
+//
+
+#pragma implementation_key(775)
+inline void VGCore::IVGStructSpaceProperties::PutCharacterSpacing ( float pVal ) {
+    HRESULT _hr = put_CharacterSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(776)
+inline float VGCore::IVGStructSpaceProperties::GetCharacterSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_CharacterSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(777)
+inline void VGCore::IVGStructSpaceProperties::PutWordSpacing ( float pVal ) {
+    HRESULT _hr = put_WordSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(778)
+inline float VGCore::IVGStructSpaceProperties::GetWordSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_WordSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(779)
+inline void VGCore::IVGStructSpaceProperties::PutLineSpacing ( float pVal ) {
+    HRESULT _hr = put_LineSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(780)
+inline float VGCore::IVGStructSpaceProperties::GetLineSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_LineSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(781)
+inline void VGCore::IVGStructSpaceProperties::PutLineSpacingType ( enum cdrLineSpacingType pVal ) {
+    HRESULT _hr = put_LineSpacingType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(782)
+inline enum VGCore::cdrLineSpacingType VGCore::IVGStructSpaceProperties::GetLineSpacingType ( ) {
+    enum cdrLineSpacingType _result;
+    HRESULT _hr = get_LineSpacingType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(783)
+inline void VGCore::IVGStructSpaceProperties::PutBeforeParagraphSpacing ( float pVal ) {
+    HRESULT _hr = put_BeforeParagraphSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(784)
+inline float VGCore::IVGStructSpaceProperties::GetBeforeParagraphSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_BeforeParagraphSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(785)
+inline void VGCore::IVGStructSpaceProperties::PutAfterParagraphSpacing ( float pVal ) {
+    HRESULT _hr = put_AfterParagraphSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(786)
+inline float VGCore::IVGStructSpaceProperties::GetAfterParagraphSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_AfterParagraphSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGStructHyphenationSettings wrapper method implementations
+//
+
+#pragma implementation_key(787)
+inline void VGCore::IVGStructHyphenationSettings::PutUseAutomaticHyphenation ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseAutomaticHyphenation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(788)
+inline VARIANT_BOOL VGCore::IVGStructHyphenationSettings::GetUseAutomaticHyphenation ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseAutomaticHyphenation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(789)
+inline void VGCore::IVGStructHyphenationSettings::PutBreakCapitalized ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BreakCapitalized(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(790)
+inline VARIANT_BOOL VGCore::IVGStructHyphenationSettings::GetBreakCapitalized ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BreakCapitalized(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(791)
+inline void VGCore::IVGStructHyphenationSettings::PutHotZone ( double pVal ) {
+    HRESULT _hr = put_HotZone(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(792)
+inline double VGCore::IVGStructHyphenationSettings::GetHotZone ( ) {
+    double _result = 0;
+    HRESULT _hr = get_HotZone(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(793)
+inline void VGCore::IVGStructHyphenationSettings::PutMinWordLength ( long pVal ) {
+    HRESULT _hr = put_MinWordLength(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(794)
+inline long VGCore::IVGStructHyphenationSettings::GetMinWordLength ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MinWordLength(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(795)
+inline void VGCore::IVGStructHyphenationSettings::PutMinCharactersBefore ( long pVal ) {
+    HRESULT _hr = put_MinCharactersBefore(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(796)
+inline long VGCore::IVGStructHyphenationSettings::GetMinCharactersBefore ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MinCharactersBefore(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(797)
+inline void VGCore::IVGStructHyphenationSettings::PutMinCharactersAfter ( long pVal ) {
+    HRESULT _hr = put_MinCharactersAfter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(798)
+inline long VGCore::IVGStructHyphenationSettings::GetMinCharactersAfter ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MinCharactersAfter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(799)
+inline void VGCore::IVGStructHyphenationSettings::PutBreakAllCapWords ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BreakAllCapWords(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(800)
+inline VARIANT_BOOL VGCore::IVGStructHyphenationSettings::GetBreakAllCapWords ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BreakAllCapWords(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGUserSnapPoint wrapper method implementations
+//
+
+#pragma implementation_key(801)
+inline _bstr_t VGCore::IVGUserSnapPoint::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(802)
+inline VARIANT_BOOL VGCore::IVGUserSnapPoint::GetAutoSnap ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AutoSnap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(803)
+inline void VGCore::IVGUserSnapPoint::PutAutoSnap ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AutoSnap(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGObjectSnapPoint wrapper method implementations
+//
+
+#pragma implementation_key(804)
+inline enum VGCore::cdrObjectSnapPointType VGCore::IVGObjectSnapPoint::GetType ( ) {
+    enum cdrObjectSnapPointType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGBBoxSnapPoint wrapper method implementations
+//
+
+#pragma implementation_key(805)
+inline enum VGCore::cdrReferencePoint VGCore::IVGBBoxSnapPoint::GetType ( ) {
+    enum cdrReferencePoint _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGEdgeSnapPoint wrapper method implementations
+//
+
+#pragma implementation_key(806)
+inline long VGCore::IVGEdgeSnapPoint::GetSegmentIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SegmentIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(807)
+inline double VGCore::IVGEdgeSnapPoint::GetSegmentOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SegmentOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGEffectCustomDistortion wrapper method implementations
+//
+
+#pragma implementation_key(808)
+inline _bstr_t VGCore::IVGEffectCustomDistortion::GetDistortionID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DistortionID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface IVGTextTabPosition wrapper method implementations
+//
+
+#pragma implementation_key(809)
+inline double VGCore::IVGTextTabPosition::GetPosition ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(810)
+inline void VGCore::IVGTextTabPosition::PutPosition ( double pVal ) {
+    HRESULT _hr = put_Position(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(811)
+inline long VGCore::IVGTextTabPosition::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(812)
+inline enum VGCore::cdrTextTabAlignment VGCore::IVGTextTabPosition::GetAlignment ( ) {
+    enum cdrTextTabAlignment _result;
+    HRESULT _hr = get_Alignment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(813)
+inline void VGCore::IVGTextTabPosition::PutAlignment ( enum cdrTextTabAlignment pVal ) {
+    HRESULT _hr = put_Alignment(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(814)
+inline VARIANT_BOOL VGCore::IVGTextTabPosition::GetLeadered ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Leadered(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(815)
+inline void VGCore::IVGTextTabPosition::PutLeadered ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Leadered(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(816)
+inline HRESULT VGCore::IVGTextTabPosition::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGTextTabPositions wrapper method implementations
+//
+
+#pragma implementation_key(817)
+inline VGCore::IVGTextTabPositionPtr VGCore::IVGTextTabPositions::GetItem ( long Index ) {
+    struct IVGTextTabPosition * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextTabPositionPtr(_result, false);
+}
+
+#pragma implementation_key(818)
+inline long VGCore::IVGTextTabPositions::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(819)
+inline IUnknownPtr VGCore::IVGTextTabPositions::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(820)
+inline long VGCore::IVGTextTabPositions::GetLeaderSpacing ( ) {
+    long _result = 0;
+    HRESULT _hr = get_LeaderSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(821)
+inline void VGCore::IVGTextTabPositions::PutLeaderSpacing ( long pVal ) {
+    HRESULT _hr = put_LeaderSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(822)
+inline _bstr_t VGCore::IVGTextTabPositions::GetLeaderCharacter ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LeaderCharacter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(823)
+inline void VGCore::IVGTextTabPositions::PutLeaderCharacter ( _bstr_t pVal ) {
+    HRESULT _hr = put_LeaderCharacter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(824)
+inline HRESULT VGCore::IVGTextTabPositions::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(825)
+inline VGCore::IVGTextTabPositionPtr VGCore::IVGTextTabPositions::Add ( double Position, enum cdrTextTabAlignment Alignment, VARIANT_BOOL Leadered ) {
+    struct IVGTextTabPosition * _result = 0;
+    HRESULT _hr = raw_Add(Position, Alignment, Leadered, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextTabPositionPtr(_result, false);
+}
+
+#pragma implementation_key(826)
+inline HRESULT VGCore::IVGTextTabPositions::AddEvery ( double Position, enum cdrTextTabAlignment Alignment, VARIANT_BOOL Leadered ) {
+    HRESULT _hr = raw_AddEvery(Position, Alignment, Leadered);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGLocalizableString wrapper method implementations
+//
+
+#pragma implementation_key(827)
+inline HRESULT VGCore::IVGLocalizableString::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(828)
+inline VARIANT_BOOL VGCore::IVGLocalizableString::GetIsEmpty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEmpty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(829)
+inline _bstr_t VGCore::IVGLocalizableString::GetLangString ( _bstr_t Language ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetLangString(Language, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(830)
+inline HRESULT VGCore::IVGLocalizableString::SetLangString ( _bstr_t Language, _bstr_t Value ) {
+    HRESULT _hr = raw_SetLangString(Language, Value);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(831)
+inline VARIANT_BOOL VGCore::IVGLocalizableString::HasLangString ( _bstr_t Language ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_HasLangString(Language, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(832)
+inline VARIANT_BOOL VGCore::IVGLocalizableString::GetHasDefaultLangString ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasDefaultLangString(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(833)
+inline VARIANT_BOOL VGCore::IVGLocalizableString::GetHasDefaultLangStringOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasDefaultLangStringOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(834)
+inline VARIANT_BOOL VGCore::IVGLocalizableString::GetHasNonDefaultLangStrings ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasNonDefaultLangStrings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(835)
+inline _bstr_t VGCore::IVGLocalizableString::GetDefaultLangString ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DefaultLangString(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(836)
+inline void VGCore::IVGLocalizableString::PutDefaultLangString ( _bstr_t pVal ) {
+    HRESULT _hr = put_DefaultLangString(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(837)
+inline SAFEARRAY * VGCore::IVGLocalizableString::GetLanguages ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetLanguages(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGFillMetadata wrapper method implementations
+//
+
+#pragma implementation_key(838)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGFillMetadata::GetTitle ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_Title(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(839)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGFillMetadata::GetDescription ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_Description(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(840)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGFillMetadata::GetKeywords ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_Keywords(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(841)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGFillMetadata::GetSubject ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_Subject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(842)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGFillMetadata::GetCopyright ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_Copyright(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(843)
+inline _bstr_t VGCore::IVGFillMetadata::GetCreatorTool ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_CreatorTool(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(844)
+inline DATE VGCore::IVGFillMetadata::GetCreationDate ( ) {
+    DATE _result = 0;
+    HRESULT _hr = get_CreationDate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(845)
+inline DATE VGCore::IVGFillMetadata::GetModificationDate ( ) {
+    DATE _result = 0;
+    HRESULT _hr = get_ModificationDate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(846)
+inline _bstr_t VGCore::IVGFillMetadata::GetDocumentID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DocumentID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(847)
+inline _bstr_t VGCore::IVGFillMetadata::GetInstanceID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_InstanceID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(848)
+inline SAFEARRAY * VGCore::IVGFillMetadata::GetDerivedFrom ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = get_DerivedFrom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(849)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGFillMetadata::GetCategory ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_Category(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+//
+// interface IVGTextIndentLevelStyle wrapper method implementations
+//
+
+#pragma implementation_key(850)
+inline long VGCore::IVGTextIndentLevelStyle::GetLevel ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Level(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(851)
+inline _bstr_t VGCore::IVGTextIndentLevelStyle::GetFont ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Font(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(852)
+inline void VGCore::IVGTextIndentLevelStyle::PutFont ( _bstr_t pVal ) {
+    HRESULT _hr = put_Font(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(853)
+inline VARIANT_BOOL VGCore::IVGTextIndentLevelStyle::GetUseParagraphFont ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseParagraphFont(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(854)
+inline void VGCore::IVGTextIndentLevelStyle::PutUseParagraphFont ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseParagraphFont(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(855)
+inline _bstr_t VGCore::IVGTextIndentLevelStyle::GetSymbol ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Symbol(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(856)
+inline void VGCore::IVGTextIndentLevelStyle::PutSymbol ( _bstr_t pVal ) {
+    HRESULT _hr = put_Symbol(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(857)
+inline float VGCore::IVGTextIndentLevelStyle::GetSize ( ) {
+    float _result = 0;
+    HRESULT _hr = get_Size(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(858)
+inline void VGCore::IVGTextIndentLevelStyle::PutSize ( float pVal ) {
+    HRESULT _hr = put_Size(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(859)
+inline float VGCore::IVGTextIndentLevelStyle::GetBaselineShift ( ) {
+    float _result = 0;
+    HRESULT _hr = get_BaselineShift(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(860)
+inline void VGCore::IVGTextIndentLevelStyle::PutBaselineShift ( float pVal ) {
+    HRESULT _hr = put_BaselineShift(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(861)
+inline VARIANT_BOOL VGCore::IVGTextIndentLevelStyle::GetHangingIndent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HangingIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(862)
+inline void VGCore::IVGTextIndentLevelStyle::PutHangingIndent ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_HangingIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(863)
+inline double VGCore::IVGTextIndentLevelStyle::GetFirstCharIndent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FirstCharIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(864)
+inline void VGCore::IVGTextIndentLevelStyle::PutFirstCharIndent ( double pVal ) {
+    HRESULT _hr = put_FirstCharIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(865)
+inline VARIANT_BOOL VGCore::IVGTextIndentLevelStyle::GetFirstCharIndentIncludesBullet ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FirstCharIndentIncludesBullet(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(866)
+inline void VGCore::IVGTextIndentLevelStyle::PutFirstCharIndentIncludesBullet ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FirstCharIndentIncludesBullet(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(867)
+inline _bstr_t VGCore::IVGTextIndentLevelStyle::GetFormat ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Format(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(868)
+inline void VGCore::IVGTextIndentLevelStyle::PutFormat ( _bstr_t pVal ) {
+    HRESULT _hr = put_Format(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(869)
+inline enum VGCore::cdrTextIndentLevelStyle VGCore::IVGTextIndentLevelStyle::GetNumberStyle ( ) {
+    enum cdrTextIndentLevelStyle _result;
+    HRESULT _hr = get_NumberStyle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(870)
+inline void VGCore::IVGTextIndentLevelStyle::PutNumberStyle ( enum cdrTextIndentLevelStyle pVal ) {
+    HRESULT _hr = put_NumberStyle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGTextIndentLevelStyles wrapper method implementations
+//
+
+#pragma implementation_key(871)
+inline IUnknownPtr VGCore::IVGTextIndentLevelStyles::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(872)
+inline VGCore::IVGTextIndentLevelStylePtr VGCore::IVGTextIndentLevelStyles::GetItem ( long Index ) {
+    struct IVGTextIndentLevelStyle * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextIndentLevelStylePtr(_result, false);
+}
+
+#pragma implementation_key(873)
+inline long VGCore::IVGTextIndentLevelStyles::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGTextVariableAxis wrapper method implementations
+//
+
+#pragma implementation_key(874)
+inline long VGCore::IVGTextVariableAxis::GetTag ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Tag(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(875)
+inline _bstr_t VGCore::IVGTextVariableAxis::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(876)
+inline double VGCore::IVGTextVariableAxis::GetValue ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Value(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(877)
+inline void VGCore::IVGTextVariableAxis::PutValue ( double pVal ) {
+    HRESULT _hr = put_Value(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(878)
+inline double VGCore::IVGTextVariableAxis::GetMinValue ( ) {
+    double _result = 0;
+    HRESULT _hr = get_MinValue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(879)
+inline double VGCore::IVGTextVariableAxis::GetMaxValue ( ) {
+    double _result = 0;
+    HRESULT _hr = get_MaxValue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(880)
+inline double VGCore::IVGTextVariableAxis::GetDefaultValue ( ) {
+    double _result = 0;
+    HRESULT _hr = get_DefaultValue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGTextVariableAxes wrapper method implementations
+//
+
+#pragma implementation_key(881)
+inline IUnknownPtr VGCore::IVGTextVariableAxes::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(882)
+inline VGCore::IVGTextVariableAxisPtr VGCore::IVGTextVariableAxes::GetItem ( long Index ) {
+    struct IVGTextVariableAxis * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextVariableAxisPtr(_result, false);
+}
+
+#pragma implementation_key(883)
+inline long VGCore::IVGTextVariableAxes::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGGuide wrapper method implementations
+//
+
+#pragma implementation_key(884)
+inline enum VGCore::cdrGuideType VGCore::IVGGuide::GetType ( ) {
+    enum cdrGuideType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(885)
+inline VARIANT_BOOL VGCore::IVGGuide::GetPreset ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Preset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(886)
+inline HRESULT VGCore::IVGGuide::MakeEditable ( ) {
+    HRESULT _hr = raw_MakeEditable();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(887)
+inline double VGCore::IVGGuide::GetPoint1X ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Point1X(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(888)
+inline double VGCore::IVGGuide::GetPoint1Y ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Point1Y(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(889)
+inline double VGCore::IVGGuide::GetPoint2X ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Point2X(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(890)
+inline double VGCore::IVGGuide::GetPoint2Y ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Point2Y(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(891)
+inline double VGCore::IVGGuide::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(892)
+inline HRESULT VGCore::IVGGuide::GetPoints ( double * Point1X, double * Point1Y, double * Point2X, double * Point2Y ) {
+    HRESULT _hr = raw_GetPoints(Point1X, Point1Y, Point2X, Point2Y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(893)
+inline HRESULT VGCore::IVGGuide::GetPointAndAngle ( double * PointX, double * PointY, double * Angle ) {
+    HRESULT _hr = raw_GetPointAndAngle(PointX, PointY, Angle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(894)
+inline HRESULT VGCore::IVGGuide::SetPoints ( double Point1X, double Point1Y, double Point2X, double Point2Y ) {
+    HRESULT _hr = raw_SetPoints(Point1X, Point1Y, Point2X, Point2Y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(895)
+inline HRESULT VGCore::IVGGuide::SetPointAndAngle ( double PointX, double PointY, double Angle ) {
+    HRESULT _hr = raw_SetPointAndAngle(PointX, PointY, Angle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(896)
+inline double VGCore::IVGGuide::GetInterceptX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_InterceptX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(897)
+inline double VGCore::IVGGuide::GetInterceptY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_InterceptY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(898)
+inline double VGCore::IVGGuide::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(899)
+inline double VGCore::IVGGuide::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGURL wrapper method implementations
+//
+
+#pragma implementation_key(900)
+inline _bstr_t VGCore::IVGURL::GetAddress ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Address(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(901)
+inline void VGCore::IVGURL::PutAddress ( _bstr_t pVal ) {
+    HRESULT _hr = put_Address(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(902)
+inline _bstr_t VGCore::IVGURL::GetTargetFrame ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TargetFrame(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(903)
+inline void VGCore::IVGURL::PutTargetFrame ( _bstr_t pVal ) {
+    HRESULT _hr = put_TargetFrame(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(904)
+inline _bstr_t VGCore::IVGURL::GetAltComment ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_AltComment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(905)
+inline void VGCore::IVGURL::PutAltComment ( _bstr_t pVal ) {
+    HRESULT _hr = put_AltComment(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(906)
+inline _bstr_t VGCore::IVGURL::GetBookMark ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_BookMark(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(907)
+inline void VGCore::IVGURL::PutBookMark ( _bstr_t pVal ) {
+    HRESULT _hr = put_BookMark(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(908)
+inline enum VGCore::cdrURLRegion VGCore::IVGURL::GetRegion ( ) {
+    enum cdrURLRegion _result;
+    HRESULT _hr = get_Region(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(909)
+inline void VGCore::IVGURL::PutRegion ( enum cdrURLRegion pVal ) {
+    HRESULT _hr = put_Region(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGCustomShape wrapper method implementations
+//
+
+#pragma implementation_key(910)
+inline _bstr_t VGCore::IVGCustomShape::GetTypeID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TypeID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface IVGOLE wrapper method implementations
+//
+
+#pragma implementation_key(911)
+inline _bstr_t VGCore::IVGOLE::GetClassID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ClassID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(912)
+inline _bstr_t VGCore::IVGOLE::GetProgID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ProgID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(913)
+inline enum VGCore::cdrOLEType VGCore::IVGOLE::GetType ( ) {
+    enum cdrOLEType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(914)
+inline _bstr_t VGCore::IVGOLE::GetFullName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FullName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(915)
+inline _bstr_t VGCore::IVGOLE::GetShortName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ShortName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(916)
+inline _bstr_t VGCore::IVGOLE::GetServerName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ServerName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(917)
+inline VARIANT_BOOL VGCore::IVGOLE::GetModified ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Modified(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(918)
+inline VARIANT_BOOL VGCore::IVGOLE::GetIsInPlaceActive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsInPlaceActive(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(919)
+inline VARIANT_BOOL VGCore::IVGOLE::GetIsOpen ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOpen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(920)
+inline VARIANT_BOOL VGCore::IVGOLE::GetIsServerRunning ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsServerRunning(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(921)
+inline long VGCore::IVGOLE::GetInPlaceWindowHandle ( ) {
+    long _result = 0;
+    HRESULT _hr = get_InPlaceWindowHandle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(922)
+inline HRESULT VGCore::IVGOLE::Edit ( ) {
+    HRESULT _hr = raw_Edit();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(923)
+inline HRESULT VGCore::IVGOLE::Open ( ) {
+    HRESULT _hr = raw_Open();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(924)
+inline HRESULT VGCore::IVGOLE::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(925)
+inline HRESULT VGCore::IVGOLE::Deactivate ( ) {
+    HRESULT _hr = raw_Deactivate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(926)
+inline HRESULT VGCore::IVGOLE::DoVerb ( long VerbID ) {
+    HRESULT _hr = raw_DoVerb(VerbID);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(927)
+inline VARIANT_BOOL VGCore::IVGOLE::GetIsLinkUpToDate ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsLinkUpToDate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(928)
+inline _bstr_t VGCore::IVGOLE::GetLinkPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LinkPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(929)
+inline HRESULT VGCore::IVGOLE::UpdateLink ( ) {
+    HRESULT _hr = raw_UpdateLink();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGBSplineControlPoint wrapper method implementations
+//
+
+#pragma implementation_key(930)
+inline double VGCore::IVGBSplineControlPoint::Getx ( ) {
+    double _result = 0;
+    HRESULT _hr = get_x(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(931)
+inline void VGCore::IVGBSplineControlPoint::Putx ( double pVal ) {
+    HRESULT _hr = put_x(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(932)
+inline double VGCore::IVGBSplineControlPoint::Gety ( ) {
+    double _result = 0;
+    HRESULT _hr = get_y(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(933)
+inline void VGCore::IVGBSplineControlPoint::Puty ( double pVal ) {
+    HRESULT _hr = put_y(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(934)
+inline VARIANT_BOOL VGCore::IVGBSplineControlPoint::GetClamped ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Clamped(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(935)
+inline void VGCore::IVGBSplineControlPoint::PutClamped ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Clamped(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(936)
+inline HRESULT VGCore::IVGBSplineControlPoint::Move ( double x, double y ) {
+    HRESULT _hr = raw_Move(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(937)
+inline HRESULT VGCore::IVGBSplineControlPoint::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(938)
+inline HRESULT VGCore::IVGBSplineControlPoint::GetPosition ( double * x, double * y ) {
+    HRESULT _hr = raw_GetPosition(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(939)
+inline HRESULT VGCore::IVGBSplineControlPoint::SetPosition ( double x, double y ) {
+    HRESULT _hr = raw_SetPosition(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(940)
+inline HRESULT VGCore::IVGBSplineControlPoint::SetProperties ( double x, double y, VARIANT_BOOL Clamped ) {
+    HRESULT _hr = raw_SetProperties(x, y, Clamped);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(941)
+inline long VGCore::IVGBSplineControlPoint::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGBSplineControlPoints wrapper method implementations
+//
+
+#pragma implementation_key(942)
+inline VGCore::IVGBSplineControlPointPtr VGCore::IVGBSplineControlPoints::GetFirst ( ) {
+    struct IVGBSplineControlPoint * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBSplineControlPointPtr(_result, false);
+}
+
+#pragma implementation_key(943)
+inline VGCore::IVGBSplineControlPointPtr VGCore::IVGBSplineControlPoints::GetLast ( ) {
+    struct IVGBSplineControlPoint * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBSplineControlPointPtr(_result, false);
+}
+
+#pragma implementation_key(944)
+inline VGCore::IVGBSplineControlPointPtr VGCore::IVGBSplineControlPoints::GetItem ( long Index ) {
+    struct IVGBSplineControlPoint * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBSplineControlPointPtr(_result, false);
+}
+
+#pragma implementation_key(945)
+inline long VGCore::IVGBSplineControlPoints::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(946)
+inline IUnknownPtr VGCore::IVGBSplineControlPoints::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(947)
+inline HRESULT VGCore::IVGBSplineControlPoints::Resize ( long HowMany ) {
+    HRESULT _hr = raw_Resize(HowMany);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGBSpline wrapper method implementations
+//
+
+#pragma implementation_key(948)
+inline VGCore::IVGBSplineControlPointsPtr VGCore::IVGBSpline::GetControlPoints ( ) {
+    struct IVGBSplineControlPoints * _result = 0;
+    HRESULT _hr = get_ControlPoints(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBSplineControlPointsPtr(_result, false);
+}
+
+#pragma implementation_key(949)
+inline VARIANT_BOOL VGCore::IVGBSpline::GetClosed ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Closed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(950)
+inline void VGCore::IVGBSpline::PutClosed ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Closed(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(951)
+inline HRESULT VGCore::IVGBSpline::InsertControlPoint ( long Index, double x, double y, VARIANT_BOOL Clamped ) {
+    HRESULT _hr = raw_InsertControlPoint(Index, x, y, Clamped);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(952)
+inline HRESULT VGCore::IVGBSpline::InsertControlPoints ( long Index, long HowMany, double x, double y, VARIANT_BOOL Clamped ) {
+    HRESULT _hr = raw_InsertControlPoints(Index, HowMany, x, y, Clamped);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(953)
+inline VGCore::IVGBSplinePtr VGCore::IVGBSpline::GetCopy ( ) {
+    struct IVGBSpline * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBSplinePtr(_result, false);
+}
+
+#pragma implementation_key(954)
+inline HRESULT VGCore::IVGBSpline::CopyAssign ( struct IVGBSpline * rhs ) {
+    HRESULT _hr = raw_CopyAssign(rhs);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IStructImportCropOptions wrapper method implementations
+//
+
+#pragma implementation_key(955)
+inline _bstr_t VGCore::IStructImportCropOptions::GetFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(956)
+inline long VGCore::IStructImportCropOptions::GetFilterID ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FilterID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(957)
+inline long VGCore::IStructImportCropOptions::GetCustomData ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CustomData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(958)
+inline long VGCore::IStructImportCropOptions::GetImageWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ImageWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(959)
+inline long VGCore::IStructImportCropOptions::GetImageHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ImageHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(960)
+inline long VGCore::IStructImportCropOptions::GetDpiX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_DpiX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(961)
+inline long VGCore::IStructImportCropOptions::GetDpiY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_DpiY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(962)
+inline long VGCore::IStructImportCropOptions::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(963)
+inline void VGCore::IStructImportCropOptions::PutWidth ( long pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(964)
+inline long VGCore::IStructImportCropOptions::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(965)
+inline void VGCore::IStructImportCropOptions::PutHeight ( long pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(966)
+inline long VGCore::IStructImportCropOptions::GetLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Left(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(967)
+inline void VGCore::IStructImportCropOptions::PutLeft ( long pVal ) {
+    HRESULT _hr = put_Left(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(968)
+inline long VGCore::IStructImportCropOptions::GetTop ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(969)
+inline void VGCore::IStructImportCropOptions::PutTop ( long pVal ) {
+    HRESULT _hr = put_Top(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IImportCropHandler wrapper method implementations
+//
+
+#pragma implementation_key(970)
+inline VARIANT_BOOL VGCore::IImportCropHandler::Crop ( struct IStructImportCropOptions * Options ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Crop(Options, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IStructImportResampleOptions wrapper method implementations
+//
+
+#pragma implementation_key(971)
+inline _bstr_t VGCore::IStructImportResampleOptions::GetFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(972)
+inline long VGCore::IStructImportResampleOptions::GetFilterID ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FilterID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(973)
+inline long VGCore::IStructImportResampleOptions::GetCustomData ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CustomData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(974)
+inline long VGCore::IStructImportResampleOptions::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(975)
+inline void VGCore::IStructImportResampleOptions::PutWidth ( long pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(976)
+inline long VGCore::IStructImportResampleOptions::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(977)
+inline void VGCore::IStructImportResampleOptions::PutHeight ( long pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(978)
+inline long VGCore::IStructImportResampleOptions::GetDpiX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_DpiX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(979)
+inline void VGCore::IStructImportResampleOptions::PutDpiX ( long pVal ) {
+    HRESULT _hr = put_DpiX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(980)
+inline long VGCore::IStructImportResampleOptions::GetDpiY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_DpiY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(981)
+inline void VGCore::IStructImportResampleOptions::PutDpiY ( long pVal ) {
+    HRESULT _hr = put_DpiY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IImportResampleHandler wrapper method implementations
+//
+
+#pragma implementation_key(982)
+inline VARIANT_BOOL VGCore::IImportResampleHandler::Resample ( struct IStructImportResampleOptions * Options ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Resample(Options, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGColorManagementPolicy wrapper method implementations
+//
+
+#pragma implementation_key(983)
+inline enum VGCore::clrColorPolicyAction VGCore::IVGColorManagementPolicy::GetActionForRGB ( ) {
+    enum clrColorPolicyAction _result;
+    HRESULT _hr = get_ActionForRGB(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(984)
+inline void VGCore::IVGColorManagementPolicy::PutActionForRGB ( enum clrColorPolicyAction pVal ) {
+    HRESULT _hr = put_ActionForRGB(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(985)
+inline enum VGCore::clrColorPolicyAction VGCore::IVGColorManagementPolicy::GetActionForCMYK ( ) {
+    enum clrColorPolicyAction _result;
+    HRESULT _hr = get_ActionForCMYK(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(986)
+inline void VGCore::IVGColorManagementPolicy::PutActionForCMYK ( enum clrColorPolicyAction pVal ) {
+    HRESULT _hr = put_ActionForCMYK(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(987)
+inline enum VGCore::clrColorPolicyAction VGCore::IVGColorManagementPolicy::GetActionForGrayscale ( ) {
+    enum clrColorPolicyAction _result;
+    HRESULT _hr = get_ActionForGrayscale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(988)
+inline void VGCore::IVGColorManagementPolicy::PutActionForGrayscale ( enum clrColorPolicyAction pVal ) {
+    HRESULT _hr = put_ActionForGrayscale(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(989)
+inline VARIANT_BOOL VGCore::IVGColorManagementPolicy::GetWarnOnMismatchedProfiles ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_WarnOnMismatchedProfiles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(990)
+inline void VGCore::IVGColorManagementPolicy::PutWarnOnMismatchedProfiles ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_WarnOnMismatchedProfiles(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(991)
+inline VARIANT_BOOL VGCore::IVGColorManagementPolicy::GetWarnOnMissingProfiles ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_WarnOnMissingProfiles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(992)
+inline void VGCore::IVGColorManagementPolicy::PutWarnOnMissingProfiles ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_WarnOnMissingProfiles(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGStructColorConversionOptions wrapper method implementations
+//
+
+#pragma implementation_key(993)
+inline VGCore::IVGColorManagementPolicyPtr VGCore::IVGStructColorConversionOptions::GetColorPolicy ( ) {
+    struct IVGColorManagementPolicy * _result = 0;
+    HRESULT _hr = get_ColorPolicy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorManagementPolicyPtr(_result, false);
+}
+
+#pragma implementation_key(994)
+inline _bstr_t VGCore::IVGStructColorConversionOptions::GetSourceColorProfileList ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_SourceColorProfileList(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(995)
+inline void VGCore::IVGStructColorConversionOptions::PutSourceColorProfileList ( _bstr_t pVal ) {
+    HRESULT _hr = put_SourceColorProfileList(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(996)
+inline _bstr_t VGCore::IVGStructColorConversionOptions::GetTargetColorProfileList ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TargetColorProfileList(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(997)
+inline void VGCore::IVGStructColorConversionOptions::PutTargetColorProfileList ( _bstr_t pVal ) {
+    HRESULT _hr = put_TargetColorProfileList(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(998)
+inline VGCore::IColorConversionHandlerPtr VGCore::IVGStructColorConversionOptions::GetColorConversionHandler ( ) {
+    struct IColorConversionHandler * _result = 0;
+    HRESULT _hr = get_ColorConversionHandler(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IColorConversionHandlerPtr(_result, false);
+}
+
+#pragma implementation_key(999)
+inline void VGCore::IVGStructColorConversionOptions::PutRefColorConversionHandler ( struct IColorConversionHandler * * ppVal ) {
+    HRESULT _hr = putref_ColorConversionHandler(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGStructImportOptions wrapper method implementations
+//
+
+#pragma implementation_key(1000)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetLinkBitmapExternally ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_LinkBitmapExternally(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1001)
+inline void VGCore::IVGStructImportOptions::PutLinkBitmapExternally ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_LinkBitmapExternally(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1002)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetCombineMultilayerBitmaps ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CombineMultilayerBitmaps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1003)
+inline void VGCore::IVGStructImportOptions::PutCombineMultilayerBitmaps ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_CombineMultilayerBitmaps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1004)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetExtractICCProfile ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ExtractICCProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1005)
+inline void VGCore::IVGStructImportOptions::PutExtractICCProfile ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ExtractICCProfile(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1006)
+inline _bstr_t VGCore::IVGStructImportOptions::GetICCFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ICCFileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1007)
+inline void VGCore::IVGStructImportOptions::PutICCFileName ( _bstr_t pVal ) {
+    HRESULT _hr = put_ICCFileName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1008)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetMaintainLayers ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MaintainLayers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1009)
+inline void VGCore::IVGStructImportOptions::PutMaintainLayers ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MaintainLayers(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1010)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetUseOPILinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseOPILinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1011)
+inline void VGCore::IVGStructImportOptions::PutUseOPILinks ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseOPILinks(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1012)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetDetectWatermark ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DetectWatermark(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1013)
+inline void VGCore::IVGStructImportOptions::PutDetectWatermark ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DetectWatermark(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1014)
+inline enum VGCore::cdrImportMode VGCore::IVGStructImportOptions::GetMode ( ) {
+    enum cdrImportMode _result;
+    HRESULT _hr = get_Mode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1015)
+inline void VGCore::IVGStructImportOptions::PutMode ( enum cdrImportMode pVal ) {
+    HRESULT _hr = put_Mode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1016)
+inline long VGCore::IVGStructImportOptions::GetCustomData ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CustomData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1017)
+inline void VGCore::IVGStructImportOptions::PutCustomData ( long pVal ) {
+    HRESULT _hr = put_CustomData(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1018)
+inline long VGCore::IVGStructImportOptions::GetImageIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ImageIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1019)
+inline void VGCore::IVGStructImportOptions::PutImageIndex ( long pVal ) {
+    HRESULT _hr = put_ImageIndex(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1020)
+inline VGCore::IImportCropHandlerPtr VGCore::IVGStructImportOptions::GetCropHandler ( ) {
+    struct IImportCropHandler * _result = 0;
+    HRESULT _hr = get_CropHandler(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IImportCropHandlerPtr(_result, false);
+}
+
+#pragma implementation_key(1021)
+inline void VGCore::IVGStructImportOptions::PutRefCropHandler ( struct IImportCropHandler * * ppVal ) {
+    HRESULT _hr = putref_CropHandler(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1022)
+inline VGCore::IImportResampleHandlerPtr VGCore::IVGStructImportOptions::GetResampleHandler ( ) {
+    struct IImportResampleHandler * _result = 0;
+    HRESULT _hr = get_ResampleHandler(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IImportResampleHandlerPtr(_result, false);
+}
+
+#pragma implementation_key(1023)
+inline void VGCore::IVGStructImportOptions::PutRefResampleHandler ( struct IImportResampleHandler * * ppVal ) {
+    HRESULT _hr = putref_ResampleHandler(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1024)
+inline enum VGCore::cdrImportTextFormatting VGCore::IVGStructImportOptions::GetTextFormatting ( ) {
+    enum cdrImportTextFormatting _result;
+    HRESULT _hr = get_TextFormatting(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1025)
+inline void VGCore::IVGStructImportOptions::PutTextFormatting ( enum cdrImportTextFormatting pVal ) {
+    HRESULT _hr = put_TextFormatting(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1026)
+inline enum VGCore::cdrImportTableOutline VGCore::IVGStructImportOptions::GetTableOutline ( ) {
+    enum cdrImportTableOutline _result;
+    HRESULT _hr = get_TableOutline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1027)
+inline void VGCore::IVGStructImportOptions::PutTableOutline ( enum cdrImportTableOutline pVal ) {
+    HRESULT _hr = put_TableOutline(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1028)
+inline long VGCore::IVGStructImportOptions::GetCodePage ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CodePage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1029)
+inline void VGCore::IVGStructImportOptions::PutCodePage ( long pVal ) {
+    HRESULT _hr = put_CodePage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1030)
+inline long VGCore::IVGStructImportOptions::GetResampleWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResampleWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1031)
+inline void VGCore::IVGStructImportOptions::PutResampleWidth ( long pVal ) {
+    HRESULT _hr = put_ResampleWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1032)
+inline long VGCore::IVGStructImportOptions::GetResampleHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResampleHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1033)
+inline void VGCore::IVGStructImportOptions::PutResampleHeight ( long pVal ) {
+    HRESULT _hr = put_ResampleHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1034)
+inline long VGCore::IVGStructImportOptions::GetCropLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CropLeft(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1035)
+inline void VGCore::IVGStructImportOptions::PutCropLeft ( long pVal ) {
+    HRESULT _hr = put_CropLeft(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1036)
+inline long VGCore::IVGStructImportOptions::GetCropTop ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CropTop(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1037)
+inline void VGCore::IVGStructImportOptions::PutCropTop ( long pVal ) {
+    HRESULT _hr = put_CropTop(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1038)
+inline long VGCore::IVGStructImportOptions::GetCropWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CropWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1039)
+inline void VGCore::IVGStructImportOptions::PutCropWidth ( long pVal ) {
+    HRESULT _hr = put_CropWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1040)
+inline long VGCore::IVGStructImportOptions::GetCropHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CropHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1041)
+inline void VGCore::IVGStructImportOptions::PutCropHeight ( long pVal ) {
+    HRESULT _hr = put_CropHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1042)
+inline long VGCore::IVGStructImportOptions::GetResampleDpiX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResampleDpiX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1043)
+inline void VGCore::IVGStructImportOptions::PutResampleDpiX ( long pVal ) {
+    HRESULT _hr = put_ResampleDpiX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1044)
+inline long VGCore::IVGStructImportOptions::GetResampleDpiY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResampleDpiY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1045)
+inline void VGCore::IVGStructImportOptions::PutResampleDpiY ( long pVal ) {
+    HRESULT _hr = put_ResampleDpiY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1046)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetForceCMYKBlackText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ForceCMYKBlackText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1047)
+inline void VGCore::IVGStructImportOptions::PutForceCMYKBlackText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ForceCMYKBlackText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1048)
+inline VARIANT_BOOL VGCore::IVGStructImportOptions::GetConvertTablesToText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ConvertTablesToText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1049)
+inline void VGCore::IVGStructImportOptions::PutConvertTablesToText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ConvertTablesToText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1050)
+inline _bstr_t VGCore::IVGStructImportOptions::GetTableColumnDelimiter ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TableColumnDelimiter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1051)
+inline void VGCore::IVGStructImportOptions::PutTableColumnDelimiter ( _bstr_t pVal ) {
+    HRESULT _hr = put_TableColumnDelimiter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1052)
+inline VGCore::IVGStructColorConversionOptionsPtr VGCore::IVGStructImportOptions::GetColorConversionOptions ( ) {
+    struct IVGStructColorConversionOptions * _result = 0;
+    HRESULT _hr = get_ColorConversionOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructColorConversionOptionsPtr(_result, false);
+}
+
+//
+// interface IVGStructPasteOptions wrapper method implementations
+//
+
+#pragma implementation_key(1053)
+inline VGCore::IVGStructColorConversionOptionsPtr VGCore::IVGStructPasteOptions::GetColorConversionOptions ( ) {
+    struct IVGStructColorConversionOptions * _result = 0;
+    HRESULT _hr = get_ColorConversionOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructColorConversionOptionsPtr(_result, false);
+}
+
+//
+// interface IVGCommentAuthor wrapper method implementations
+//
+
+#pragma implementation_key(1054)
+inline _bstr_t VGCore::IVGCommentAuthor::GetEmail ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Email(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1055)
+inline _bstr_t VGCore::IVGCommentAuthor::GetAvatar ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Avatar(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1056)
+inline enum VGCore::cdrAuthorAuthentication VGCore::IVGCommentAuthor::GetAuthentication ( ) {
+    enum cdrAuthorAuthentication _result;
+    HRESULT _hr = get_Authentication(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1057)
+inline _bstr_t VGCore::IVGCommentAuthor::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1058)
+inline _bstr_t VGCore::IVGCommentAuthor::GetOnlineID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_OnlineID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1059)
+inline void VGCore::IVGCommentAuthor::PutOnlineID ( _bstr_t pRet ) {
+    HRESULT _hr = put_OnlineID(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface ICorelScriptTools wrapper method implementations
+//
+
+#pragma implementation_key(1060)
+inline double VGCore::ICorelScriptTools::AngleConvert ( long FromUnit, long ToUnit, double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_AngleConvert(FromUnit, ToUnit, Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1061)
+inline double VGCore::ICorelScriptTools::ASin ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_ASin(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1062)
+inline HRESULT VGCore::ICorelScriptTools::BeginWaitCursor ( ) {
+    HRESULT _hr = raw_BeginWaitCursor();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1063)
+inline HRESULT VGCore::ICorelScriptTools::EndWaitCursor ( ) {
+    HRESULT _hr = raw_EndWaitCursor();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1064)
+inline DATE VGCore::ICorelScriptTools::BuildDate ( long Year, long Month, long Day ) {
+    DATE _result = 0;
+    HRESULT _hr = raw_BuildDate(Year, Month, Day, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1065)
+inline DATE VGCore::ICorelScriptTools::BuildTime ( long Hour, long Minute, long Second ) {
+    DATE _result = 0;
+    HRESULT _hr = raw_BuildTime(Hour, Minute, Second, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1066)
+inline long VGCore::ICorelScriptTools::Dec ( _bstr_t Hex ) {
+    long _result = 0;
+    HRESULT _hr = raw_Dec(Hex, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1067)
+inline long VGCore::ICorelScriptTools::FileAttr ( _bstr_t FolderFile ) {
+    long _result = 0;
+    HRESULT _hr = raw_FileAttr(FolderFile, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1068)
+inline _bstr_t VGCore::ICorelScriptTools::FindFirstFolder ( _bstr_t SearchCriteria, long Attributes ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_FindFirstFolder(SearchCriteria, Attributes, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1069)
+inline _bstr_t VGCore::ICorelScriptTools::FindNextFolder ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_FindNextFolder(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1070)
+inline _bstr_t VGCore::ICorelScriptTools::FormatTime ( DATE Time, _bstr_t Format ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_FormatTime(Time, Format, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1071)
+inline double VGCore::ICorelScriptTools::FromCentimeters ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_FromCentimeters(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1072)
+inline double VGCore::ICorelScriptTools::FromCiceros ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_FromCiceros(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1073)
+inline double VGCore::ICorelScriptTools::FromDidots ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_FromDidots(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1074)
+inline double VGCore::ICorelScriptTools::FromInches ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_FromInches(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1075)
+inline double VGCore::ICorelScriptTools::FromPicas ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_FromPicas(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1076)
+inline double VGCore::ICorelScriptTools::FromPoints ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_FromPoints(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1077)
+inline long VGCore::ICorelScriptTools::GetAppHandle ( ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetAppHandle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1078)
+inline VARIANT_BOOL VGCore::ICorelScriptTools::GetColor ( long * Red, long * Green, long * Blue ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetColor(Red, Green, Blue, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1079)
+inline _bstr_t VGCore::ICorelScriptTools::GetCommandLine ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetCommandLine(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1080)
+inline _bstr_t VGCore::ICorelScriptTools::GetCurrFolder ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetCurrFolder(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1081)
+inline HRESULT VGCore::ICorelScriptTools::GetDateInfo ( DATE Date, long * Year, long * Month, long * Day, long * DayOfWeek ) {
+    HRESULT _hr = raw_GetDateInfo(Date, Year, Month, Day, DayOfWeek);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1082)
+inline _bstr_t VGCore::ICorelScriptTools::GetFileBox ( _bstr_t Filter, _bstr_t Title, long Type, _bstr_t File, _bstr_t Extension, _bstr_t Folder, _bstr_t Button ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetFileBox(Filter, Title, Type, File, Extension, Folder, Button, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1083)
+inline _bstr_t VGCore::ICorelScriptTools::GetFolder ( _bstr_t InitFolder, _bstr_t Title, long ParentWindowHandle ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetFolder(InitFolder, Title, ParentWindowHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1084)
+inline VARIANT_BOOL VGCore::ICorelScriptTools::GetFont ( BSTR * FaceName, long * PointSize, long * Weight, VARIANT_BOOL * Italic, VARIANT_BOOL * Underline, VARIANT_BOOL * StrikeOut, long * Red, long * Green, long * Blue ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetFont(FaceName, PointSize, Weight, Italic, Underline, StrikeOut, Red, Green, Blue, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1085)
+inline long VGCore::ICorelScriptTools::GetProcessInfo ( long ProcessHandle ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetProcessInfo(ProcessHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1086)
+inline _bstr_t VGCore::ICorelScriptTools::GetScriptFolder ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetScriptFolder(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1087)
+inline _bstr_t VGCore::ICorelScriptTools::GetTempFolder ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetTempFolder(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1088)
+inline HRESULT VGCore::ICorelScriptTools::GetTimeInfo ( DATE Time, long * Hour, long * Minute, long * Second ) {
+    HRESULT _hr = raw_GetTimeInfo(Time, Hour, Minute, Second);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1089)
+inline long VGCore::ICorelScriptTools::GetType ( const _variant_t & Expression ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetType(Expression, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1090)
+inline long VGCore::ICorelScriptTools::GetVersion ( long Option ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetVersion(Option, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1091)
+inline long VGCore::ICorelScriptTools::GetWinHandle ( ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetWinHandle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1092)
+inline VARIANT_BOOL VGCore::ICorelScriptTools::Kill ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Kill(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1093)
+inline double VGCore::ICorelScriptTools::LengthConvert ( long FromUnit, long ToUnit, double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_LengthConvert(FromUnit, ToUnit, Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1094)
+inline double VGCore::ICorelScriptTools::Log ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_Log(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1095)
+inline VARIANT_BOOL VGCore::ICorelScriptTools::MkFolder ( _bstr_t Folder ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_MkFolder(Folder, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1096)
+inline _variant_t VGCore::ICorelScriptTools::RegistryQuery ( long MainKey, _bstr_t SubKey, _bstr_t Value ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_RegistryQuery(MainKey, SubKey, Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(1097)
+inline VARIANT_BOOL VGCore::ICorelScriptTools::Rename ( _bstr_t Src, _bstr_t Dst, long Overwrite ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Rename(Src, Dst, Overwrite, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1098)
+inline VARIANT_BOOL VGCore::ICorelScriptTools::RmFolder ( _bstr_t Folder ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_RmFolder(Folder, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1099)
+inline double VGCore::ICorelScriptTools::ToCentimeters ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_ToCentimeters(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1100)
+inline double VGCore::ICorelScriptTools::ToCiceros ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_ToCiceros(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1101)
+inline double VGCore::ICorelScriptTools::ToDidots ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_ToDidots(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1102)
+inline double VGCore::ICorelScriptTools::ToInches ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_ToInches(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1103)
+inline double VGCore::ICorelScriptTools::ToPicas ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_ToPicas(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1104)
+inline double VGCore::ICorelScriptTools::ToPoints ( double Value ) {
+    double _result = 0;
+    HRESULT _hr = raw_ToPoints(Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGFontList wrapper method implementations
+//
+
+#pragma implementation_key(1105)
+inline IDispatchPtr VGCore::IVGFontList::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1106)
+inline IDispatchPtr VGCore::IVGFontList::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1107)
+inline _bstr_t VGCore::IVGFontList::GetItem ( long Index ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1108)
+inline IUnknownPtr VGCore::IVGFontList::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1109)
+inline long VGCore::IVGFontList::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGAppWindow wrapper method implementations
+//
+
+#pragma implementation_key(1110)
+inline IDispatchPtr VGCore::IVGAppWindow::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1111)
+inline IDispatchPtr VGCore::IVGAppWindow::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1112)
+inline HRESULT VGCore::IVGAppWindow::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1113)
+inline VARIANT_BOOL VGCore::IVGAppWindow::GetActive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Active(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1114)
+inline _bstr_t VGCore::IVGAppWindow::GetCaption ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Caption(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1115)
+inline void VGCore::IVGAppWindow::PutCaption ( _bstr_t pVal ) {
+    HRESULT _hr = put_Caption(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1116)
+inline long VGCore::IVGAppWindow::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1117)
+inline void VGCore::IVGAppWindow::PutHeight ( long pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1118)
+inline long VGCore::IVGAppWindow::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1119)
+inline void VGCore::IVGAppWindow::PutWidth ( long pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1120)
+inline long VGCore::IVGAppWindow::GetLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Left(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1121)
+inline void VGCore::IVGAppWindow::PutLeft ( long pVal ) {
+    HRESULT _hr = put_Left(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1122)
+inline long VGCore::IVGAppWindow::GetTop ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1123)
+inline void VGCore::IVGAppWindow::PutTop ( long pVal ) {
+    HRESULT _hr = put_Top(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1124)
+inline enum VGCore::cdrWindowState VGCore::IVGAppWindow::GetWindowState ( ) {
+    enum cdrWindowState _result;
+    HRESULT _hr = get_WindowState(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1125)
+inline void VGCore::IVGAppWindow::PutWindowState ( enum cdrWindowState pVal ) {
+    HRESULT _hr = put_WindowState(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1126)
+inline long VGCore::IVGAppWindow::GetClientWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ClientWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1127)
+inline long VGCore::IVGAppWindow::GetClientHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ClientHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1128)
+inline long VGCore::IVGAppWindow::GetHandle ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Handle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGPatternCanvases wrapper method implementations
+//
+
+#pragma implementation_key(1129)
+inline VGCore::IVGPatternCanvasPtr VGCore::IVGPatternCanvases::GetItem ( long Index ) {
+    struct IVGPatternCanvas * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternCanvasPtr(_result, false);
+}
+
+#pragma implementation_key(1130)
+inline void VGCore::IVGPatternCanvases::PutItem ( long Index, struct IVGPatternCanvas * ppVal ) {
+    HRESULT _hr = put_Item(Index, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1131)
+inline IUnknownPtr VGCore::IVGPatternCanvases::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1132)
+inline long VGCore::IVGPatternCanvases::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1133)
+inline long VGCore::IVGPatternCanvases::Add ( struct IVGPatternCanvas * PatternCanvas ) {
+    long _result = 0;
+    HRESULT _hr = raw_Add(PatternCanvas, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1134)
+inline HRESULT VGCore::IVGPatternCanvases::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGClipboard wrapper method implementations
+//
+
+#pragma implementation_key(1135)
+inline IDispatchPtr VGCore::IVGClipboard::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1136)
+inline IDispatchPtr VGCore::IVGClipboard::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1137)
+inline VARIANT_BOOL VGCore::IVGClipboard::GetValid ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Valid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1138)
+inline VARIANT_BOOL VGCore::IVGClipboard::GetEmpty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Empty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1139)
+inline HRESULT VGCore::IVGClipboard::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1140)
+inline VARIANT_BOOL VGCore::IVGClipboard::DataPresent ( _bstr_t FormatName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_DataPresent(FormatName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGGMSMacro wrapper method implementations
+//
+
+#pragma implementation_key(1141)
+inline _bstr_t VGCore::IVGGMSMacro::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1142)
+inline HRESULT VGCore::IVGGMSMacro::Run ( ) {
+    HRESULT _hr = raw_Run();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1143)
+inline HRESULT VGCore::IVGGMSMacro::Edit ( ) {
+    HRESULT _hr = raw_Edit();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1144)
+inline HRESULT VGCore::IVGGMSMacro::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGGMSMacros wrapper method implementations
+//
+
+#pragma implementation_key(1145)
+inline IUnknownPtr VGCore::IVGGMSMacros::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1146)
+inline VGCore::IVGGMSMacroPtr VGCore::IVGGMSMacros::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGGMSMacro * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSMacroPtr(_result, false);
+}
+
+#pragma implementation_key(1147)
+inline long VGCore::IVGGMSMacros::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1148)
+inline VGCore::IVGGMSMacroPtr VGCore::IVGGMSMacros::Create ( _bstr_t Name ) {
+    struct IVGGMSMacro * _result = 0;
+    HRESULT _hr = raw_Create(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSMacroPtr(_result, false);
+}
+
+//
+// interface IVGGMSProject wrapper method implementations
+//
+
+#pragma implementation_key(1149)
+inline _bstr_t VGCore::IVGGMSProject::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1150)
+inline void VGCore::IVGGMSProject::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1151)
+inline _bstr_t VGCore::IVGGMSProject::GetDisplayName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DisplayName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1152)
+inline VGCore::IVGGMSMacrosPtr VGCore::IVGGMSProject::GetMacros ( ) {
+    struct IVGGMSMacros * _result = 0;
+    HRESULT _hr = get_Macros(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSMacrosPtr(_result, false);
+}
+
+#pragma implementation_key(1153)
+inline HRESULT VGCore::IVGGMSProject::Unload ( ) {
+    HRESULT _hr = raw_Unload();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1154)
+inline _bstr_t VGCore::IVGGMSProject::GetFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1155)
+inline _bstr_t VGCore::IVGGMSProject::GetFilePath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FilePath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1156)
+inline _bstr_t VGCore::IVGGMSProject::GetFullFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FullFileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1157)
+inline VARIANT_BOOL VGCore::IVGGMSProject::GetDirty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Dirty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1158)
+inline void VGCore::IVGGMSProject::PutDirty ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Dirty(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1159)
+inline VARIANT_BOOL VGCore::IVGGMSProject::GetLocked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Locked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1160)
+inline VARIANT_BOOL VGCore::IVGGMSProject::GetPasswordProtected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PasswordProtected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGGMSProjects wrapper method implementations
+//
+
+#pragma implementation_key(1161)
+inline IUnknownPtr VGCore::IVGGMSProjects::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1162)
+inline VGCore::IVGGMSProjectPtr VGCore::IVGGMSProjects::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGGMSProject * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSProjectPtr(_result, false);
+}
+
+#pragma implementation_key(1163)
+inline long VGCore::IVGGMSProjects::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1164)
+inline VGCore::IVGGMSProjectPtr VGCore::IVGGMSProjects::Load ( _bstr_t FileName, VARIANT_BOOL CopyFile, VARIANT_BOOL ForAllUsers ) {
+    struct IVGGMSProject * _result = 0;
+    HRESULT _hr = raw_Load(FileName, CopyFile, ForAllUsers, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSProjectPtr(_result, false);
+}
+
+#pragma implementation_key(1165)
+inline VGCore::IVGGMSProjectPtr VGCore::IVGGMSProjects::Create ( _bstr_t Name, VARIANT_BOOL ForAllUsers, _bstr_t FileName ) {
+    struct IVGGMSProject * _result = 0;
+    HRESULT _hr = raw_Create(Name, ForAllUsers, FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSProjectPtr(_result, false);
+}
+
+//
+// interface IVGGMSManager wrapper method implementations
+//
+
+#pragma implementation_key(1166)
+inline _bstr_t VGCore::IVGGMSManager::GetGMSPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_GMSPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1167)
+inline _variant_t VGCore::IVGGMSManager::RunMacro ( _bstr_t ModuleName, _bstr_t MacroName, SAFEARRAY * * Parameters ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_RunMacro(ModuleName, MacroName, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(1168)
+inline _bstr_t VGCore::IVGGMSManager::GetUserGMSPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_UserGMSPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1169)
+inline VGCore::IVGGMSProjectsPtr VGCore::IVGGMSManager::GetProjects ( ) {
+    struct IVGGMSProjects * _result = 0;
+    HRESULT _hr = get_Projects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSProjectsPtr(_result, false);
+}
+
+//
+// interface IVGStructSaveAsOptions wrapper method implementations
+//
+
+#pragma implementation_key(1170)
+inline void VGCore::IVGStructSaveAsOptions::PutFilter ( enum cdrFilter pVal ) {
+    HRESULT _hr = put_Filter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1171)
+inline enum VGCore::cdrFilter VGCore::IVGStructSaveAsOptions::GetFilter ( ) {
+    enum cdrFilter _result;
+    HRESULT _hr = get_Filter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1172)
+inline void VGCore::IVGStructSaveAsOptions::PutVersion ( enum cdrFileVersion pVal ) {
+    HRESULT _hr = put_Version(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1173)
+inline enum VGCore::cdrFileVersion VGCore::IVGStructSaveAsOptions::GetVersion ( ) {
+    enum cdrFileVersion _result;
+    HRESULT _hr = get_Version(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1174)
+inline void VGCore::IVGStructSaveAsOptions::PutThumbnailSize ( enum cdrThumbnailSize pVal ) {
+    HRESULT _hr = put_ThumbnailSize(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1175)
+inline enum VGCore::cdrThumbnailSize VGCore::IVGStructSaveAsOptions::GetThumbnailSize ( ) {
+    enum cdrThumbnailSize _result;
+    HRESULT _hr = get_ThumbnailSize(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1176)
+inline void VGCore::IVGStructSaveAsOptions::PutRange ( enum cdrExportRange pVal ) {
+    HRESULT _hr = put_Range(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1177)
+inline enum VGCore::cdrExportRange VGCore::IVGStructSaveAsOptions::GetRange ( ) {
+    enum cdrExportRange _result;
+    HRESULT _hr = get_Range(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1178)
+inline void VGCore::IVGStructSaveAsOptions::PutOverwrite ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Overwrite(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1179)
+inline VARIANT_BOOL VGCore::IVGStructSaveAsOptions::GetOverwrite ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Overwrite(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1180)
+inline void VGCore::IVGStructSaveAsOptions::PutEmbedICCProfile ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_EmbedICCProfile(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1181)
+inline VARIANT_BOOL VGCore::IVGStructSaveAsOptions::GetEmbedICCProfile ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EmbedICCProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1182)
+inline void VGCore::IVGStructSaveAsOptions::PutEmbedVBAProject ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_EmbedVBAProject(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1183)
+inline VARIANT_BOOL VGCore::IVGStructSaveAsOptions::GetEmbedVBAProject ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EmbedVBAProject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1184)
+inline void VGCore::IVGStructSaveAsOptions::PutIncludeCMXData ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_IncludeCMXData(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1185)
+inline VARIANT_BOOL VGCore::IVGStructSaveAsOptions::GetIncludeCMXData ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IncludeCMXData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1186)
+inline void VGCore::IVGStructSaveAsOptions::PutKeepAppearance ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_KeepAppearance(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1187)
+inline VARIANT_BOOL VGCore::IVGStructSaveAsOptions::GetKeepAppearance ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_KeepAppearance(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGComponent wrapper method implementations
+//
+
+#pragma implementation_key(1188)
+inline _bstr_t VGCore::IVGComponent::GetComponentID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ComponentID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface IVGComponents wrapper method implementations
+//
+
+#pragma implementation_key(1189)
+inline IUnknownPtr VGCore::IVGComponents::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1190)
+inline VGCore::IVGComponentPtr VGCore::IVGComponents::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGComponent * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGComponentPtr(_result, false);
+}
+
+#pragma implementation_key(1191)
+inline long VGCore::IVGComponents::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1192)
+inline VARIANT_BOOL VGCore::IVGComponents::IsComponentInstalled ( _bstr_t ComponentID ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsComponentInstalled(ComponentID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGAppStatus wrapper method implementations
+//
+
+#pragma implementation_key(1193)
+inline HRESULT VGCore::IVGAppStatus::BeginProgress ( _bstr_t Message, VARIANT_BOOL CanAbort ) {
+    HRESULT _hr = raw_BeginProgress(Message, CanAbort);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1194)
+inline HRESULT VGCore::IVGAppStatus::UpdateProgress ( long Step ) {
+    HRESULT _hr = raw_UpdateProgress(Step);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1195)
+inline HRESULT VGCore::IVGAppStatus::SetProgressMessage ( _bstr_t Message ) {
+    HRESULT _hr = raw_SetProgressMessage(Message);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1196)
+inline HRESULT VGCore::IVGAppStatus::EndProgress ( ) {
+    HRESULT _hr = raw_EndProgress();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1197)
+inline long VGCore::IVGAppStatus::GetProgress ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Progress(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1198)
+inline void VGCore::IVGAppStatus::PutProgress ( long pVal ) {
+    HRESULT _hr = put_Progress(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1199)
+inline VARIANT_BOOL VGCore::IVGAppStatus::GetAborted ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Aborted(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGStructOpenOptions wrapper method implementations
+//
+
+#pragma implementation_key(1200)
+inline long VGCore::IVGStructOpenOptions::GetCodePage ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CodePage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1201)
+inline void VGCore::IVGStructOpenOptions::PutCodePage ( long pVal ) {
+    HRESULT _hr = put_CodePage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1202)
+inline VGCore::IVGStructColorConversionOptionsPtr VGCore::IVGStructOpenOptions::GetColorConversionOptions ( ) {
+    struct IVGStructColorConversionOptions * _result = 0;
+    HRESULT _hr = get_ColorConversionOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructColorConversionOptionsPtr(_result, false);
+}
+
+//
+// interface IVGOnScreenHandle wrapper method implementations
+//
+
+#pragma implementation_key(1203)
+inline HRESULT VGCore::IVGOnScreenHandle::Show ( ) {
+    HRESULT _hr = raw_Show();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1204)
+inline HRESULT VGCore::IVGOnScreenHandle::Hide ( ) {
+    HRESULT _hr = raw_Hide();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1205)
+inline HRESULT VGCore::IVGOnScreenHandle::SetHandleColor ( long Color ) {
+    HRESULT _hr = raw_SetHandleColor(Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1206)
+inline HRESULT VGCore::IVGOnScreenHandle::SetPosition ( double x, double y ) {
+    HRESULT _hr = raw_SetPosition(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1207)
+inline HRESULT VGCore::IVGOnScreenHandle::UpdateHotTracking ( double MouseX, double MouseY ) {
+    HRESULT _hr = raw_UpdateHotTracking(MouseX, MouseY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1208)
+inline VARIANT_BOOL VGCore::IVGOnScreenHandle::GetIsHotTracked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsHotTracked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1209)
+inline VARIANT_BOOL VGCore::IVGOnScreenHandle::GetIsOnHandle ( double MouseX, double MouseY ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOnHandle(MouseX, MouseY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGOnScreenText wrapper method implementations
+//
+
+#pragma implementation_key(1210)
+inline HRESULT VGCore::IVGOnScreenText::Show ( ) {
+    HRESULT _hr = raw_Show();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1211)
+inline HRESULT VGCore::IVGOnScreenText::Hide ( ) {
+    HRESULT _hr = raw_Hide();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1212)
+inline HRESULT VGCore::IVGOnScreenText::SetTextColor ( long Color ) {
+    HRESULT _hr = raw_SetTextColor(Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1213)
+inline HRESULT VGCore::IVGOnScreenText::SetTextAndPosition ( _bstr_t Text, double x, double y, enum cdrOnScreenTextAlign align, double xRef, double yRef ) {
+    HRESULT _hr = raw_SetTextAndPosition(Text, x, y, align, xRef, yRef);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1214)
+inline HRESULT VGCore::IVGOnScreenText::SetText ( _bstr_t Text ) {
+    HRESULT _hr = raw_SetText(Text);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1215)
+inline HRESULT VGCore::IVGOnScreenText::SetPixelOffset ( long x, long y ) {
+    HRESULT _hr = raw_SetPixelOffset(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1216)
+inline HRESULT VGCore::IVGOnScreenText::UpdatePosition ( double x, double y ) {
+    HRESULT _hr = raw_UpdatePosition(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGToolShapeAttributes wrapper method implementations
+//
+
+#pragma implementation_key(1217)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetCanResize ( VARIANT_BOOL val ) {
+    HRESULT _hr = raw_SetCanResize(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1218)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetCanRotate ( VARIANT_BOOL val ) {
+    HRESULT _hr = raw_SetCanRotate(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1219)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetCanSkew ( VARIANT_BOOL val ) {
+    HRESULT _hr = raw_SetCanSkew(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1220)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetCanSizeDisproportionally ( VARIANT_BOOL val ) {
+    HRESULT _hr = raw_SetCanSizeDisproportionally(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1221)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetCanApplyNonlinearTransforms ( VARIANT_BOOL val ) {
+    HRESULT _hr = raw_SetCanApplyNonlinearTransforms(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1222)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetRegenerateOnTransform ( VARIANT_BOOL val ) {
+    HRESULT _hr = raw_SetRegenerateOnTransform(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1223)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetRegenerateOnStyleChange ( VARIANT_BOOL val ) {
+    HRESULT _hr = raw_SetRegenerateOnStyleChange(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1224)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetPropertyBarGuid ( _bstr_t val ) {
+    HRESULT _hr = raw_SetPropertyBarGuid(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1225)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetContextMenuGuid ( _bstr_t val ) {
+    HRESULT _hr = raw_SetContextMenuGuid(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1226)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetObjectManagerBitmapGuid ( _bstr_t val ) {
+    HRESULT _hr = raw_SetObjectManagerBitmapGuid(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1227)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetEditStateGuid ( _bstr_t val ) {
+    HRESULT _hr = raw_SetEditStateGuid(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1228)
+inline HRESULT VGCore::IVGToolShapeAttributes::SetDefaultShapename ( _bstr_t val ) {
+    HRESULT _hr = raw_SetDefaultShapename(val);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGMetadata wrapper method implementations
+//
+
+#pragma implementation_key(1229)
+inline _bstr_t VGCore::IVGMetadata::GetKeywords ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Keywords(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1230)
+inline void VGCore::IVGMetadata::PutKeywords ( _bstr_t pVal ) {
+    HRESULT _hr = put_Keywords(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1231)
+inline _bstr_t VGCore::IVGMetadata::GetNotes ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Notes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1232)
+inline void VGCore::IVGMetadata::PutNotes ( _bstr_t pVal ) {
+    HRESULT _hr = put_Notes(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1233)
+inline _bstr_t VGCore::IVGMetadata::GetAuthor ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Author(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1234)
+inline void VGCore::IVGMetadata::PutAuthor ( _bstr_t pVal ) {
+    HRESULT _hr = put_Author(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1235)
+inline _bstr_t VGCore::IVGMetadata::GetLastAuthor ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LastAuthor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1236)
+inline void VGCore::IVGMetadata::PutLastAuthor ( _bstr_t pVal ) {
+    HRESULT _hr = put_LastAuthor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1237)
+inline _bstr_t VGCore::IVGMetadata::GetSubject ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Subject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1238)
+inline void VGCore::IVGMetadata::PutSubject ( _bstr_t pVal ) {
+    HRESULT _hr = put_Subject(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1239)
+inline _bstr_t VGCore::IVGMetadata::GetCopyright ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Copyright(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1240)
+inline void VGCore::IVGMetadata::PutCopyright ( _bstr_t pVal ) {
+    HRESULT _hr = put_Copyright(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1241)
+inline long VGCore::IVGMetadata::GetRevision ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Revision(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1242)
+inline void VGCore::IVGMetadata::PutRevision ( long pVal ) {
+    HRESULT _hr = put_Revision(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1243)
+inline _bstr_t VGCore::IVGMetadata::GetTemplateSided ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TemplateSided(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1244)
+inline void VGCore::IVGMetadata::PutTemplateSided ( _bstr_t pVal ) {
+    HRESULT _hr = put_TemplateSided(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1245)
+inline _bstr_t VGCore::IVGMetadata::GetTemplateFolds ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TemplateFolds(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1246)
+inline void VGCore::IVGMetadata::PutTemplateFolds ( _bstr_t pVal ) {
+    HRESULT _hr = put_TemplateFolds(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1247)
+inline _bstr_t VGCore::IVGMetadata::GetTemplateType ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TemplateType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1248)
+inline void VGCore::IVGMetadata::PutTemplateType ( _bstr_t pVal ) {
+    HRESULT _hr = put_TemplateType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1249)
+inline _bstr_t VGCore::IVGMetadata::GetTemplateIndustry ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TemplateIndustry(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1250)
+inline void VGCore::IVGMetadata::PutTemplateIndustry ( _bstr_t pVal ) {
+    HRESULT _hr = put_TemplateIndustry(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1251)
+inline _bstr_t VGCore::IVGMetadata::GetTitle ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Title(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1252)
+inline void VGCore::IVGMetadata::PutTitle ( _bstr_t pVal ) {
+    HRESULT _hr = put_Title(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1253)
+inline _bstr_t VGCore::IVGMetadata::GetDocID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DocID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1254)
+inline void VGCore::IVGMetadata::PutDocID ( _bstr_t pVal ) {
+    HRESULT _hr = put_DocID(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1255)
+inline enum VGCore::cdrTextLanguage VGCore::IVGMetadata::GetDocLanguage ( ) {
+    enum cdrTextLanguage _result;
+    HRESULT _hr = get_DocLanguage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1256)
+inline void VGCore::IVGMetadata::PutDocLanguage ( enum cdrTextLanguage pVal ) {
+    HRESULT _hr = put_DocLanguage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1257)
+inline _bstr_t VGCore::IVGMetadata::GetTemplateDesignerNotes ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_TemplateDesignerNotes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1258)
+inline void VGCore::IVGMetadata::PutTemplateDesignerNotes ( _bstr_t pVal ) {
+    HRESULT _hr = put_TemplateDesignerNotes(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1259)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGMetadata::GetLocalizableKeywords ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_LocalizableKeywords(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(1260)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGMetadata::GetLocalizableNotes ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_LocalizableNotes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(1261)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGMetadata::GetLocalizableTitle ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_LocalizableTitle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(1262)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGMetadata::GetLocalizableSubject ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_LocalizableSubject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(1263)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGMetadata::GetLocalizableCopyright ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_LocalizableCopyright(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(1264)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGMetadata::GetLocalizableTemplateDesignerNotes ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_LocalizableTemplateDesignerNotes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+#pragma implementation_key(1265)
+inline VGCore::IVGLocalizableStringPtr VGCore::IVGMetadata::GetCategory ( ) {
+    struct IVGLocalizableString * _result = 0;
+    HRESULT _hr = get_Category(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLocalizableStringPtr(_result, false);
+}
+
+//
+// interface _IGlobalMacroStorage wrapper method implementations
+//
+
+#pragma implementation_key(1266)
+inline _bstr_t VGCore::_IGlobalMacroStorage::Get_CodeName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get__CodeName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1267)
+inline void VGCore::_IGlobalMacroStorage::Put_CodeName ( _bstr_t pVal ) {
+    HRESULT _hr = put__CodeName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// dispinterface DIVGDocumentEvents wrapper method implementations
+//
+
+#pragma implementation_key(1268)
+inline HRESULT VGCore::DIVGDocumentEvents::QueryClose ( VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x1, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x400b", Cancel);
+}
+
+#pragma implementation_key(1269)
+inline HRESULT VGCore::DIVGDocumentEvents::QuerySave ( VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x2, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x400b", Cancel);
+}
+
+#pragma implementation_key(1270)
+inline HRESULT VGCore::DIVGDocumentEvents::QueryPrint ( VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x3, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x400b", Cancel);
+}
+
+#pragma implementation_key(1271)
+inline HRESULT VGCore::DIVGDocumentEvents::QueryExport ( VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x4, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x400b", Cancel);
+}
+
+#pragma implementation_key(1272)
+inline HRESULT VGCore::DIVGDocumentEvents::Open ( ) {
+    return _com_dispatch_method(this, 0x5, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+#pragma implementation_key(1273)
+inline HRESULT VGCore::DIVGDocumentEvents::Close ( ) {
+    return _com_dispatch_method(this, 0x6, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+#pragma implementation_key(1274)
+inline HRESULT VGCore::DIVGDocumentEvents::BeforeSave ( VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    return _com_dispatch_method(this, 0x7, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x000b\x0008", SaveAs, (BSTR)FileName);
+}
+
+#pragma implementation_key(1275)
+inline HRESULT VGCore::DIVGDocumentEvents::AfterSave ( VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    return _com_dispatch_method(this, 0x8, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x000b\x0008", SaveAs, (BSTR)FileName);
+}
+
+#pragma implementation_key(1276)
+inline HRESULT VGCore::DIVGDocumentEvents::BeforePrint ( ) {
+    return _com_dispatch_method(this, 0x9, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+#pragma implementation_key(1277)
+inline HRESULT VGCore::DIVGDocumentEvents::AfterPrint ( ) {
+    return _com_dispatch_method(this, 0xa, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+#pragma implementation_key(1278)
+inline HRESULT VGCore::DIVGDocumentEvents::BeforeExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    return _com_dispatch_method(this, 0xb, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0008\x0003\x000b", (BSTR)FileName, Filter, SaveBitmap);
+}
+
+#pragma implementation_key(1279)
+inline HRESULT VGCore::DIVGDocumentEvents::AfterExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    return _com_dispatch_method(this, 0xc, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0008\x0003\x000b", (BSTR)FileName, Filter, SaveBitmap);
+}
+
+#pragma implementation_key(1280)
+inline HRESULT VGCore::DIVGDocumentEvents::LayerCreate ( struct IVGLayer * Layer ) {
+    return _com_dispatch_method(this, 0xd, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Layer);
+}
+
+#pragma implementation_key(1281)
+inline HRESULT VGCore::DIVGDocumentEvents::LayerDelete ( long Count ) {
+    return _com_dispatch_method(this, 0xe, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0003", Count);
+}
+
+#pragma implementation_key(1282)
+inline HRESULT VGCore::DIVGDocumentEvents::LayerActivate ( struct IVGLayer * Layer ) {
+    return _com_dispatch_method(this, 0xf, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Layer);
+}
+
+#pragma implementation_key(1283)
+inline HRESULT VGCore::DIVGDocumentEvents::LayerChange ( struct IVGLayer * Layer ) {
+    return _com_dispatch_method(this, 0x10, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Layer);
+}
+
+#pragma implementation_key(1284)
+inline HRESULT VGCore::DIVGDocumentEvents::PageCreate ( struct IVGPage * Page ) {
+    return _com_dispatch_method(this, 0x11, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Page);
+}
+
+#pragma implementation_key(1285)
+inline HRESULT VGCore::DIVGDocumentEvents::PageDelete ( long Count ) {
+    return _com_dispatch_method(this, 0x12, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0003", Count);
+}
+
+#pragma implementation_key(1286)
+inline HRESULT VGCore::DIVGDocumentEvents::PageActivate ( struct IVGPage * Page ) {
+    return _com_dispatch_method(this, 0x13, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Page);
+}
+
+#pragma implementation_key(1287)
+inline HRESULT VGCore::DIVGDocumentEvents::PageChange ( struct IVGPage * Page ) {
+    return _com_dispatch_method(this, 0x14, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Page);
+}
+
+#pragma implementation_key(1288)
+inline HRESULT VGCore::DIVGDocumentEvents::ShapeCreate ( struct IVGShape * Shape ) {
+    return _com_dispatch_method(this, 0x15, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Shape);
+}
+
+#pragma implementation_key(1289)
+inline HRESULT VGCore::DIVGDocumentEvents::ShapeDelete ( long Count ) {
+    return _com_dispatch_method(this, 0x16, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0003", Count);
+}
+
+#pragma implementation_key(1290)
+inline HRESULT VGCore::DIVGDocumentEvents::ShapeMove ( struct IVGShape * Shape ) {
+    return _com_dispatch_method(this, 0x17, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Shape);
+}
+
+#pragma implementation_key(1291)
+inline HRESULT VGCore::DIVGDocumentEvents::ShapeTransform ( struct IVGShape * Shape ) {
+    return _com_dispatch_method(this, 0x18, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Shape);
+}
+
+#pragma implementation_key(1292)
+inline HRESULT VGCore::DIVGDocumentEvents::ShapeDistort ( struct IVGShape * Shape ) {
+    return _com_dispatch_method(this, 0x19, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Shape);
+}
+
+#pragma implementation_key(1293)
+inline HRESULT VGCore::DIVGDocumentEvents::ShapeChange ( struct IVGShape * Shape, enum cdrShapeChangeScope Scope ) {
+    return _com_dispatch_method(this, 0x1a, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x0003", Shape, Scope);
+}
+
+#pragma implementation_key(1294)
+inline HRESULT VGCore::DIVGDocumentEvents::SelectionChange ( ) {
+    return _com_dispatch_method(this, 0x1b, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+//
+// interface IVGDocumentEvents wrapper method implementations
+//
+
+#pragma implementation_key(1295)
+inline HRESULT VGCore::IVGDocumentEvents::QueryClose ( VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryClose(Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1296)
+inline HRESULT VGCore::IVGDocumentEvents::QuerySave ( VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QuerySave(Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1297)
+inline HRESULT VGCore::IVGDocumentEvents::QueryPrint ( VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryPrint(Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1298)
+inline HRESULT VGCore::IVGDocumentEvents::QueryExport ( VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryExport(Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1299)
+inline HRESULT VGCore::IVGDocumentEvents::Open ( ) {
+    HRESULT _hr = raw_Open();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1300)
+inline HRESULT VGCore::IVGDocumentEvents::Close ( ) {
+    HRESULT _hr = raw_Close();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1301)
+inline HRESULT VGCore::IVGDocumentEvents::BeforeSave ( VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    HRESULT _hr = raw_BeforeSave(SaveAs, FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1302)
+inline HRESULT VGCore::IVGDocumentEvents::AfterSave ( VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    HRESULT _hr = raw_AfterSave(SaveAs, FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1303)
+inline HRESULT VGCore::IVGDocumentEvents::BeforePrint ( ) {
+    HRESULT _hr = raw_BeforePrint();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1304)
+inline HRESULT VGCore::IVGDocumentEvents::AfterPrint ( ) {
+    HRESULT _hr = raw_AfterPrint();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1305)
+inline HRESULT VGCore::IVGDocumentEvents::BeforeExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    HRESULT _hr = raw_BeforeExport(FileName, Filter, SaveBitmap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1306)
+inline HRESULT VGCore::IVGDocumentEvents::AfterExport ( _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    HRESULT _hr = raw_AfterExport(FileName, Filter, SaveBitmap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1307)
+inline HRESULT VGCore::IVGDocumentEvents::LayerCreate ( struct IVGLayer * Layer ) {
+    HRESULT _hr = raw_LayerCreate(Layer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1308)
+inline HRESULT VGCore::IVGDocumentEvents::LayerDelete ( long Count ) {
+    HRESULT _hr = raw_LayerDelete(Count);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1309)
+inline HRESULT VGCore::IVGDocumentEvents::LayerActivate ( struct IVGLayer * Layer ) {
+    HRESULT _hr = raw_LayerActivate(Layer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1310)
+inline HRESULT VGCore::IVGDocumentEvents::LayerChange ( struct IVGLayer * Layer ) {
+    HRESULT _hr = raw_LayerChange(Layer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1311)
+inline HRESULT VGCore::IVGDocumentEvents::PageCreate ( struct IVGPage * Page ) {
+    HRESULT _hr = raw_PageCreate(Page);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1312)
+inline HRESULT VGCore::IVGDocumentEvents::PageDelete ( long Count ) {
+    HRESULT _hr = raw_PageDelete(Count);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1313)
+inline HRESULT VGCore::IVGDocumentEvents::PageActivate ( struct IVGPage * Page ) {
+    HRESULT _hr = raw_PageActivate(Page);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1314)
+inline HRESULT VGCore::IVGDocumentEvents::PageChange ( struct IVGPage * Page ) {
+    HRESULT _hr = raw_PageChange(Page);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1315)
+inline HRESULT VGCore::IVGDocumentEvents::ShapeCreate ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_ShapeCreate(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1316)
+inline HRESULT VGCore::IVGDocumentEvents::ShapeDelete ( long Count ) {
+    HRESULT _hr = raw_ShapeDelete(Count);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1317)
+inline HRESULT VGCore::IVGDocumentEvents::ShapeMove ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_ShapeMove(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1318)
+inline HRESULT VGCore::IVGDocumentEvents::ShapeTransform ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_ShapeTransform(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1319)
+inline HRESULT VGCore::IVGDocumentEvents::ShapeDistort ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_ShapeDistort(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1320)
+inline HRESULT VGCore::IVGDocumentEvents::ShapeChange ( struct IVGShape * Shape, enum cdrShapeChangeScope Scope ) {
+    HRESULT _hr = raw_ShapeChange(Shape, Scope);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1321)
+inline HRESULT VGCore::IVGDocumentEvents::SelectionChange ( ) {
+    HRESULT _hr = raw_SelectionChange();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGApplicationEvents wrapper method implementations
+//
+
+#pragma implementation_key(1322)
+inline HRESULT VGCore::IVGApplicationEvents::QueryDocumentClose ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryDocumentClose(Doc, Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1323)
+inline HRESULT VGCore::IVGApplicationEvents::QueryDocumentSave ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryDocumentSave(Doc, Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1324)
+inline HRESULT VGCore::IVGApplicationEvents::QueryDocumentPrint ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryDocumentPrint(Doc, Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1325)
+inline HRESULT VGCore::IVGApplicationEvents::QueryDocumentExport ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryDocumentExport(Doc, Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1326)
+inline HRESULT VGCore::IVGApplicationEvents::QueryQuit ( VARIANT_BOOL * Cancel ) {
+    HRESULT _hr = raw_QueryQuit(Cancel);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1327)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentOpen ( struct IVGDocument * Doc, _bstr_t FileName ) {
+    HRESULT _hr = raw_DocumentOpen(Doc, FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1328)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentNew ( struct IVGDocument * Doc, VARIANT_BOOL FromTemplate, _bstr_t Template, VARIANT_BOOL IncludeGraphics ) {
+    HRESULT _hr = raw_DocumentNew(Doc, FromTemplate, Template, IncludeGraphics);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1329)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentClose ( struct IVGDocument * Doc ) {
+    HRESULT _hr = raw_DocumentClose(Doc);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1330)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentBeforeSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    HRESULT _hr = raw_DocumentBeforeSave(Doc, SaveAs, FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1331)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentAfterSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    HRESULT _hr = raw_DocumentAfterSave(Doc, SaveAs, FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1332)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentBeforePrint ( struct IVGDocument * Doc ) {
+    HRESULT _hr = raw_DocumentBeforePrint(Doc);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1333)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentAfterPrint ( struct IVGDocument * Doc ) {
+    HRESULT _hr = raw_DocumentAfterPrint(Doc);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1334)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentBeforeExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    HRESULT _hr = raw_DocumentBeforeExport(Doc, FileName, Filter, SaveBitmap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1335)
+inline HRESULT VGCore::IVGApplicationEvents::DocumentAfterExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    HRESULT _hr = raw_DocumentAfterExport(Doc, FileName, Filter, SaveBitmap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1336)
+inline HRESULT VGCore::IVGApplicationEvents::WindowActivate ( struct IVGDocument * Doc, struct IVGWindow * Window ) {
+    HRESULT _hr = raw_WindowActivate(Doc, Window);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1337)
+inline HRESULT VGCore::IVGApplicationEvents::WindowDeactivate ( struct IVGDocument * Doc, struct IVGWindow * Window ) {
+    HRESULT _hr = raw_WindowDeactivate(Doc, Window);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1338)
+inline HRESULT VGCore::IVGApplicationEvents::SelectionChange ( ) {
+    HRESULT _hr = raw_SelectionChange();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1339)
+inline HRESULT VGCore::IVGApplicationEvents::Start ( ) {
+    HRESULT _hr = raw_Start();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1340)
+inline HRESULT VGCore::IVGApplicationEvents::Quit ( ) {
+    HRESULT _hr = raw_Quit();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1341)
+inline HRESULT VGCore::IVGApplicationEvents::OnPluginCommand ( _bstr_t CommandID ) {
+    HRESULT _hr = raw_OnPluginCommand(CommandID);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1342)
+inline HRESULT VGCore::IVGApplicationEvents::OnUpdatePluginCommand ( _bstr_t CommandID, VARIANT_BOOL * Enabled, enum cdrCommandCheckState * Checked ) {
+    HRESULT _hr = raw_OnUpdatePluginCommand(CommandID, Enabled, Checked);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1343)
+inline HRESULT VGCore::IVGApplicationEvents::OnApplicationEvent ( _bstr_t EventName, SAFEARRAY * * Parameters ) {
+    HRESULT _hr = raw_OnApplicationEvent(EventName, Parameters);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// dispinterface DIVGApplicationEvents wrapper method implementations
+//
+
+#pragma implementation_key(1344)
+inline HRESULT VGCore::DIVGApplicationEvents::QueryDocumentClose ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x1, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x400b", Doc, Cancel);
+}
+
+#pragma implementation_key(1345)
+inline HRESULT VGCore::DIVGApplicationEvents::QueryDocumentSave ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x2, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x400b", Doc, Cancel);
+}
+
+#pragma implementation_key(1346)
+inline HRESULT VGCore::DIVGApplicationEvents::QueryDocumentPrint ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x3, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x400b", Doc, Cancel);
+}
+
+#pragma implementation_key(1347)
+inline HRESULT VGCore::DIVGApplicationEvents::QueryDocumentExport ( struct IVGDocument * Doc, VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x4, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x400b", Doc, Cancel);
+}
+
+#pragma implementation_key(1348)
+inline HRESULT VGCore::DIVGApplicationEvents::QueryQuit ( VARIANT_BOOL * Cancel ) {
+    return _com_dispatch_method(this, 0x5, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x400b", Cancel);
+}
+
+#pragma implementation_key(1349)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentOpen ( struct IVGDocument * Doc, _bstr_t FileName ) {
+    return _com_dispatch_method(this, 0x6, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x0008", Doc, (BSTR)FileName);
+}
+
+#pragma implementation_key(1350)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentNew ( struct IVGDocument * Doc, VARIANT_BOOL FromTemplate, _bstr_t Template, VARIANT_BOOL IncludeGraphics ) {
+    return _com_dispatch_method(this, 0x7, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x000b\x0008\x000b", Doc, FromTemplate, (BSTR)Template, IncludeGraphics);
+}
+
+#pragma implementation_key(1351)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentClose ( struct IVGDocument * Doc ) {
+    return _com_dispatch_method(this, 0x8, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Doc);
+}
+
+#pragma implementation_key(1352)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentBeforeSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    return _com_dispatch_method(this, 0x9, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x000b\x0008", Doc, SaveAs, (BSTR)FileName);
+}
+
+#pragma implementation_key(1353)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentAfterSave ( struct IVGDocument * Doc, VARIANT_BOOL SaveAs, _bstr_t FileName ) {
+    return _com_dispatch_method(this, 0xa, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x000b\x0008", Doc, SaveAs, (BSTR)FileName);
+}
+
+#pragma implementation_key(1354)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentBeforePrint ( struct IVGDocument * Doc ) {
+    return _com_dispatch_method(this, 0xb, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Doc);
+}
+
+#pragma implementation_key(1355)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentAfterPrint ( struct IVGDocument * Doc ) {
+    return _com_dispatch_method(this, 0xc, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009", Doc);
+}
+
+#pragma implementation_key(1356)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentBeforeExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    return _com_dispatch_method(this, 0xd, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x0008\x0003\x000b", Doc, (BSTR)FileName, Filter, SaveBitmap);
+}
+
+#pragma implementation_key(1357)
+inline HRESULT VGCore::DIVGApplicationEvents::DocumentAfterExport ( struct IVGDocument * Doc, _bstr_t FileName, enum cdrFilter Filter, VARIANT_BOOL SaveBitmap ) {
+    return _com_dispatch_method(this, 0xe, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x0008\x0003\x000b", Doc, (BSTR)FileName, Filter, SaveBitmap);
+}
+
+#pragma implementation_key(1358)
+inline HRESULT VGCore::DIVGApplicationEvents::WindowActivate ( struct IVGDocument * Doc, struct IVGWindow * Window ) {
+    return _com_dispatch_method(this, 0xf, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x0009", Doc, Window);
+}
+
+#pragma implementation_key(1359)
+inline HRESULT VGCore::DIVGApplicationEvents::WindowDeactivate ( struct IVGDocument * Doc, struct IVGWindow * Window ) {
+    return _com_dispatch_method(this, 0x10, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0009\x0009", Doc, Window);
+}
+
+#pragma implementation_key(1360)
+inline HRESULT VGCore::DIVGApplicationEvents::SelectionChange ( ) {
+    return _com_dispatch_method(this, 0x11, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+#pragma implementation_key(1361)
+inline HRESULT VGCore::DIVGApplicationEvents::Start ( ) {
+    return _com_dispatch_method(this, 0x12, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+#pragma implementation_key(1362)
+inline HRESULT VGCore::DIVGApplicationEvents::Quit ( ) {
+    return _com_dispatch_method(this, 0x13, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
+}
+
+#pragma implementation_key(1363)
+inline HRESULT VGCore::DIVGApplicationEvents::OnPluginCommand ( _bstr_t CommandID ) {
+    return _com_dispatch_method(this, 0x14, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0008", (BSTR)CommandID);
+}
+
+#pragma implementation_key(1364)
+inline HRESULT VGCore::DIVGApplicationEvents::OnUpdatePluginCommand ( _bstr_t CommandID, VARIANT_BOOL * Enabled, enum cdrCommandCheckState * Checked ) {
+    return _com_dispatch_method(this, 0x15, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0008\x400b\x4003", (BSTR)CommandID, Enabled, Checked);
+}
+
+#pragma implementation_key(1365)
+inline HRESULT VGCore::DIVGApplicationEvents::OnApplicationEvent ( _bstr_t EventName, SAFEARRAY * * Parameters ) {
+    return _com_dispatch_method(this, 0x16, DISPATCH_METHOD, VT_EMPTY, NULL, 
+        L"\x0008\x600c", (BSTR)EventName, Parameters);
+}
+
+//
+// interface ICUIFrameWork wrapper method implementations
+//
+
+#pragma implementation_key(1366)
+inline VGCore::ICUICommandBarsPtr VGCore::ICUIFrameWork::GetCommandBars ( ) {
+    struct ICUICommandBars * _result = 0;
+    HRESULT _hr = get_CommandBars(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarsPtr(_result, false);
+}
+
+#pragma implementation_key(1367)
+inline VGCore::ICUICommandBarPtr VGCore::ICUIFrameWork::GetMainMenu ( ) {
+    struct ICUICommandBar * _result = 0;
+    HRESULT _hr = get_MainMenu(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarPtr(_result, false);
+}
+
+#pragma implementation_key(1368)
+inline VGCore::ICUICommandBarPtr VGCore::ICUIFrameWork::GetStatusBar ( ) {
+    struct ICUICommandBar * _result = 0;
+    HRESULT _hr = get_StatusBar(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarPtr(_result, false);
+}
+
+#pragma implementation_key(1369)
+inline _bstr_t VGCore::ICUIFrameWork::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1370)
+inline HRESULT VGCore::ICUIFrameWork::ImportWorkspace ( _bstr_t FileName ) {
+    HRESULT _hr = raw_ImportWorkspace(FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1371)
+inline VGCore::ICUIAutomationPtr VGCore::ICUIFrameWork::GetAutomation ( ) {
+    struct ICUIAutomation * _result = 0;
+    HRESULT _hr = get_Automation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIAutomationPtr(_result, false);
+}
+
+#pragma implementation_key(1372)
+inline HRESULT VGCore::ICUIFrameWork::ShowDocker ( _bstr_t Guid ) {
+    HRESULT _hr = raw_ShowDocker(Guid);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1373)
+inline HRESULT VGCore::ICUIFrameWork::HideDocker ( _bstr_t Guid ) {
+    HRESULT _hr = raw_HideDocker(Guid);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1374)
+inline VARIANT_BOOL VGCore::ICUIFrameWork::IsDockerVisible ( _bstr_t Guid ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsDockerVisible(Guid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1375)
+inline HRESULT VGCore::ICUIFrameWork::AddDocker ( _bstr_t Guid, _bstr_t ClassName, _bstr_t AssemblyPath ) {
+    HRESULT _hr = raw_AddDocker(Guid, ClassName, AssemblyPath);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1376)
+inline HRESULT VGCore::ICUIFrameWork::RemoveDocker ( _bstr_t Guid ) {
+    HRESULT _hr = raw_RemoveDocker(Guid);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1377)
+inline VGCore::ICUIFrameWindowsPtr VGCore::ICUIFrameWork::GetFrameWindows ( ) {
+    struct ICUIFrameWindows * _result = 0;
+    HRESULT _hr = get_FrameWindows(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowsPtr(_result, false);
+}
+
+#pragma implementation_key(1378)
+inline VGCore::ICUIFrameWindowPtr VGCore::ICUIFrameWork::GetMainFrameWindow ( ) {
+    struct ICUIFrameWindow * _result = 0;
+    HRESULT _hr = get_MainFrameWindow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1379)
+inline VGCore::ICUIApplicationPtr VGCore::ICUIFrameWork::GetApplication ( ) {
+    struct ICUIApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1380)
+inline VGCore::ICUIFrameWindowPtr VGCore::ICUIFrameWork::CreateFrameWindowForViewHost ( struct ICUIViewHost * ViewHostToInsert ) {
+    struct ICUIFrameWindow * _result = 0;
+    HRESULT _hr = raw_CreateFrameWindowForViewHost(ViewHostToInsert, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1381)
+inline VGCore::ICUIFrameWindowPtr VGCore::ICUIFrameWork::CreateFrameWindowForView ( struct ICUIViewWindow * ViewToInsert ) {
+    struct ICUIFrameWindow * _result = 0;
+    HRESULT _hr = raw_CreateFrameWindowForView(ViewToInsert, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1382)
+inline HRESULT VGCore::ICUIFrameWork::ShowDialog ( _bstr_t Guid ) {
+    HRESULT _hr = raw_ShowDialog(Guid);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1383)
+inline HRESULT VGCore::ICUIFrameWork::HideDialog ( _bstr_t Guid ) {
+    HRESULT _hr = raw_HideDialog(Guid);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1384)
+inline long VGCore::ICUIFrameWork::ShowMessageBox ( _bstr_t szMessage, _bstr_t szMainInstruction, long unFlags, struct ICUIBitmapImage * pImage, _bstr_t szHelpGuid, _bstr_t szWarningName, enum cuiMessageBoxFlags eFlags, struct ICUIDataContext * pDataContext ) {
+    long _result = 0;
+    HRESULT _hr = raw_ShowMessageBox(szMessage, szMainInstruction, unFlags, pImage, szHelpGuid, szWarningName, eFlags, pDataContext, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1385)
+inline VGCore::ICUIWarningPtr VGCore::ICUIFrameWork::GetWarning ( _bstr_t szWarningID, VARIANT_BOOL bHidden ) {
+    struct ICUIWarning * _result = 0;
+    HRESULT _hr = raw_GetWarning(szWarningID, bHidden, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIWarningPtr(_result, false);
+}
+
+#pragma implementation_key(1386)
+inline VGCore::ICUITaskManagerPtr VGCore::ICUIFrameWork::GetTaskManager ( ) {
+    struct ICUITaskManager * _result = 0;
+    HRESULT _hr = get_TaskManager(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUITaskManagerPtr(_result, false);
+}
+
+//
+// interface ICUIFrameWindows wrapper method implementations
+//
+
+#pragma implementation_key(1387)
+inline long VGCore::ICUIFrameWindows::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1388)
+inline VGCore::ICUIFrameWindowPtr VGCore::ICUIFrameWindows::GetItem ( long Index ) {
+    struct ICUIFrameWindow * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1389)
+inline IUnknownPtr VGCore::ICUIFrameWindows::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1390)
+inline VGCore::ICUIFrameWindowPtr VGCore::ICUIFrameWindows::Find ( _bstr_t ID ) {
+    struct ICUIFrameWindow * _result = 0;
+    HRESULT _hr = raw_Find(ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1391)
+inline VGCore::ICUIFrameWindowPtr VGCore::ICUIFrameWindows::GetFirst ( ) {
+    struct ICUIFrameWindow * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1392)
+inline VGCore::ICUIFrameWindowPtr VGCore::ICUIFrameWindows::GetLast ( ) {
+    struct ICUIFrameWindow * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWindowPtr(_result, false);
+}
+
+//
+// interface ICUIFrameWindow wrapper method implementations
+//
+
+#pragma implementation_key(1393)
+inline _bstr_t VGCore::ICUIFrameWindow::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1394)
+inline _bstr_t VGCore::ICUIFrameWindow::GetCaption ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Caption(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1395)
+inline HRESULT VGCore::ICUIFrameWindow::Minimize ( ) {
+    HRESULT _hr = raw_Minimize();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1396)
+inline HRESULT VGCore::ICUIFrameWindow::Maximize ( ) {
+    HRESULT _hr = raw_Maximize();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1397)
+inline HRESULT VGCore::ICUIFrameWindow::Restore ( ) {
+    HRESULT _hr = raw_Restore();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1398)
+inline enum VGCore::cuiWindowState VGCore::ICUIFrameWindow::GetState ( ) {
+    enum cuiWindowState _result;
+    HRESULT _hr = get_State(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1399)
+inline VARIANT_BOOL VGCore::ICUIFrameWindow::GetIsMainFrame ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsMainFrame(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1400)
+inline HRESULT VGCore::ICUIFrameWindow::Close ( ) {
+    HRESULT _hr = raw_Close();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1401)
+inline HRESULT VGCore::ICUIFrameWindow::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1402)
+inline VARIANT_BOOL VGCore::ICUIFrameWindow::GetIsActive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsActive(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1403)
+inline long VGCore::ICUIFrameWindow::GetHandle ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Handle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1404)
+inline HRESULT VGCore::ICUIFrameWindow::TileViews ( VARIANT_BOOL TileHorizontally ) {
+    HRESULT _hr = raw_TileViews(TileHorizontally);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1405)
+inline HRESULT VGCore::ICUIFrameWindow::CombineViews ( ) {
+    HRESULT _hr = raw_CombineViews();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1406)
+inline VGCore::ICUIViewHostsPtr VGCore::ICUIFrameWindow::GetViewHosts ( ) {
+    struct ICUIViewHosts * _result = 0;
+    HRESULT _hr = get_ViewHosts(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostsPtr(_result, false);
+}
+
+#pragma implementation_key(1407)
+inline VGCore::ICUIDockHostsPtr VGCore::ICUIFrameWindow::GetDockHosts ( ) {
+    struct ICUIDockHosts * _result = 0;
+    HRESULT _hr = get_DockHosts(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostsPtr(_result, false);
+}
+
+#pragma implementation_key(1408)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIFrameWindow::GetRootDockHost ( ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = get_RootDockHost(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+#pragma implementation_key(1409)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIFrameWindow::GetPosition ( ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+//
+// interface ICUIViewHosts wrapper method implementations
+//
+
+#pragma implementation_key(1410)
+inline long VGCore::ICUIViewHosts::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1411)
+inline VGCore::ICUIViewHostPtr VGCore::ICUIViewHosts::GetItem ( long Index ) {
+    struct ICUIViewHost * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostPtr(_result, false);
+}
+
+#pragma implementation_key(1412)
+inline IUnknownPtr VGCore::ICUIViewHosts::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1413)
+inline VGCore::ICUIViewHostPtr VGCore::ICUIViewHosts::Find ( _bstr_t ID ) {
+    struct ICUIViewHost * _result = 0;
+    HRESULT _hr = raw_Find(ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostPtr(_result, false);
+}
+
+#pragma implementation_key(1414)
+inline VGCore::ICUIViewHostPtr VGCore::ICUIViewHosts::GetFirst ( ) {
+    struct ICUIViewHost * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostPtr(_result, false);
+}
+
+#pragma implementation_key(1415)
+inline VGCore::ICUIViewHostPtr VGCore::ICUIViewHosts::GetLast ( ) {
+    struct ICUIViewHost * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostPtr(_result, false);
+}
+
+//
+// interface ICUIViewHost wrapper method implementations
+//
+
+#pragma implementation_key(1416)
+inline _bstr_t VGCore::ICUIViewHost::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1417)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIViewHost::GetDockHost ( ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = get_DockHost(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+#pragma implementation_key(1418)
+inline VGCore::ICUIViewWindowsPtr VGCore::ICUIViewHost::GetViews ( ) {
+    struct ICUIViewWindows * _result = 0;
+    HRESULT _hr = get_Views(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewWindowsPtr(_result, false);
+}
+
+#pragma implementation_key(1419)
+inline VGCore::ICUIDockItemPtr VGCore::ICUIViewHost::GetDockItem ( ) {
+    struct ICUIDockItem * _result = 0;
+    HRESULT _hr = get_DockItem(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockItemPtr(_result, false);
+}
+
+#pragma implementation_key(1420)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIViewHost::GetPosition ( ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+#pragma implementation_key(1421)
+inline HRESULT VGCore::ICUIViewHost::InsertView ( struct ICUIViewWindow * ViewToInsert, long Index ) {
+    HRESULT _hr = raw_InsertView(ViewToInsert, Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1422)
+inline HRESULT VGCore::ICUIViewHost::InsertViewHost ( struct ICUIViewHost * ViewHostToInsert, long Index ) {
+    HRESULT _hr = raw_InsertViewHost(ViewHostToInsert, Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUIViewWindow wrapper method implementations
+//
+
+#pragma implementation_key(1423)
+inline _bstr_t VGCore::ICUIViewWindow::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1424)
+inline VGCore::ICUIViewHostPtr VGCore::ICUIViewWindow::GetViewHost ( ) {
+    struct ICUIViewHost * _result = 0;
+    HRESULT _hr = get_ViewHost(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostPtr(_result, false);
+}
+
+#pragma implementation_key(1425)
+inline long VGCore::ICUIViewWindow::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1426)
+inline _bstr_t VGCore::ICUIViewWindow::GetKind ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Kind(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1427)
+inline _bstr_t VGCore::ICUIViewWindow::GetTitle ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Title(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1428)
+inline _bstr_t VGCore::ICUIViewWindow::GetDescription ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Description(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1429)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIViewWindow::GetPosition ( ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+#pragma implementation_key(1430)
+inline HRESULT VGCore::ICUIViewWindow::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1431)
+inline HRESULT VGCore::ICUIViewWindow::Close ( ) {
+    HRESULT _hr = raw_Close();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1432)
+inline IDispatchPtr VGCore::ICUIViewWindow::GetAppView ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_AppView(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+//
+// interface ICUIViewWindows wrapper method implementations
+//
+
+#pragma implementation_key(1433)
+inline long VGCore::ICUIViewWindows::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1434)
+inline VGCore::ICUIViewWindowPtr VGCore::ICUIViewWindows::GetItem ( long Index ) {
+    struct ICUIViewWindow * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1435)
+inline IUnknownPtr VGCore::ICUIViewWindows::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1436)
+inline VGCore::ICUIViewWindowPtr VGCore::ICUIViewWindows::Find ( _bstr_t ID ) {
+    struct ICUIViewWindow * _result = 0;
+    HRESULT _hr = raw_Find(ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1437)
+inline VGCore::ICUIViewWindowPtr VGCore::ICUIViewWindows::GetFirst ( ) {
+    struct ICUIViewWindow * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1438)
+inline VGCore::ICUIViewWindowPtr VGCore::ICUIViewWindows::GetLast ( ) {
+    struct ICUIViewWindow * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewWindowPtr(_result, false);
+}
+
+//
+// interface ICUIDockHost wrapper method implementations
+//
+
+#pragma implementation_key(1439)
+inline _bstr_t VGCore::ICUIDockHost::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1440)
+inline enum VGCore::cuiDockHostOrientation VGCore::ICUIDockHost::GetOrientation ( ) {
+    enum cuiDockHostOrientation _result;
+    HRESULT _hr = get_Orientation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1441)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIDockHost::GetParentDockHost ( ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = get_ParentDockHost(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+#pragma implementation_key(1442)
+inline VGCore::ICUIDockItemPtr VGCore::ICUIDockHost::GetDockItem ( ) {
+    struct ICUIDockItem * _result = 0;
+    HRESULT _hr = get_DockItem(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockItemPtr(_result, false);
+}
+
+#pragma implementation_key(1443)
+inline VGCore::ICUIDockItemsPtr VGCore::ICUIDockHost::GetChildren ( ) {
+    struct ICUIDockItems * _result = 0;
+    HRESULT _hr = get_Children(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockItemsPtr(_result, false);
+}
+
+#pragma implementation_key(1444)
+inline HRESULT VGCore::ICUIDockHost::InsertViewHost ( struct ICUIViewHost * ViewHostToInsert, long Index, enum cuiDockOperation Operation ) {
+    HRESULT _hr = raw_InsertViewHost(ViewHostToInsert, Index, Operation);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1445)
+inline VGCore::ICUIViewHostPtr VGCore::ICUIDockHost::InsertView ( struct ICUIViewWindow * ViewToInsert, long Index, enum cuiDockOperation Operation ) {
+    struct ICUIViewHost * _result = 0;
+    HRESULT _hr = raw_InsertView(ViewToInsert, Index, Operation, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostPtr(_result, false);
+}
+
+#pragma implementation_key(1446)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIDockHost::GetPosition ( ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+//
+// interface ICUIDockItem wrapper method implementations
+//
+
+#pragma implementation_key(1447)
+inline _bstr_t VGCore::ICUIDockItem::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1448)
+inline enum VGCore::cuiDockItemType VGCore::ICUIDockItem::GetType ( ) {
+    enum cuiDockItemType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1449)
+inline VGCore::ICUIViewHostPtr VGCore::ICUIDockItem::GetViewHost ( ) {
+    struct ICUIViewHost * _result = 0;
+    HRESULT _hr = get_ViewHost(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewHostPtr(_result, false);
+}
+
+#pragma implementation_key(1450)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIDockItem::GetDockHost ( ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = get_DockHost(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+#pragma implementation_key(1451)
+inline long VGCore::ICUIDockItem::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1452)
+inline long VGCore::ICUIDockItem::GetRelativeSize ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RelativeSize(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1453)
+inline void VGCore::ICUIDockItem::PutRelativeSize ( long pVal ) {
+    HRESULT _hr = put_RelativeSize(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1454)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIDockItem::GetPosition ( ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+//
+// interface ICUIDockItems wrapper method implementations
+//
+
+#pragma implementation_key(1455)
+inline long VGCore::ICUIDockItems::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1456)
+inline VGCore::ICUIDockItemPtr VGCore::ICUIDockItems::GetItem ( long Index ) {
+    struct ICUIDockItem * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockItemPtr(_result, false);
+}
+
+#pragma implementation_key(1457)
+inline IUnknownPtr VGCore::ICUIDockItems::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1458)
+inline VGCore::ICUIDockItemPtr VGCore::ICUIDockItems::Find ( _bstr_t ID ) {
+    struct ICUIDockItem * _result = 0;
+    HRESULT _hr = raw_Find(ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockItemPtr(_result, false);
+}
+
+#pragma implementation_key(1459)
+inline VGCore::ICUIDockItemPtr VGCore::ICUIDockItems::GetFirst ( ) {
+    struct ICUIDockItem * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockItemPtr(_result, false);
+}
+
+#pragma implementation_key(1460)
+inline VGCore::ICUIDockItemPtr VGCore::ICUIDockItems::GetLast ( ) {
+    struct ICUIDockItem * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockItemPtr(_result, false);
+}
+
+//
+// interface ICUIDockHosts wrapper method implementations
+//
+
+#pragma implementation_key(1461)
+inline long VGCore::ICUIDockHosts::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1462)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIDockHosts::GetItem ( long Index ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+#pragma implementation_key(1463)
+inline IUnknownPtr VGCore::ICUIDockHosts::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1464)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIDockHosts::Find ( _bstr_t ID ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = raw_Find(ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+#pragma implementation_key(1465)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIDockHosts::GetFirst ( ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+#pragma implementation_key(1466)
+inline VGCore::ICUIDockHostPtr VGCore::ICUIDockHosts::GetLast ( ) {
+    struct ICUIDockHost * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDockHostPtr(_result, false);
+}
+
+//
+// interface ICUIApplication wrapper method implementations
+//
+
+#pragma implementation_key(1467)
+inline VGCore::ICUIDataContextPtr VGCore::ICUIApplication::GetDataContext ( ) {
+    struct ICUIDataContext * _result = 0;
+    HRESULT _hr = get_DataContext(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDataContextPtr(_result, false);
+}
+
+#pragma implementation_key(1468)
+inline VARIANT_BOOL VGCore::ICUIApplication::RegisterDataSource ( _bstr_t DataSourceName, struct ICUIDataSourceFactory * Factory, _bstr_t CategoryList, VARIANT_BOOL AutoCreateInstance ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_RegisterDataSource(DataSourceName, Factory, CategoryList, AutoCreateInstance, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1469)
+inline VARIANT_BOOL VGCore::ICUIApplication::UnregisterDataSource ( _bstr_t DataSourceName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UnregisterDataSource(DataSourceName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1470)
+inline VGCore::ICUIImageListPtr VGCore::ICUIApplication::CreateImageList ( ) {
+    struct ICUIImageList * _result = 0;
+    HRESULT _hr = raw_CreateImageList(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIImageListPtr(_result, false);
+}
+
+#pragma implementation_key(1471)
+inline VGCore::ICUIFrameWorkPtr VGCore::ICUIApplication::GetFrameWork ( ) {
+    struct ICUIFrameWork * _result = 0;
+    HRESULT _hr = get_FrameWork(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWorkPtr(_result, false);
+}
+
+#pragma implementation_key(1472)
+inline VGCore::ICUIScreenRectPtr VGCore::ICUIApplication::CreateScreenRect ( long Left, long Top, long Width, long Height ) {
+    struct ICUIScreenRect * _result = 0;
+    HRESULT _hr = raw_CreateScreenRect(Left, Top, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIScreenRectPtr(_result, false);
+}
+
+#pragma implementation_key(1473)
+inline VGCore::ICUIBitmapImagePtr VGCore::ICUIApplication::CreateBitmapImage ( const _variant_t & ImageData, long MaxSize ) {
+    struct ICUIBitmapImage * _result = 0;
+    HRESULT _hr = raw_CreateBitmapImage(ImageData, MaxSize, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIBitmapImagePtr(_result, false);
+}
+
+#pragma implementation_key(1474)
+inline VGCore::ICUIStatusTextPtr VGCore::ICUIApplication::CreateStatusText ( ) {
+    struct ICUIStatusText * _result = 0;
+    HRESULT _hr = raw_CreateStatusText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIStatusTextPtr(_result, false);
+}
+
+#pragma implementation_key(1475)
+inline _bstr_t VGCore::ICUIApplication::LoadLocalizedString ( _bstr_t Guid ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_LoadLocalizedString(Guid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1476)
+inline VGCore::ICUIDataSourceFactoryPtr VGCore::ICUIApplication::CreateDataSourceFactory ( IDispatch * DataSourceFactoryObject ) {
+    struct ICUIDataSourceFactory * _result = 0;
+    HRESULT _hr = raw_CreateDataSourceFactory(DataSourceFactoryObject, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDataSourceFactoryPtr(_result, false);
+}
+
+//
+// interface ICUIDataSourceProxy wrapper method implementations
+//
+
+#pragma implementation_key(1477)
+inline HRESULT VGCore::ICUIDataSourceProxy::UpdateListeners ( _bstr_t ListenerNames ) {
+    HRESULT _hr = raw_UpdateListeners(ListenerNames);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1478)
+inline VGCore::ICUIApplicationPtr VGCore::ICUIDataSourceProxy::GetApplication ( ) {
+    struct ICUIApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1479)
+inline _bstr_t VGCore::ICUIDataSourceProxy::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1480)
+inline HRESULT VGCore::ICUIDataSourceProxy::InvokeMethod ( _bstr_t MethodName ) {
+    HRESULT _hr = raw_InvokeMethod(MethodName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1481)
+inline _variant_t VGCore::ICUIDataSourceProxy::GetProperty ( _bstr_t PropertyName ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_GetProperty(PropertyName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(1482)
+inline HRESULT VGCore::ICUIDataSourceProxy::SetProperty ( _bstr_t PropertyName, const _variant_t & Value ) {
+    HRESULT _hr = raw_SetProperty(PropertyName, Value);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface ICUIDataContext wrapper method implementations
+//
+
+#pragma implementation_key(1483)
+inline VGCore::ICUIDataContextPtr VGCore::ICUIDataContext::CreateChildDataContext ( _bstr_t CategoryList ) {
+    struct ICUIDataContext * _result = 0;
+    HRESULT _hr = raw_CreateChildDataContext(CategoryList, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDataContextPtr(_result, false);
+}
+
+#pragma implementation_key(1484)
+inline _bstr_t VGCore::ICUIDataContext::GetCategories ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Categories(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1485)
+inline VARIANT_BOOL VGCore::ICUIDataContext::HasCategory ( _bstr_t Category ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_HasCategory(Category, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1486)
+inline VGCore::ICUIDataSourceProxyPtr VGCore::ICUIDataContext::AddDataSource ( _bstr_t DataSourceName, IDispatch * DataSourceObject ) {
+    struct ICUIDataSourceProxy * _result = 0;
+    HRESULT _hr = raw_AddDataSource(DataSourceName, DataSourceObject, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDataSourceProxyPtr(_result, false);
+}
+
+#pragma implementation_key(1487)
+inline VARIANT_BOOL VGCore::ICUIDataContext::ShowDialog ( _bstr_t dialogID ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ShowDialog(dialogID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1488)
+inline VGCore::ICUIDataSourceProxyPtr VGCore::ICUIDataContext::GetDataSource ( _bstr_t DataSourceName ) {
+    struct ICUIDataSourceProxy * _result = 0;
+    HRESULT _hr = raw_GetDataSource(DataSourceName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIDataSourceProxyPtr(_result, false);
+}
+
+//
+// interface ICUIDataSourceFactory wrapper method implementations
+//
+
+#pragma implementation_key(1489)
+inline IDispatchPtr VGCore::ICUIDataSourceFactory::CreateDataSource ( _bstr_t DataSourceName, struct ICUIDataSourceProxy * Proxy ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = raw_CreateDataSource(DataSourceName, Proxy, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+//
+// interface IVGDocument wrapper method implementations
+//
+
+#pragma implementation_key(1490)
+inline VGCore::IVGApplicationPtr VGCore::IVGDocument::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1491)
+inline VGCore::IVGDocumentsPtr VGCore::IVGDocument::GetParent ( ) {
+    struct IVGDocuments * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentsPtr(_result, false);
+}
+
+#pragma implementation_key(1492)
+inline _bstr_t VGCore::IVGDocument::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1493)
+inline HRESULT VGCore::IVGDocument::SaveAs ( _bstr_t FileName, struct IVGStructSaveAsOptions * Options ) {
+    HRESULT _hr = raw_SaveAs(FileName, Options);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1494)
+inline HRESULT VGCore::IVGDocument::Save ( ) {
+    HRESULT _hr = raw_Save();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1495)
+inline VGCore::IVGPagesPtr VGCore::IVGDocument::GetPages ( ) {
+    struct IVGPages * _result = 0;
+    HRESULT _hr = get_Pages(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagesPtr(_result, false);
+}
+
+#pragma implementation_key(1496)
+inline enum VGCore::cdrReferencePoint VGCore::IVGDocument::GetReferencePoint ( ) {
+    enum cdrReferencePoint _result;
+    HRESULT _hr = get_ReferencePoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1497)
+inline void VGCore::IVGDocument::PutReferencePoint ( enum cdrReferencePoint pRefPoint ) {
+    HRESULT _hr = put_ReferencePoint(pRefPoint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1498)
+inline VARIANT_BOOL VGCore::IVGDocument::GetApplyToDuplicate ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ApplyToDuplicate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1499)
+inline void VGCore::IVGDocument::PutApplyToDuplicate ( VARIANT_BOOL ApplyToDuplicate ) {
+    HRESULT _hr = put_ApplyToDuplicate(ApplyToDuplicate);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1500)
+inline VGCore::IVGPagePtr VGCore::IVGDocument::GetActivePage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_ActivePage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1501)
+inline VGCore::IVGLayerPtr VGCore::IVGDocument::GetActiveLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_ActiveLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1502)
+inline VGCore::IVGWindowsPtr VGCore::IVGDocument::GetWindows ( ) {
+    struct IVGWindows * _result = 0;
+    HRESULT _hr = get_Windows(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowsPtr(_result, false);
+}
+
+#pragma implementation_key(1503)
+inline VGCore::IVGWindowPtr VGCore::IVGDocument::GetActiveWindow ( ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = get_ActiveWindow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1504)
+inline HRESULT VGCore::IVGDocument::Close ( ) {
+    HRESULT _hr = raw_Close();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1505)
+inline HRESULT VGCore::IVGDocument::Undo ( long Levels ) {
+    HRESULT _hr = raw_Undo(Levels);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1506)
+inline HRESULT VGCore::IVGDocument::Redo ( long Levels ) {
+    HRESULT _hr = raw_Redo(Levels);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1507)
+inline HRESULT VGCore::IVGDocument::Repeat ( ) {
+    HRESULT _hr = raw_Repeat();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1508)
+inline HRESULT VGCore::IVGDocument::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1509)
+inline enum VGCore::cdrUnit VGCore::IVGDocument::GetUnit ( ) {
+    enum cdrUnit _result;
+    HRESULT _hr = get_Unit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1510)
+inline void VGCore::IVGDocument::PutUnit ( enum cdrUnit pnUnit ) {
+    HRESULT _hr = put_Unit(pnUnit);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1511)
+inline double VGCore::IVGDocument::GetDrawingOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_DrawingOriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1512)
+inline void VGCore::IVGDocument::PutDrawingOriginX ( double plX ) {
+    HRESULT _hr = put_DrawingOriginX(plX);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1513)
+inline double VGCore::IVGDocument::GetDrawingOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_DrawingOriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1514)
+inline void VGCore::IVGDocument::PutDrawingOriginY ( double plY ) {
+    HRESULT _hr = put_DrawingOriginY(plY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1515)
+inline VGCore::IVGPagePtr VGCore::IVGDocument::AddPages ( long NumberOfPages ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = raw_AddPages(NumberOfPages, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1516)
+inline VGCore::IVGPagePtr VGCore::IVGDocument::InsertPages ( long NumberOfPages, VARIANT_BOOL BeforePage, long Page ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = raw_InsertPages(NumberOfPages, BeforePage, Page, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1517)
+inline VGCore::IVGShapePtr VGCore::IVGDocument::Selection ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Selection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1518)
+inline HRESULT VGCore::IVGDocument::ClearSelection ( ) {
+    HRESULT _hr = raw_ClearSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1519)
+inline HRESULT VGCore::IVGDocument::Export ( _bstr_t FileName, enum cdrFilter Filter, enum cdrExportRange Range, struct IVGStructExportOptions * Options, struct IVGStructPaletteOptions * PaletteOptions ) {
+    HRESULT _hr = raw_Export(FileName, Filter, Range, Options, PaletteOptions);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1520)
+inline HRESULT VGCore::IVGDocument::ResolveAllBitmapsLinks ( ) {
+    HRESULT _hr = raw_ResolveAllBitmapsLinks();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1521)
+inline VARIANT_BOOL VGCore::IVGDocument::GetDirty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Dirty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1522)
+inline void VGCore::IVGDocument::PutDirty ( VARIANT_BOOL Dirty ) {
+    HRESULT _hr = put_Dirty(Dirty);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1523)
+inline long VGCore::IVGDocument::GetUserClick ( double * x, double * y, long * ShiftState, long TimeOut, VARIANT_BOOL Snap, enum cdrCursorShape CursorShape ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetUserClick(x, y, ShiftState, TimeOut, Snap, CursorShape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1524)
+inline long VGCore::IVGDocument::GetUserArea ( double * x1, double * y1, double * x2, double * y2, long * ShiftState, long TimeOut, VARIANT_BOOL Snap, enum cdrCursorShape CursorShape ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetUserArea(x1, y1, x2, y2, ShiftState, TimeOut, Snap, CursorShape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1525)
+inline HRESULT VGCore::IVGDocument::BeginCommandGroup ( _bstr_t CommandName ) {
+    HRESULT _hr = raw_BeginCommandGroup(CommandName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1526)
+inline HRESULT VGCore::IVGDocument::EndCommandGroup ( ) {
+    HRESULT _hr = raw_EndCommandGroup();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1527)
+inline _bstr_t VGCore::IVGDocument::GetFilePath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FilePath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1528)
+inline _bstr_t VGCore::IVGDocument::GetFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1529)
+inline _bstr_t VGCore::IVGDocument::GetFullFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FullFileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1530)
+inline long VGCore::IVGDocument::GetResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Resolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1531)
+inline void VGCore::IVGDocument::PutResolution ( long pResolution ) {
+    HRESULT _hr = put_Resolution(pResolution);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1532)
+inline enum VGCore::cdrShapeEnumDirection VGCore::IVGDocument::GetShapeEnumDirection ( ) {
+    enum cdrShapeEnumDirection _result;
+    HRESULT _hr = get_ShapeEnumDirection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1533)
+inline void VGCore::IVGDocument::PutShapeEnumDirection ( enum cdrShapeEnumDirection peDirection ) {
+    HRESULT _hr = put_ShapeEnumDirection(peDirection);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1534)
+inline VGCore::IVGShapeRangePtr VGCore::IVGDocument::GetSelectionRange ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = get_SelectionRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1535)
+inline VGCore::IVGRulersPtr VGCore::IVGDocument::GetRulers ( ) {
+    struct IVGRulers * _result = 0;
+    HRESULT _hr = get_Rulers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRulersPtr(_result, false);
+}
+
+#pragma implementation_key(1536)
+inline VGCore::IVGGridPtr VGCore::IVGDocument::GetGrid ( ) {
+    struct IVGGrid * _result = 0;
+    HRESULT _hr = get_Grid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGridPtr(_result, false);
+}
+
+#pragma implementation_key(1537)
+inline VGCore::IVGViewsPtr VGCore::IVGDocument::GetViews ( ) {
+    struct IVGViews * _result = 0;
+    HRESULT _hr = get_Views(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGViewsPtr(_result, false);
+}
+
+#pragma implementation_key(1538)
+inline VGCore::IVGViewPtr VGCore::IVGDocument::CreateView ( _bstr_t Name, double OriginX, double OriginY, long Zoom, struct IVGPage * Page ) {
+    struct IVGView * _result = 0;
+    HRESULT _hr = raw_CreateView(Name, OriginX, OriginY, Zoom, Page, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGViewPtr(_result, false);
+}
+
+#pragma implementation_key(1539)
+inline VGCore::IVGPowerClipPtr VGCore::IVGDocument::GetActivePowerClip ( ) {
+    struct IVGPowerClip * _result = 0;
+    HRESULT _hr = get_ActivePowerClip(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPowerClipPtr(_result, false);
+}
+
+#pragma implementation_key(1540)
+inline long VGCore::IVGDocument::AdviseEvents ( IDispatch * EventSink ) {
+    long _result = 0;
+    HRESULT _hr = raw_AdviseEvents(EventSink, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1541)
+inline HRESULT VGCore::IVGDocument::UnadviseEvents ( long Cookie ) {
+    HRESULT _hr = raw_UnadviseEvents(Cookie);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1542)
+inline double VGCore::IVGDocument::GetWorldScale ( ) {
+    double _result = 0;
+    HRESULT _hr = get_WorldScale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1543)
+inline void VGCore::IVGDocument::PutWorldScale ( double Scale ) {
+    HRESULT _hr = put_WorldScale(Scale);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1544)
+inline HRESULT VGCore::IVGDocument::PrintOut ( ) {
+    HRESULT _hr = raw_PrintOut();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1545)
+inline VGCore::IVGShapePtr VGCore::IVGDocument::GetActiveShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ActiveShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1546)
+inline long VGCore::IVGDocument::GetCurvePrecision ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CurvePrecision(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1547)
+inline VGCore::IVGPagePtr VGCore::IVGDocument::AddPagesEx ( long NumberOfPages, double Width, double Height ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = raw_AddPagesEx(NumberOfPages, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1548)
+inline VGCore::IVGPagePtr VGCore::IVGDocument::InsertPagesEx ( long NumberOfPages, VARIANT_BOOL BeforePage, long Page, double Width, double Height ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = raw_InsertPagesEx(NumberOfPages, BeforePage, Page, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1549)
+inline _bstr_t VGCore::IVGDocument::GetTitle ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Title(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1550)
+inline HRESULT VGCore::IVGDocument::SaveSettings ( _bstr_t Tag ) {
+    HRESULT _hr = raw_SaveSettings(Tag);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1551)
+inline HRESULT VGCore::IVGDocument::RestoreSettings ( _bstr_t Tag ) {
+    HRESULT _hr = raw_RestoreSettings(Tag);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1552)
+inline VARIANT_BOOL VGCore::IVGDocument::GetActive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Active(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1553)
+inline long VGCore::IVGDocument::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1554)
+inline VGCore::ICorelExportFilterPtr VGCore::IVGDocument::ExportEx ( _bstr_t FileName, enum cdrFilter Filter, enum cdrExportRange Range, struct IVGStructExportOptions * Options, struct IVGStructPaletteOptions * PaletteOptions ) {
+    struct ICorelExportFilter * _result = 0;
+    HRESULT _hr = raw_ExportEx(FileName, Filter, Range, Options, PaletteOptions, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICorelExportFilterPtr(_result, false);
+}
+
+#pragma implementation_key(1555)
+inline VGCore::ICorelExportFilterPtr VGCore::IVGDocument::ExportBitmap ( _bstr_t FileName, enum cdrFilter Filter, enum cdrExportRange Range, enum cdrImageType ImageType, long Width, long Height, long ResolutionX, long ResolutionY, enum cdrAntiAliasingType AntiAliasingType, VARIANT_BOOL Dithered, VARIANT_BOOL Transparent, VARIANT_BOOL UseColorProfile, VARIANT_BOOL MaintainLayers, enum cdrCompressionType Compression, struct IVGStructPaletteOptions * PaletteOptions, struct IVGRect * ExportArea ) {
+    struct ICorelExportFilter * _result = 0;
+    HRESULT _hr = raw_ExportBitmap(FileName, Filter, Range, ImageType, Width, Height, ResolutionX, ResolutionY, AntiAliasingType, Dithered, Transparent, UseColorProfile, MaintainLayers, Compression, PaletteOptions, ExportArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICorelExportFilterPtr(_result, false);
+}
+
+#pragma implementation_key(1556)
+inline VARIANT_BOOL VGCore::IVGDocument::GetEditAcrossLayers ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EditAcrossLayers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1557)
+inline void VGCore::IVGDocument::PutEditAcrossLayers ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_EditAcrossLayers(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1558)
+inline VGCore::IVGPropertiesPtr VGCore::IVGDocument::GetProperties ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = get_Properties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1559)
+inline void VGCore::IVGDocument::PutCurvePrecision ( long lpPrec ) {
+    HRESULT _hr = put_CurvePrecision(lpPrec);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1560)
+inline VGCore::IPrnVBAPrintSettingsPtr VGCore::IVGDocument::GetPrintSettings ( ) {
+    struct IPrnVBAPrintSettings * _result = 0;
+    HRESULT _hr = get_PrintSettings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(1561)
+inline _bstr_t VGCore::IVGDocument::GetKeywords ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Keywords(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1562)
+inline void VGCore::IVGDocument::PutKeywords ( _bstr_t pVal ) {
+    HRESULT _hr = put_Keywords(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1563)
+inline _bstr_t VGCore::IVGDocument::GetNotes ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Notes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1564)
+inline void VGCore::IVGDocument::PutNotes ( _bstr_t pVal ) {
+    HRESULT _hr = put_Notes(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1565)
+inline VARIANT_BOOL VGCore::IVGDocument::GetPreserveSelection ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PreserveSelection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1566)
+inline void VGCore::IVGDocument::PutPreserveSelection ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PreserveSelection(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1567)
+inline HRESULT VGCore::IVGDocument::ResetSettings ( ) {
+    HRESULT _hr = raw_ResetSettings();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1568)
+inline VGCore::IVGDataFieldsPtr VGCore::IVGDocument::GetDataFields ( ) {
+    struct IVGDataFields * _result = 0;
+    HRESULT _hr = get_DataFields(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataFieldsPtr(_result, false);
+}
+
+#pragma implementation_key(1569)
+inline VGCore::IPDFVBASettingsPtr VGCore::IVGDocument::GetPDFSettings ( ) {
+    struct IPDFVBASettings * _result = 0;
+    HRESULT _hr = get_PDFSettings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPDFVBASettingsPtr(_result, false);
+}
+
+#pragma implementation_key(1570)
+inline HRESULT VGCore::IVGDocument::PublishToPDF ( _bstr_t FileName ) {
+    HRESULT _hr = raw_PublishToPDF(FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1571)
+inline VGCore::IVGSelectionInformationPtr VGCore::IVGDocument::GetSelectionInfo ( ) {
+    struct IVGSelectionInformation * _result = 0;
+    HRESULT _hr = get_SelectionInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSelectionInformationPtr(_result, false);
+}
+
+#pragma implementation_key(1572)
+inline VGCore::IVGPageSizesPtr VGCore::IVGDocument::GetPageSizes ( ) {
+    struct IVGPageSizes * _result = 0;
+    HRESULT _hr = get_PageSizes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPageSizesPtr(_result, false);
+}
+
+#pragma implementation_key(1573)
+inline VGCore::IVGComponentsPtr VGCore::IVGDocument::GetComponents ( ) {
+    struct IVGComponents * _result = 0;
+    HRESULT _hr = get_Components(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGComponentsPtr(_result, false);
+}
+
+#pragma implementation_key(1574)
+inline VGCore::IVGSymbolLibraryPtr VGCore::IVGDocument::GetSymbolLibrary ( ) {
+    struct IVGSymbolLibrary * _result = 0;
+    HRESULT _hr = get_SymbolLibrary(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolLibraryPtr(_result, false);
+}
+
+#pragma implementation_key(1575)
+inline VGCore::IVGCurvePtr VGCore::IVGDocument::CreateCurve ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_CreateCurve(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(1576)
+inline VGCore::IVGCurvePtr VGCore::IVGDocument::CreateCurveFromArray ( SAFEARRAY * * Source, long NumElements ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_CreateCurveFromArray(Source, NumElements, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(1577)
+inline HRESULT VGCore::IVGDocument::LoadStyleSheet ( _bstr_t FileName ) {
+    HRESULT _hr = raw_LoadStyleSheet(FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1578)
+inline HRESULT VGCore::IVGDocument::SaveStyleSheet ( _bstr_t FileName ) {
+    HRESULT _hr = raw_SaveStyleSheet(FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1579)
+inline HRESULT VGCore::IVGDocument::SaveStyleSheetAsDefault ( ) {
+    HRESULT _hr = raw_SaveStyleSheetAsDefault();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1580)
+inline HRESULT VGCore::IVGDocument::CreateSelection ( SAFEARRAY * * ShapeArray ) {
+    HRESULT _hr = raw_CreateSelection(ShapeArray);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1581)
+inline HRESULT VGCore::IVGDocument::AddToSelection ( SAFEARRAY * * ShapeArray ) {
+    HRESULT _hr = raw_AddToSelection(ShapeArray);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1582)
+inline HRESULT VGCore::IVGDocument::RemoveFromSelection ( SAFEARRAY * * ShapeArray ) {
+    HRESULT _hr = raw_RemoveFromSelection(ShapeArray);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1583)
+inline VGCore::IVGShapesPtr VGCore::IVGDocument::GetSelectableShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_SelectableShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(1584)
+inline double VGCore::IVGDocument::ToUnits ( double Value, enum cdrUnit FromUnit ) {
+    double _result = 0;
+    HRESULT _hr = raw_ToUnits(Value, FromUnit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1585)
+inline double VGCore::IVGDocument::FromUnits ( double Value, enum cdrUnit ToUnit ) {
+    double _result = 0;
+    HRESULT _hr = raw_FromUnits(Value, ToUnit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1586)
+inline long VGCore::IVGDocument::GetResolutionX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResolutionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1587)
+inline void VGCore::IVGDocument::PutResolutionX ( long pResolution ) {
+    HRESULT _hr = put_ResolutionX(pResolution);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1588)
+inline long VGCore::IVGDocument::GetResolutionY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResolutionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1589)
+inline void VGCore::IVGDocument::PutResolutionY ( long pResolution ) {
+    HRESULT _hr = put_ResolutionY(pResolution);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1590)
+inline VGCore::IVGPagePtr VGCore::IVGDocument::GetMasterPage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_MasterPage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1591)
+inline VARIANT_BOOL VGCore::IVGDocument::Revert ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Revert(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1592)
+inline _bstr_t VGCore::IVGDocument::GetCodeName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_CodeName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1593)
+inline _bstr_t VGCore::IVGDocument::Get_CodeName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get__CodeName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1594)
+inline void VGCore::IVGDocument::Put_CodeName ( _bstr_t pVal ) {
+    HRESULT _hr = put__CodeName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1595)
+inline void VGCore::IVGDocument::PutName ( _bstr_t pbstrName ) {
+    HRESULT _hr = put_Name(pbstrName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1596)
+inline void VGCore::IVGDocument::PutFullFileName ( _bstr_t pFullFileName ) {
+    HRESULT _hr = put_FullFileName(pFullFileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1597)
+inline VGCore::IVGTreeNodePtr VGCore::IVGDocument::GetTreeRoot ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_TreeRoot(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(1598)
+inline VGCore::IVGTreeManagerPtr VGCore::IVGDocument::GetTreeManager ( ) {
+    struct IVGTreeManager * _result = 0;
+    HRESULT _hr = get_TreeManager(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeManagerPtr(_result, false);
+}
+
+#pragma implementation_key(1599)
+inline VGCore::IVGShapePtr VGCore::IVGDocument::LogCreateShape ( struct IVGShape * VirtualShape ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_LogCreateShape(VirtualShape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1600)
+inline VGCore::IVGShapeRangePtr VGCore::IVGDocument::LogCreateShapeRange ( struct IVGShapeRange * VirtualShapeRange ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_LogCreateShapeRange(VirtualShapeRange, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1601)
+inline VGCore::IVGFillPtr VGCore::IVGDocument::CreateFill ( _bstr_t FillString ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = raw_CreateFill(FillString, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(1602)
+inline VGCore::IVGOutlinePtr VGCore::IVGDocument::CreateOutline ( _bstr_t OutlineString ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = raw_CreateOutline(OutlineString, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(1603)
+inline VGCore::IVGHatchLibrariesPtr VGCore::IVGDocument::GetHatchLibraries ( ) {
+    struct IVGHatchLibraries * _result = 0;
+    HRESULT _hr = get_HatchLibraries(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchLibrariesPtr(_result, false);
+}
+
+#pragma implementation_key(1604)
+inline VGCore::IVGShapeRangePtr VGCore::IVGDocument::CreateShapeRangeFromArray ( SAFEARRAY * * ShapeArray ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_CreateShapeRangeFromArray(ShapeArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1605)
+inline HRESULT VGCore::IVGDocument::ClearUndoList ( ) {
+    HRESULT _hr = raw_ClearUndoList();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1606)
+inline double VGCore::IVGDocument::GetSourcePlatformVersion ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SourcePlatformVersion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1607)
+inline void VGCore::IVGDocument::PutSourcePlatformVersion ( double pVal ) {
+    HRESULT _hr = put_SourcePlatformVersion(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1608)
+inline enum VGCore::cdrFilter VGCore::IVGDocument::GetSourceFormat ( ) {
+    enum cdrFilter _result;
+    HRESULT _hr = get_SourceFormat(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1609)
+inline VARIANT_BOOL VGCore::IVGDocument::GetIsCurrentVersion ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsCurrentVersion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1610)
+inline enum VGCore::cdrFileVersion VGCore::IVGDocument::GetSourceFileVersion ( ) {
+    enum cdrFileVersion _result;
+    HRESULT _hr = get_SourceFileVersion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1611)
+inline void VGCore::IVGDocument::PutSourceFileVersion ( enum cdrFileVersion pVal ) {
+    HRESULT _hr = put_SourceFileVersion(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1612)
+inline VGCore::IVGFillPtr VGCore::IVGDocument::CreateUniformFill ( struct IVGColor * Color ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = raw_CreateUniformFill(Color, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(1613)
+inline VGCore::IVGMetadataPtr VGCore::IVGDocument::GetMetadata ( ) {
+    struct IVGMetadata * _result = 0;
+    HRESULT _hr = get_Metadata(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGMetadataPtr(_result, false);
+}
+
+#pragma implementation_key(1614)
+inline enum VGCore::cdrDocLayout VGCore::IVGDocument::GetLayout ( ) {
+    enum cdrDocLayout _result;
+    HRESULT _hr = get_Layout(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1615)
+inline void VGCore::IVGDocument::PutLayout ( enum cdrDocLayout pVal ) {
+    HRESULT _hr = put_Layout(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1616)
+inline VARIANT_BOOL VGCore::IVGDocument::GetFacingPages ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FacingPages(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1617)
+inline void VGCore::IVGDocument::PutFacingPages ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FacingPages(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1618)
+inline VARIANT_BOOL VGCore::IVGDocument::GetFirstPageOnRightSide ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FirstPageOnRightSide(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1619)
+inline void VGCore::IVGDocument::PutFirstPageOnRightSide ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FirstPageOnRightSide(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1620)
+inline HRESULT VGCore::IVGDocument::SetLayout ( enum cdrDocLayout Layout, VARIANT_BOOL FacingPages, VARIANT_BOOL StartOnRightSide ) {
+    HRESULT _hr = raw_SetLayout(Layout, FacingPages, StartOnRightSide);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1621)
+inline VGCore::IVGSpreadsPtr VGCore::IVGDocument::GetSpreads ( ) {
+    struct IVGSpreads * _result = 0;
+    HRESULT _hr = get_Spreads(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadsPtr(_result, false);
+}
+
+#pragma implementation_key(1622)
+inline VGCore::IVGSpreadPtr VGCore::IVGDocument::GetActiveSpread ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_ActiveSpread(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(1623)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGDocument::CreateArrowHead ( struct IVGCurve * Curve ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_CreateArrowHead(Curve, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(1624)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGDocument::CreateArrowHeadEx ( struct IVGCurve * Curve, double CenterX, double CenterY, double OutlineWidthScale, double LineOffset ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_CreateArrowHeadEx(Curve, CenterX, CenterY, OutlineWidthScale, LineOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(1625)
+inline VARIANT_BOOL VGCore::IVGDocument::DeletePages ( long StartPage, long NumPages ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_DeletePages(StartPage, NumPages, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1626)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGDocument::CreateArrowHead2 ( struct IVGCurve * Curve, _bstr_t Name ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_CreateArrowHead2(Curve, Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(1627)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGDocument::CreateArrowHeadEx2 ( struct IVGCurve * Curve, _bstr_t Name, double CenterX, double CenterY, double OutlineWidthScale, double LineOffset ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_CreateArrowHeadEx2(Curve, Name, CenterX, CenterY, OutlineWidthScale, LineOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(1628)
+inline VGCore::IVGArrowHeadOptionsPtr VGCore::IVGDocument::CreateArrowHeadOptions ( double Length, double Width, double OffsetX, double OffsetY, double RotationAngle, VARIANT_BOOL FlipHorizontal, VARIANT_BOOL FlipVertical ) {
+    struct IVGArrowHeadOptions * _result = 0;
+    HRESULT _hr = raw_CreateArrowHeadOptions(Length, Width, OffsetX, OffsetY, RotationAngle, FlipHorizontal, FlipVertical, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1629)
+inline HRESULT VGCore::IVGDocument::SaveAsCopy ( _bstr_t FileName, struct IVGStructSaveAsOptions * Options ) {
+    HRESULT _hr = raw_SaveAsCopy(FileName, Options);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1630)
+inline VGCore::IVGSnapPointPtr VGCore::IVGDocument::CreateFreeSnapPoint ( double PositionX, double PositionY ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_CreateFreeSnapPoint(PositionX, PositionY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(1631)
+inline VGCore::IVGBSplinePtr VGCore::IVGDocument::CreateBSpline ( long NumControlPoints, VARIANT_BOOL Closed ) {
+    struct IVGBSpline * _result = 0;
+    HRESULT _hr = raw_CreateBSpline(NumControlPoints, Closed, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBSplinePtr(_result, false);
+}
+
+#pragma implementation_key(1632)
+inline VGCore::IVGDocumentPtr VGCore::IVGDocument::Duplicate ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_Duplicate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1633)
+inline VGCore::IVGDocumentPtr VGCore::IVGDocument::Clone ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_Clone(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1634)
+inline VARIANT_BOOL VGCore::IVGDocument::GetIsTemporary ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsTemporary(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1635)
+inline VGCore::IVGColorContextPtr VGCore::IVGDocument::GetColorContext ( ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = get_ColorContext(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(1636)
+inline HRESULT VGCore::IVGDocument::AssignColorContext ( struct IVGColorContext * ColorContext ) {
+    HRESULT _hr = raw_AssignColorContext(ColorContext);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1637)
+inline HRESULT VGCore::IVGDocument::ConvertToColorContext ( struct IVGColorContext * ColorContext ) {
+    HRESULT _hr = raw_ConvertToColorContext(ColorContext);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1638)
+inline HRESULT VGCore::IVGDocument::PrintColorProof ( struct IVGProofColorSettings * ProofSettings ) {
+    HRESULT _hr = raw_PrintColorProof(ProofSettings);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1639)
+inline VGCore::IVGPalettePtr VGCore::IVGDocument::GetPalette ( ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = get_Palette(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(1640)
+inline long VGCore::IVGDocument::GetTextFormatter ( ) {
+    long _result = 0;
+    HRESULT _hr = get_TextFormatter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1641)
+inline void VGCore::IVGDocument::PutTextFormatter ( long pVal ) {
+    HRESULT _hr = put_TextFormatter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1642)
+inline VGCore::IVGStyleSheetPtr VGCore::IVGDocument::GetStyleSheet ( ) {
+    struct IVGStyleSheet * _result = 0;
+    HRESULT _hr = get_StyleSheet(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleSheetPtr(_result, false);
+}
+
+#pragma implementation_key(1643)
+inline HRESULT VGCore::IVGDocument::InteractiveImport ( SAFEARRAY * * FileNames ) {
+    HRESULT _hr = raw_InteractiveImport(FileNames);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1644)
+inline VARIANT_BOOL VGCore::IVGDocument::AddColorsToDocPalette ( VARIANT_BOOL SelectedOnly, long MaxColorsPerBitmap ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_AddColorsToDocPalette(SelectedOnly, MaxColorsPerBitmap, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1645)
+inline long VGCore::IVGDocument::CreateColorStyles ( VARIANT_BOOL UseFills, VARIANT_BOOL UseOutlines, VARIANT_BOOL SelectedOnly, long NumberOfColorHarmonies, enum cdrColorType ConvertColorsTo ) {
+    long _result = 0;
+    HRESULT _hr = raw_CreateColorStyles(UseFills, UseOutlines, SelectedOnly, NumberOfColorHarmonies, ConvertColorsTo, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1646)
+inline VGCore::IVGCurvePtr VGCore::IVGDocument::CreateCurveFitToPoints ( struct IVGPointRange * Points, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_CreateCurveFitToPoints(Points, UseCurrentViewForTolerance, tolerance, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(1647)
+inline VGCore::IVGCurvePtr VGCore::IVGDocument::CreateCurveFitToPointsAndCusps ( struct IVGPointRange * Points, SAFEARRAY * * CuspIndexArray, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_CreateCurveFitToPointsAndCusps(Points, CuspIndexArray, UseCurrentViewForTolerance, tolerance, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(1648)
+inline VGCore::IVGColorPtr VGCore::IVGDocument::SampleColorAtPoint ( double x, double y, enum cdrColorType ColorType ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_SampleColorAtPoint(x, y, ColorType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1649)
+inline VGCore::IVGColorPtr VGCore::IVGDocument::SampleColorInArea ( double x1, double y1, double x2, double y2, long XSamples, long YSamples, enum cdrColorType ColorType ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_SampleColorInArea(x1, y1, x2, y2, XSamples, YSamples, ColorType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1650)
+inline HRESULT VGCore::IVGDocument::ShowAllHiddenObjects ( ) {
+    HRESULT _hr = raw_ShowAllHiddenObjects();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1651)
+inline HRESULT VGCore::IVGDocument::InteractiveImportWithContentIdentifier ( SAFEARRAY * * FileNames, SAFEARRAY * * ContentIdentifiers ) {
+    HRESULT _hr = raw_InteractiveImportWithContentIdentifier(FileNames, ContentIdentifiers);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1652)
+inline HRESULT VGCore::IVGDocument::ReplaceContentByIdentifier ( SAFEARRAY * * ContentIdentifiers, SAFEARRAY * * FileNames ) {
+    HRESULT _hr = raw_ReplaceContentByIdentifier(ContentIdentifiers, FileNames);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1653)
+inline SAFEARRAY * VGCore::IVGDocument::GetContentIdentifiers ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = get_ContentIdentifiers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1654)
+inline _variant_t VGCore::IVGDocument::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_CustomCommand(ComponentID, CommandID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(1655)
+inline VGCore::IVGMathUtilsPtr VGCore::IVGDocument::GetMath ( ) {
+    struct IVGMathUtils * _result = 0;
+    HRESULT _hr = get_Math(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGMathUtilsPtr(_result, false);
+}
+
+#pragma implementation_key(1656)
+inline VGCore::IVGImagePtr VGCore::IVGDocument::CreateImage ( enum cdrImageType ImageType, long Width, long Height, struct IVGColor * FillColor ) {
+    struct IVGImage * _result = 0;
+    HRESULT _hr = raw_CreateImage(ImageType, Width, Height, FillColor, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImagePtr(_result, false);
+}
+
+#pragma implementation_key(1657)
+inline VGCore::IVGDocumentMarkupPtr VGCore::IVGDocument::GetMarkup ( ) {
+    struct IVGDocumentMarkup * _result = 0;
+    HRESULT _hr = get_Markup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentMarkupPtr(_result, false);
+}
+
+//
+// interface IVGRect wrapper method implementations
+//
+
+#pragma implementation_key(1658)
+inline double VGCore::IVGRect::Getx ( ) {
+    double _result = 0;
+    HRESULT _hr = get_x(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1659)
+inline void VGCore::IVGRect::Putx ( double pVal ) {
+    HRESULT _hr = put_x(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1660)
+inline double VGCore::IVGRect::Gety ( ) {
+    double _result = 0;
+    HRESULT _hr = get_y(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1661)
+inline void VGCore::IVGRect::Puty ( double pVal ) {
+    HRESULT _hr = put_y(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1662)
+inline double VGCore::IVGRect::GetWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1663)
+inline void VGCore::IVGRect::PutWidth ( double pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1664)
+inline double VGCore::IVGRect::GetHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1665)
+inline void VGCore::IVGRect::PutHeight ( double pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1666)
+inline HRESULT VGCore::IVGRect::SetRect ( double x, double y, double Width, double Height ) {
+    HRESULT _hr = raw_SetRect(x, y, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1667)
+inline HRESULT VGCore::IVGRect::GetRect ( double * x, double * y, double * Width, double * Height ) {
+    HRESULT _hr = raw_GetRect(x, y, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1668)
+inline HRESULT VGCore::IVGRect::CopyAssign ( struct IVGRect * Source ) {
+    HRESULT _hr = raw_CopyAssign(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1669)
+inline VGCore::IVGRectPtr VGCore::IVGRect::GetCopy ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(1670)
+inline VGCore::IVGRectPtr VGCore::IVGRect::Intersect ( struct IVGRect * Rect ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = raw_Intersect(Rect, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(1671)
+inline VARIANT_BOOL VGCore::IVGRect::GetIsEmpty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEmpty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1672)
+inline VGCore::IVGRectPtr VGCore::IVGRect::Union ( struct IVGRect * Rect ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = raw_Union(Rect, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(1673)
+inline HRESULT VGCore::IVGRect::Offset ( double OffsetX, double OffsetY ) {
+    HRESULT _hr = raw_Offset(OffsetX, OffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1674)
+inline VARIANT_BOOL VGCore::IVGRect::Inflate ( double Left, double Top, double Right, double Bottom ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Inflate(Left, Top, Right, Bottom, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1675)
+inline VARIANT_BOOL VGCore::IVGRect::IsPointInside ( double x, double y ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsPointInside(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1676)
+inline HRESULT VGCore::IVGRect::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1677)
+inline VGCore::IVGRectPtr VGCore::IVGRect::ChangeContext ( struct IVGDocument * SrcDoc, struct IVGDocument * DestDoc ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = raw_ChangeContext(SrcDoc, DestDoc, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(1678)
+inline double VGCore::IVGRect::GetLeft ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Left(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1679)
+inline double VGCore::IVGRect::GetRight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Right(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1680)
+inline double VGCore::IVGRect::GetTop ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1681)
+inline double VGCore::IVGRect::GetBottom ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Bottom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1682)
+inline double VGCore::IVGRect::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1683)
+inline double VGCore::IVGRect::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGApplication wrapper method implementations
+//
+
+#pragma implementation_key(1684)
+inline VGCore::IVGApplicationPtr VGCore::IVGApplication::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1685)
+inline VGCore::IVGApplicationPtr VGCore::IVGApplication::GetParent ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1686)
+inline VARIANT_BOOL VGCore::IVGApplication::GetVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Visible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1687)
+inline void VGCore::IVGApplication::PutVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Visible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1688)
+inline VGCore::IVGDocumentsPtr VGCore::IVGApplication::GetDocuments ( ) {
+    struct IVGDocuments * _result = 0;
+    HRESULT _hr = get_Documents(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentsPtr(_result, false);
+}
+
+#pragma implementation_key(1689)
+inline VGCore::IVGDocumentPtr VGCore::IVGApplication::GetActiveDocument ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_ActiveDocument(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1690)
+inline VGCore::IVGPagePtr VGCore::IVGApplication::GetActivePage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_ActivePage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1691)
+inline VGCore::IVGWindowPtr VGCore::IVGApplication::GetActiveWindow ( ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = get_ActiveWindow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1692)
+inline VGCore::IVGWindowsPtr VGCore::IVGApplication::GetWindows ( ) {
+    struct IVGWindows * _result = 0;
+    HRESULT _hr = get_Windows(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowsPtr(_result, false);
+}
+
+#pragma implementation_key(1693)
+inline VGCore::ICorelScriptToolsPtr VGCore::IVGApplication::CorelScriptTools ( ) {
+    struct ICorelScriptTools * _result = 0;
+    HRESULT _hr = raw_CorelScriptTools(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICorelScriptToolsPtr(_result, false);
+}
+
+#pragma implementation_key(1694)
+inline VGCore::IVGWorkspacePtr VGCore::IVGApplication::GetActiveWorkspace ( ) {
+    struct IVGWorkspace * _result = 0;
+    HRESULT _hr = get_ActiveWorkspace(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWorkspacePtr(_result, false);
+}
+
+#pragma implementation_key(1695)
+inline VGCore::IVGWorkspacesPtr VGCore::IVGApplication::GetWorkspaces ( ) {
+    struct IVGWorkspaces * _result = 0;
+    HRESULT _hr = get_Workspaces(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWorkspacesPtr(_result, false);
+}
+
+#pragma implementation_key(1696)
+inline VGCore::IVGPalettePtr VGCore::IVGApplication::GetActivePalette ( ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = get_ActivePalette(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(1697)
+inline VGCore::IVGPalettesPtr VGCore::IVGApplication::GetPalettes ( ) {
+    struct IVGPalettes * _result = 0;
+    HRESULT _hr = get_Palettes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettesPtr(_result, false);
+}
+
+#pragma implementation_key(1698)
+inline HRESULT VGCore::IVGApplication::Quit ( ) {
+    HRESULT _hr = raw_Quit();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1699)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateColor ( _bstr_t ColorString ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateColor(ColorString, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1700)
+inline VGCore::IVGFontListPtr VGCore::IVGApplication::GetFontList ( ) {
+    struct IVGFontList * _result = 0;
+    HRESULT _hr = get_FontList(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFontListPtr(_result, false);
+}
+
+#pragma implementation_key(1701)
+inline VGCore::IVGAppWindowPtr VGCore::IVGApplication::GetAppWindow ( ) {
+    struct IVGAppWindow * _result = 0;
+    HRESULT _hr = get_AppWindow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGAppWindowPtr(_result, false);
+}
+
+#pragma implementation_key(1702)
+inline VGCore::IVGRecentFilesPtr VGCore::IVGApplication::GetRecentFiles ( ) {
+    struct IVGRecentFiles * _result = 0;
+    HRESULT _hr = get_RecentFiles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRecentFilesPtr(_result, false);
+}
+
+#pragma implementation_key(1703)
+inline IDispatchPtr VGCore::IVGApplication::GetVBE ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_VBE(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1704)
+inline double VGCore::IVGApplication::cdrMixedDouble ( ) {
+    double _result = 0;
+    HRESULT _hr = raw_cdrMixedDouble(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1705)
+inline float VGCore::IVGApplication::cdrMixedSingle ( ) {
+    float _result = 0;
+    HRESULT _hr = raw_cdrMixedSingle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1706)
+inline long VGCore::IVGApplication::cdrMixedLong ( ) {
+    long _result = 0;
+    HRESULT _hr = raw_cdrMixedLong(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1707)
+inline VARIANT_BOOL VGCore::IVGApplication::GetEventsEnabled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EventsEnabled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1708)
+inline void VGCore::IVGApplication::PutEventsEnabled ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_EventsEnabled(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1709)
+inline VGCore::IVGDocumentPtr VGCore::IVGApplication::OpenDocument ( _bstr_t FileName, long CodePage ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_OpenDocument(FileName, CodePage, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1710)
+inline VGCore::IVGDocumentPtr VGCore::IVGApplication::CreateDocument ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_CreateDocument(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1711)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateColorEx ( long ColorModel, long V1, long V2, long V3, long V4, long V5, long V6, long V7 ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateColorEx(ColorModel, V1, V2, V3, V4, V5, V6, V7, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1712)
+inline VGCore::IVGArrowHeadsPtr VGCore::IVGApplication::GetArrowHeads ( ) {
+    struct IVGArrowHeads * _result = 0;
+    HRESULT _hr = get_ArrowHeads(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadsPtr(_result, false);
+}
+
+#pragma implementation_key(1713)
+inline VGCore::IVGOutlineStylesPtr VGCore::IVGApplication::GetOutlineStyles ( ) {
+    struct IVGOutlineStyles * _result = 0;
+    HRESULT _hr = get_OutlineStyles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlineStylesPtr(_result, false);
+}
+
+#pragma implementation_key(1714)
+inline _bstr_t VGCore::IVGApplication::GetVersion ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Version(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1715)
+inline long VGCore::IVGApplication::GetVersionMajor ( ) {
+    long _result = 0;
+    HRESULT _hr = get_VersionMajor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1716)
+inline long VGCore::IVGApplication::GetVersionMinor ( ) {
+    long _result = 0;
+    HRESULT _hr = get_VersionMinor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1717)
+inline long VGCore::IVGApplication::GetVersionBuild ( ) {
+    long _result = 0;
+    HRESULT _hr = get_VersionBuild(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1718)
+inline _bstr_t VGCore::IVGApplication::GetPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Path(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1719)
+inline _bstr_t VGCore::IVGApplication::GetConfigPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ConfigPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1720)
+inline _bstr_t VGCore::IVGApplication::GetSetupPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_SetupPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1721)
+inline VGCore::IVGLayerPtr VGCore::IVGApplication::GetActiveLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_ActiveLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1722)
+inline VGCore::IVGShapePtr VGCore::IVGApplication::GetActiveSelection ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ActiveSelection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1723)
+inline VGCore::IVGPatternCanvasesPtr VGCore::IVGApplication::GetPatternCanvases ( ) {
+    struct IVGPatternCanvases * _result = 0;
+    HRESULT _hr = get_PatternCanvases(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternCanvasesPtr(_result, false);
+}
+
+#pragma implementation_key(1724)
+inline VGCore::IVGClipboardPtr VGCore::IVGApplication::GetClipboard ( ) {
+    struct IVGClipboard * _result = 0;
+    HRESULT _hr = get_Clipboard(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGClipboardPtr(_result, false);
+}
+
+#pragma implementation_key(1725)
+inline VGCore::IVGShapeRangePtr VGCore::IVGApplication::GetActiveSelectionRange ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = get_ActiveSelectionRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1726)
+inline enum VGCore::cdrTools VGCore::IVGApplication::GetActiveTool ( ) {
+    enum cdrTools _result;
+    HRESULT _hr = get_ActiveTool(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1727)
+inline void VGCore::IVGApplication::PutActiveTool ( enum cdrTools pTool ) {
+    HRESULT _hr = put_ActiveTool(pTool);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1728)
+inline VGCore::IVGShapePtr VGCore::IVGApplication::GetActiveShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ActiveShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1729)
+inline VARIANT_BOOL VGCore::IVGApplication::GetOptimization ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Optimization(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1730)
+inline void VGCore::IVGApplication::PutOptimization ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Optimization(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1731)
+inline enum VGCore::cdrPanoseMatchingType VGCore::IVGApplication::GetPanoseMatching ( ) {
+    enum cdrPanoseMatchingType _result;
+    HRESULT _hr = get_PanoseMatching(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1732)
+inline void VGCore::IVGApplication::PutPanoseMatching ( enum cdrPanoseMatchingType pVal ) {
+    HRESULT _hr = put_PanoseMatching(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1733)
+inline IDispatchPtr VGCore::IVGApplication::GetAddIns ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_AddIns(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(1734)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateRGBColor ( long Red, long Green, long Blue ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateRGBColor(Red, Green, Blue, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1735)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateCMYColor ( long Cyan, long Magenta, long Yellow ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateCMYColor(Cyan, Magenta, Yellow, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1736)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateCMYKColor ( long Cyan, long Magenta, long Yellow, long Black ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateCMYKColor(Cyan, Magenta, Yellow, Black, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1737)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateGrayColor ( long GrayValue ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateGrayColor(GrayValue, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1738)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateHLSColor ( long Hue, long Lightness, long Saturation ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateHLSColor(Hue, Lightness, Saturation, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1739)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateHSBColor ( long Hue, long Saturation, long Brightness ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateHSBColor(Hue, Saturation, Brightness, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1740)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateBWColor ( VARIANT_BOOL White ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateBWColor(White, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1741)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateYIQColor ( long y, long I, long Q ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateYIQColor(y, I, Q, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1742)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateLabColor ( long L, long A, long B ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateLabColor(L, A, B, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1743)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateFixedColor ( enum cdrPaletteID PaletteID, long PaletteIndex, long Tint ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateFixedColor(PaletteID, PaletteIndex, Tint, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1744)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateRegistrationColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateRegistrationColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1745)
+inline VGCore::IVGSnapPointPtr VGCore::IVGApplication::CreateSnapPoint ( double PositionX, double PositionY ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_CreateSnapPoint(PositionX, PositionY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(1746)
+inline VGCore::IVGDocumentPtr VGCore::IVGApplication::CreateDocumentFromTemplate ( _bstr_t Template, VARIANT_BOOL IncludeGraphics ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_CreateDocumentFromTemplate(Template, IncludeGraphics, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1747)
+inline VGCore::IPrnVBAPrintersPtr VGCore::IVGApplication::GetPrinters ( ) {
+    struct IPrnVBAPrinters * _result = 0;
+    HRESULT _hr = get_Printers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintersPtr(_result, false);
+}
+
+#pragma implementation_key(1748)
+inline VGCore::IPrnVBAPrintJobPtr VGCore::IVGApplication::GetPrintJob ( ) {
+    struct IPrnVBAPrintJob * _result = 0;
+    HRESULT _hr = get_PrintJob(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IPrnVBAPrintJobPtr(_result, false);
+}
+
+#pragma implementation_key(1749)
+inline VGCore::ICUICommandBarsPtr VGCore::IVGApplication::GetCommandBars ( ) {
+    struct ICUICommandBars * _result = 0;
+    HRESULT _hr = get_CommandBars(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarsPtr(_result, false);
+}
+
+#pragma implementation_key(1750)
+inline VGCore::ICUICommandBarPtr VGCore::IVGApplication::GetStatusBar ( ) {
+    struct ICUICommandBar * _result = 0;
+    HRESULT _hr = get_StatusBar(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarPtr(_result, false);
+}
+
+#pragma implementation_key(1751)
+inline VGCore::ICUICommandBarPtr VGCore::IVGApplication::GetMainMenu ( ) {
+    struct ICUICommandBar * _result = 0;
+    HRESULT _hr = get_MainMenu(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUICommandBarPtr(_result, false);
+}
+
+#pragma implementation_key(1752)
+inline VGCore::IVGGMSManagerPtr VGCore::IVGApplication::GetGMSManager ( ) {
+    struct IVGGMSManager * _result = 0;
+    HRESULT _hr = get_GMSManager(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGMSManagerPtr(_result, false);
+}
+
+#pragma implementation_key(1753)
+inline HRESULT VGCore::IVGApplication::ImportWorkspace ( _bstr_t FileName ) {
+    HRESULT _hr = raw_ImportWorkspace(FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1754)
+inline HRESULT VGCore::IVGApplication::Refresh ( ) {
+    HRESULT _hr = raw_Refresh();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1755)
+inline VGCore::IVGStructSaveAsOptionsPtr VGCore::IVGApplication::CreateStructSaveAsOptions ( ) {
+    struct IVGStructSaveAsOptions * _result = 0;
+    HRESULT _hr = raw_CreateStructSaveAsOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructSaveAsOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1756)
+inline VGCore::IVGStructExportOptionsPtr VGCore::IVGApplication::CreateStructExportOptions ( ) {
+    struct IVGStructExportOptions * _result = 0;
+    HRESULT _hr = raw_CreateStructExportOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructExportOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1757)
+inline VGCore::IVGStructImportOptionsPtr VGCore::IVGApplication::CreateStructImportOptions ( ) {
+    struct IVGStructImportOptions * _result = 0;
+    HRESULT _hr = raw_CreateStructImportOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructImportOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1758)
+inline VGCore::IVGStructPaletteOptionsPtr VGCore::IVGApplication::CreateStructPaletteOptions ( ) {
+    struct IVGStructPaletteOptions * _result = 0;
+    HRESULT _hr = raw_CreateStructPaletteOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructPaletteOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1759)
+inline VGCore::IVGNodeRangePtr VGCore::IVGApplication::CreateNodeRange ( ) {
+    struct IVGNodeRange * _result = 0;
+    HRESULT _hr = raw_CreateNodeRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1760)
+inline VGCore::IVGSegmentRangePtr VGCore::IVGApplication::CreateSegmentRange ( ) {
+    struct IVGSegmentRange * _result = 0;
+    HRESULT _hr = raw_CreateSegmentRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentRangePtr(_result, false);
+}
+
+#pragma implementation_key(1761)
+inline VGCore::IVGShapeRangePtr VGCore::IVGApplication::CreateShapeRange ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_CreateShapeRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1762)
+inline VGCore::IVGPatternCanvasPtr VGCore::IVGApplication::CreatePatternCanvas ( ) {
+    struct IVGPatternCanvas * _result = 0;
+    HRESULT _hr = raw_CreatePatternCanvas(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternCanvasPtr(_result, false);
+}
+
+#pragma implementation_key(1763)
+inline VGCore::IVGCurvePtr VGCore::IVGApplication::CreateCurve ( struct IVGDocument * Document ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_CreateCurve(Document, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(1764)
+inline _bstr_t VGCore::IVGApplication::GetUserDataPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_UserDataPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1765)
+inline VARIANT_BOOL VGCore::IVGApplication::InitializeVBA ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_InitializeVBA(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1766)
+inline _bstr_t VGCore::IVGApplication::GetHelpFile ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_HelpFile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1767)
+inline VGCore::ICUIFrameWorkPtr VGCore::IVGApplication::GetFrameWork ( ) {
+    struct ICUIFrameWork * _result = 0;
+    HRESULT _hr = get_FrameWork(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIFrameWorkPtr(_result, false);
+}
+
+#pragma implementation_key(1768)
+inline VGCore::IVGStructFontPropertiesPtr VGCore::IVGApplication::CreateStructFontProperties ( ) {
+    struct IVGStructFontProperties * _result = 0;
+    HRESULT _hr = raw_CreateStructFontProperties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructFontPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1769)
+inline VGCore::IVGStructAlignPropertiesPtr VGCore::IVGApplication::CreateStructAlignProperties ( ) {
+    struct IVGStructAlignProperties * _result = 0;
+    HRESULT _hr = raw_CreateStructAlignProperties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructAlignPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1770)
+inline VGCore::IVGStructSpacePropertiesPtr VGCore::IVGApplication::CreateStructSpaceProperties ( ) {
+    struct IVGStructSpaceProperties * _result = 0;
+    HRESULT _hr = raw_CreateStructSpaceProperties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructSpacePropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1771)
+inline VGCore::IVGStructHyphenationSettingsPtr VGCore::IVGApplication::CreateStructHyphenationSettings ( ) {
+    struct IVGStructHyphenationSettings * _result = 0;
+    HRESULT _hr = raw_CreateStructHyphenationSettings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructHyphenationSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(1772)
+inline VGCore::IVGComponentsPtr VGCore::IVGApplication::GetComponents ( ) {
+    struct IVGComponents * _result = 0;
+    HRESULT _hr = get_Components(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGComponentsPtr(_result, false);
+}
+
+#pragma implementation_key(1773)
+inline VGCore::IVGSymbolLibrariesPtr VGCore::IVGApplication::GetSymbolLibraries ( ) {
+    struct IVGSymbolLibraries * _result = 0;
+    HRESULT _hr = get_SymbolLibraries(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolLibrariesPtr(_result, false);
+}
+
+#pragma implementation_key(1774)
+inline long VGCore::IVGApplication::AdviseEvents ( IDispatch * EventSink ) {
+    long _result = 0;
+    HRESULT _hr = raw_AdviseEvents(EventSink, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1775)
+inline HRESULT VGCore::IVGApplication::UnadviseEvents ( long Cookie ) {
+    HRESULT _hr = raw_UnadviseEvents(Cookie);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1776)
+inline enum VGCore::cdrApplicationID VGCore::IVGApplication::GetID ( ) {
+    enum cdrApplicationID _result;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1777)
+inline _bstr_t VGCore::IVGApplication::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1778)
+inline enum VGCore::cdrApplicationClass VGCore::IVGApplication::GetClass ( ) {
+    enum cdrApplicationClass _result;
+    HRESULT _hr = get_Class(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1779)
+inline long VGCore::IVGApplication::GetPlatformVersionMajor ( ) {
+    long _result = 0;
+    HRESULT _hr = get_PlatformVersionMajor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1780)
+inline long VGCore::IVGApplication::GetPlatformVersionMinor ( ) {
+    long _result = 0;
+    HRESULT _hr = get_PlatformVersionMinor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1781)
+inline long VGCore::IVGApplication::CheckPlatformVersion ( long VersionMajor, long VersionMinor ) {
+    long _result = 0;
+    HRESULT _hr = raw_CheckPlatformVersion(VersionMajor, VersionMinor, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1782)
+inline VGCore::IVGAppStatusPtr VGCore::IVGApplication::GetStatus ( ) {
+    struct IVGAppStatus * _result = 0;
+    HRESULT _hr = get_Status(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGAppStatusPtr(_result, false);
+}
+
+#pragma implementation_key(1783)
+inline double VGCore::IVGApplication::ConvertUnits ( double Value, enum cdrUnit FromUnit, enum cdrUnit ToUnit ) {
+    double _result = 0;
+    HRESULT _hr = raw_ConvertUnits(Value, FromUnit, ToUnit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1784)
+inline enum VGCore::cdrTextLanguage VGCore::IVGApplication::GetUILanguage ( ) {
+    enum cdrTextLanguage _result;
+    HRESULT _hr = get_UILanguage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1785)
+inline VARIANT_BOOL VGCore::IVGApplication::IsUILanguageAvailable ( enum cdrTextLanguage Language ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsUILanguageAvailable(Language, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1786)
+inline VGCore::IVGPageSizesPtr VGCore::IVGApplication::GetPageSizes ( ) {
+    struct IVGPageSizes * _result = 0;
+    HRESULT _hr = get_PageSizes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPageSizesPtr(_result, false);
+}
+
+#pragma implementation_key(1787)
+inline enum VGCore::cdrUnit VGCore::IVGApplication::GetUnit ( ) {
+    enum cdrUnit _result;
+    HRESULT _hr = get_Unit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1788)
+inline void VGCore::IVGApplication::PutUnit ( enum cdrUnit pVal ) {
+    HRESULT _hr = put_Unit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1789)
+inline _bstr_t VGCore::IVGApplication::ConvertToUnicode ( _bstr_t String, long CodePage ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_ConvertToUnicode(String, CodePage, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1790)
+inline _bstr_t VGCore::IVGApplication::ConvertFromUnicode ( _bstr_t String, long CodePage ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_ConvertFromUnicode(String, CodePage, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1791)
+inline _bstr_t VGCore::IVGApplication::GetUserWorkspacePath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_UserWorkspacePath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1792)
+inline _bstr_t VGCore::IVGApplication::GetLanguagePath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LanguagePath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1793)
+inline VGCore::IVGTreeManagerPtr VGCore::IVGApplication::GetActiveTreeManager ( ) {
+    struct IVGTreeManager * _result = 0;
+    HRESULT _hr = get_ActiveTreeManager(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeManagerPtr(_result, false);
+}
+
+#pragma implementation_key(1794)
+inline VGCore::IVGLayerPtr VGCore::IVGApplication::GetActiveVirtualLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_ActiveVirtualLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1795)
+inline VGCore::IVGDuotonePtr VGCore::IVGApplication::CreateDuotone ( ) {
+    struct IVGDuotone * _result = 0;
+    HRESULT _hr = raw_CreateDuotone(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDuotonePtr(_result, false);
+}
+
+#pragma implementation_key(1796)
+inline VGCore::IVGColorManagerPtr VGCore::IVGApplication::GetColorManager ( ) {
+    struct IVGColorManager * _result = 0;
+    HRESULT _hr = get_ColorManager(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorManagerPtr(_result, false);
+}
+
+#pragma implementation_key(1797)
+inline VGCore::IVGOutlineStylesPtr VGCore::IVGApplication::GetEnhancedOutlines ( ) {
+    struct IVGOutlineStyles * _result = 0;
+    HRESULT _hr = get_EnhancedOutlines(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlineStylesPtr(_result, false);
+}
+
+#pragma implementation_key(1798)
+inline VARIANT_BOOL VGCore::IVGApplication::AddPluginCommand ( _bstr_t CommandID, _bstr_t Caption, _bstr_t Tooltip ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_AddPluginCommand(CommandID, Caption, Tooltip, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1799)
+inline VARIANT_BOOL VGCore::IVGApplication::RemovePluginCommand ( _bstr_t CommandID ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_RemovePluginCommand(CommandID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1800)
+inline VGCore::IVGOutlineStylePtr VGCore::IVGApplication::CreateOutlineStyle ( long DashDotCount, SAFEARRAY * * DashDotLengths ) {
+    struct IVGOutlineStyle * _result = 0;
+    HRESULT _hr = raw_CreateOutlineStyle(DashDotCount, DashDotLengths, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlineStylePtr(_result, false);
+}
+
+#pragma implementation_key(1801)
+inline enum VGCore::cdrAppStartupMode VGCore::IVGApplication::GetStartupMode ( ) {
+    enum cdrAppStartupMode _result;
+    HRESULT _hr = get_StartupMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1802)
+inline void VGCore::IVGApplication::PutStartupMode ( enum cdrAppStartupMode pVal ) {
+    HRESULT _hr = put_StartupMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1803)
+inline VGCore::IVGPropertiesPtr VGCore::IVGApplication::GetGlobalUserData ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = get_GlobalUserData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1804)
+inline VGCore::IVGPropertiesPtr VGCore::IVGApplication::GetSessionUserData ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = get_SessionUserData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1805)
+inline _variant_t VGCore::IVGApplication::Evaluate ( _bstr_t Expression ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_Evaluate(Expression, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(1806)
+inline VGCore::IVGRectPtr VGCore::IVGApplication::CreateRect ( double x, double y, double Width, double Height ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = raw_CreateRect(x, y, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(1807)
+inline HRESULT VGCore::IVGApplication::ForceUpdateFontTable ( ) {
+    HRESULT _hr = raw_ForceUpdateFontTable();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1808)
+inline VGCore::IVGSpreadPtr VGCore::IVGApplication::GetActiveSpread ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_ActiveSpread(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(1809)
+inline VGCore::IVGDocumentPtr VGCore::IVGApplication::OpenDocumentAsCopy ( _bstr_t FileName, struct IVGStructOpenOptions * Options ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_OpenDocumentAsCopy(FileName, Options, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1810)
+inline VGCore::IVGColorContextPtr VGCore::IVGApplication::GetDefaultColorContext ( ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = get_DefaultColorContext(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(1811)
+inline VGCore::IVGColorContextPtr VGCore::IVGApplication::CreateColorContext ( struct IVGColorProfile * RGBProfile, struct IVGColorProfile * CMYKProfile, struct IVGColorProfile * GrayscaleProfile, enum clrRenderingIntent RenderingIntent, enum clrColorModel BlendingColorModel ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = raw_CreateColorContext(RGBProfile, CMYKProfile, GrayscaleProfile, RenderingIntent, BlendingColorModel, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(1812)
+inline VGCore::IVGColorContextPtr VGCore::IVGApplication::CreateColorContext2 ( _bstr_t ColorProfileList, enum clrRenderingIntent RenderingIntent, enum clrColorModel BlendingColorModel ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = raw_CreateColorContext2(ColorProfileList, RenderingIntent, BlendingColorModel, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(1813)
+inline VGCore::IVGDocumentPtr VGCore::IVGApplication::CreateDocumentEx ( struct IVGStructCreateOptions * Options ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_CreateDocumentEx(Options, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1814)
+inline VGCore::IVGDocumentPtr VGCore::IVGApplication::OpenDocumentEx ( _bstr_t FileName, struct IVGStructOpenOptions * Options ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_OpenDocumentEx(FileName, Options, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1815)
+inline VGCore::IVGStructOpenOptionsPtr VGCore::IVGApplication::CreateStructOpenOptions ( ) {
+    struct IVGStructOpenOptions * _result = 0;
+    HRESULT _hr = raw_CreateStructOpenOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructOpenOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1816)
+inline VGCore::IVGStructCreateOptionsPtr VGCore::IVGApplication::CreateStructCreateOptions ( ) {
+    struct IVGStructCreateOptions * _result = 0;
+    HRESULT _hr = raw_CreateStructCreateOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructCreateOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1817)
+inline VGCore::IVGStructPasteOptionsPtr VGCore::IVGApplication::CreateStructPasteOptions ( ) {
+    struct IVGStructPasteOptions * _result = 0;
+    HRESULT _hr = raw_CreateStructPasteOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructPasteOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(1818)
+inline VGCore::IVGProofColorSettingsPtr VGCore::IVGApplication::CreateProofColorSettings ( _bstr_t ProfileName, enum clrRenderingIntent RenderingIntent, VARIANT_BOOL PreserveColorValues ) {
+    struct IVGProofColorSettings * _result = 0;
+    HRESULT _hr = raw_CreateProofColorSettings(ProfileName, RenderingIntent, PreserveColorValues, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGProofColorSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(1819)
+inline VGCore::IVGPaletteManagerPtr VGCore::IVGApplication::GetPaletteManager ( ) {
+    struct IVGPaletteManager * _result = 0;
+    HRESULT _hr = get_PaletteManager(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPaletteManagerPtr(_result, false);
+}
+
+#pragma implementation_key(1820)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateSpotColor ( _bstr_t PaletteIdentifier, long SpotColorID, long Tint ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateSpotColor(PaletteIdentifier, SpotColorID, Tint, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1821)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreateSpotColorByName ( _bstr_t PaletteIdentifier, _bstr_t SpotColorName, long Tint ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateSpotColorByName(PaletteIdentifier, SpotColorName, Tint, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1822)
+inline VGCore::IVGColorPtr VGCore::IVGApplication::CreatePaletteColor ( _bstr_t PaletteIdentifier, long ColorIndex ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreatePaletteColor(PaletteIdentifier, ColorIndex, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1823)
+inline SAFEARRAY * VGCore::IVGApplication::GetSupportedOpenTypeFeatures ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetSupportedOpenTypeFeatures(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1824)
+inline VGCore::IVGFillMetadataPtr VGCore::IVGApplication::CreateFillMetadata ( ) {
+    struct IVGFillMetadata * _result = 0;
+    HRESULT _hr = raw_CreateFillMetadata(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillMetadataPtr(_result, false);
+}
+
+#pragma implementation_key(1825)
+inline _bstr_t VGCore::IVGApplication::GetAddonPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_AddonPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1826)
+inline _bstr_t VGCore::IVGApplication::GetProgramPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ProgramPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1827)
+inline _bstr_t VGCore::IVGApplication::GetActiveToolStateGuid ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ActiveToolStateGuid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1828)
+inline void VGCore::IVGApplication::PutActiveToolStateGuid ( _bstr_t pTool ) {
+    HRESULT _hr = put_ActiveToolStateGuid(pTool);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1829)
+inline HRESULT VGCore::IVGApplication::RegisterToolState ( _bstr_t ToolStateGuid, _bstr_t ToolStateName, struct IVGToolState * ToolState ) {
+    HRESULT _hr = raw_RegisterToolState(ToolStateGuid, ToolStateName, ToolState);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1830)
+inline VARIANT_BOOL VGCore::IVGApplication::UnregisterToolState ( _bstr_t ToolStateGuid ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UnregisterToolState(ToolStateGuid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1831)
+inline VGCore::IVGOnScreenCurvePtr VGCore::IVGApplication::CreateOnScreenCurve ( ) {
+    struct IVGOnScreenCurve * _result = 0;
+    HRESULT _hr = raw_CreateOnScreenCurve(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOnScreenCurvePtr(_result, false);
+}
+
+#pragma implementation_key(1832)
+inline VGCore::IVGOnScreenHandlePtr VGCore::IVGApplication::CreateOnScreenHandle ( ) {
+    struct IVGOnScreenHandle * _result = 0;
+    HRESULT _hr = raw_CreateOnScreenHandle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOnScreenHandlePtr(_result, false);
+}
+
+#pragma implementation_key(1833)
+inline VGCore::IVGOnScreenTextPtr VGCore::IVGApplication::CreateOnScreenText ( ) {
+    struct IVGOnScreenText * _result = 0;
+    HRESULT _hr = raw_CreateOnScreenText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOnScreenTextPtr(_result, false);
+}
+
+#pragma implementation_key(1834)
+inline VGCore::IVGMathUtilsPtr VGCore::IVGApplication::GetMath ( ) {
+    struct IVGMathUtils * _result = 0;
+    HRESULT _hr = get_Math(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGMathUtilsPtr(_result, false);
+}
+
+#pragma implementation_key(1835)
+inline HRESULT VGCore::IVGApplication::RegisterUserApplicationPreference ( _bstr_t GroupName, _bstr_t KeyName, const _variant_t & DefaultVal ) {
+    HRESULT _hr = raw_RegisterUserApplicationPreference(GroupName, KeyName, DefaultVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1836)
+inline _variant_t VGCore::IVGApplication::GetApplicationPreferenceValue ( _bstr_t GroupName, _bstr_t KeyName ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_GetApplicationPreferenceValue(GroupName, KeyName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(1837)
+inline HRESULT VGCore::IVGApplication::SetApplicationPreferenceValue ( _bstr_t GroupName, _bstr_t KeyName, const _variant_t & newVal ) {
+    HRESULT _hr = raw_SetApplicationPreferenceValue(GroupName, KeyName, newVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1838)
+inline VGCore::IVGPropertiesPtr VGCore::IVGApplication::CreateProperties ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = raw_CreateProperties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1839)
+inline HRESULT VGCore::IVGApplication::RegisterToolShape ( _bstr_t ToolShapeGuid, struct IVGToolShapeAttributes * ToolShapeAttributes, struct IVGToolShape * ToolShape ) {
+    HRESULT _hr = raw_RegisterToolShape(ToolShapeGuid, ToolShapeAttributes, ToolShape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1840)
+inline VGCore::IVGToolShapeAttributesPtr VGCore::IVGApplication::CreateToolShapeAttributes ( ) {
+    struct IVGToolShapeAttributes * _result = 0;
+    HRESULT _hr = raw_CreateToolShapeAttributes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGToolShapeAttributesPtr(_result, false);
+}
+
+#pragma implementation_key(1841)
+inline _bstr_t VGCore::IVGApplication::GetUILanguageCode ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_UILanguageCode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1842)
+inline HRESULT VGCore::IVGApplication::StartTemporaryToolState ( _bstr_t StateGuid ) {
+    HRESULT _hr = raw_StartTemporaryToolState(StateGuid);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1843)
+inline HRESULT VGCore::IVGApplication::MarkupLogout ( ) {
+    HRESULT _hr = raw_MarkupLogout();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1844)
+inline HRESULT VGCore::IVGApplication::MarkupLogin ( struct IVGCommentAuthor * Author ) {
+    HRESULT _hr = raw_MarkupLogin(Author);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1845)
+inline VGCore::IVGCommentAuthorPtr VGCore::IVGApplication::CreateMarkupAuthor ( _bstr_t Name, _bstr_t Avatar, _bstr_t Email, enum cdrAuthorAuthentication Authentication ) {
+    struct IVGCommentAuthor * _result = 0;
+    HRESULT _hr = raw_CreateMarkupAuthor(Name, Avatar, Email, Authentication, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentAuthorPtr(_result, false);
+}
+
+//
+// interface IVGDocuments wrapper method implementations
+//
+
+#pragma implementation_key(1846)
+inline VGCore::IVGApplicationPtr VGCore::IVGDocuments::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1847)
+inline VGCore::IVGApplicationPtr VGCore::IVGDocuments::GetParent ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1848)
+inline VGCore::IVGDocumentPtr VGCore::IVGDocuments::GetItem ( long Index ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1849)
+inline IUnknownPtr VGCore::IVGDocuments::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1850)
+inline long VGCore::IVGDocuments::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGOutlineStyles wrapper method implementations
+//
+
+#pragma implementation_key(1851)
+inline VGCore::IVGApplicationPtr VGCore::IVGOutlineStyles::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1852)
+inline VGCore::IVGApplicationPtr VGCore::IVGOutlineStyles::GetParent ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1853)
+inline VGCore::IVGOutlineStylePtr VGCore::IVGOutlineStyles::GetItem ( long Index ) {
+    struct IVGOutlineStyle * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlineStylePtr(_result, false);
+}
+
+#pragma implementation_key(1854)
+inline IUnknownPtr VGCore::IVGOutlineStyles::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1855)
+inline long VGCore::IVGOutlineStyles::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1856)
+inline VGCore::IVGOutlineStylePtr VGCore::IVGOutlineStyles::Add ( ) {
+    struct IVGOutlineStyle * _result = 0;
+    HRESULT _hr = raw_Add(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlineStylePtr(_result, false);
+}
+
+#pragma implementation_key(1857)
+inline HRESULT VGCore::IVGOutlineStyles::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1858)
+inline HRESULT VGCore::IVGOutlineStyles::Save ( ) {
+    HRESULT _hr = raw_Save();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1859)
+inline VGCore::IVGOutlineStylePtr VGCore::IVGOutlineStyles::AddStyle ( struct IVGOutlineStyle * Style ) {
+    struct IVGOutlineStyle * _result = 0;
+    HRESULT _hr = raw_AddStyle(Style, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlineStylePtr(_result, false);
+}
+
+//
+// interface IVGRulers wrapper method implementations
+//
+
+#pragma implementation_key(1860)
+inline VGCore::IVGApplicationPtr VGCore::IVGRulers::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1861)
+inline VGCore::IVGDocumentPtr VGCore::IVGRulers::GetParent ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1862)
+inline enum VGCore::cdrUnit VGCore::IVGRulers::GetVUnits ( ) {
+    enum cdrUnit _result;
+    HRESULT _hr = get_VUnits(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1863)
+inline void VGCore::IVGRulers::PutVUnits ( enum cdrUnit pVal ) {
+    HRESULT _hr = put_VUnits(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1864)
+inline enum VGCore::cdrUnit VGCore::IVGRulers::GetHUnits ( ) {
+    enum cdrUnit _result;
+    HRESULT _hr = get_HUnits(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1865)
+inline void VGCore::IVGRulers::PutHUnits ( enum cdrUnit pVal ) {
+    HRESULT _hr = put_HUnits(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGGrid wrapper method implementations
+//
+
+#pragma implementation_key(1866)
+inline VGCore::IVGApplicationPtr VGCore::IVGGrid::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1867)
+inline VGCore::IVGDocumentPtr VGCore::IVGGrid::GetParent ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1868)
+inline VARIANT_BOOL VGCore::IVGGrid::GetVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Visible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1869)
+inline void VGCore::IVGGrid::PutVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Visible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1870)
+inline enum VGCore::cdrGridType VGCore::IVGGrid::GetType ( ) {
+    enum cdrGridType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1871)
+inline void VGCore::IVGGrid::PutType ( enum cdrGridType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1872)
+inline VARIANT_BOOL VGCore::IVGGrid::GetSnap ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Snap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1873)
+inline void VGCore::IVGGrid::PutSnap ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Snap(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1874)
+inline HRESULT VGCore::IVGGrid::SetFrequency ( double GridX, double GridY ) {
+    HRESULT _hr = raw_SetFrequency(GridX, GridY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1875)
+inline double VGCore::IVGGrid::GetSpacingX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SpacingX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1876)
+inline void VGCore::IVGGrid::PutSpacingX ( double pVal ) {
+    HRESULT _hr = put_SpacingX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1877)
+inline double VGCore::IVGGrid::GetSpacingY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SpacingY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1878)
+inline void VGCore::IVGGrid::PutSpacingY ( double pVal ) {
+    HRESULT _hr = put_SpacingY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGAppPlugin wrapper method implementations
+//
+
+#pragma implementation_key(1879)
+inline HRESULT VGCore::IVGAppPlugin::OnLoad ( struct IVGApplication * Application ) {
+    HRESULT _hr = raw_OnLoad(Application);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1880)
+inline HRESULT VGCore::IVGAppPlugin::StartSession ( ) {
+    HRESULT _hr = raw_StartSession();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1881)
+inline HRESULT VGCore::IVGAppPlugin::StopSession ( ) {
+    HRESULT _hr = raw_StopSession();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1882)
+inline HRESULT VGCore::IVGAppPlugin::OnUnload ( ) {
+    HRESULT _hr = raw_OnUnload();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGPage wrapper method implementations
+//
+
+#pragma implementation_key(1883)
+inline _bstr_t VGCore::IVGPage::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1884)
+inline void VGCore::IVGPage::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1885)
+inline VGCore::IVGApplicationPtr VGCore::IVGPage::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1886)
+inline VGCore::IVGPagesPtr VGCore::IVGPage::GetParent ( ) {
+    struct IVGPages * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagesPtr(_result, false);
+}
+
+#pragma implementation_key(1887)
+inline VGCore::IVGLayersPtr VGCore::IVGPage::GetLayers ( ) {
+    struct IVGLayers * _result = 0;
+    HRESULT _hr = get_Layers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayersPtr(_result, false);
+}
+
+#pragma implementation_key(1888)
+inline VGCore::IVGShapesPtr VGCore::IVGPage::GetShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_Shapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(1889)
+inline VGCore::IVGLayerPtr VGCore::IVGPage::GetActiveLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_ActiveLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1890)
+inline _bstr_t VGCore::IVGPage::GetPaper ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Paper(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1891)
+inline double VGCore::IVGPage::GetSizeWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1892)
+inline void VGCore::IVGPage::PutSizeWidth ( double pVal ) {
+    HRESULT _hr = put_SizeWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1893)
+inline double VGCore::IVGPage::GetSizeHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1894)
+inline void VGCore::IVGPage::PutSizeHeight ( double pVal ) {
+    HRESULT _hr = put_SizeHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1895)
+inline long VGCore::IVGPage::GetResolution ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Resolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1896)
+inline void VGCore::IVGPage::PutResolution ( long pVal ) {
+    HRESULT _hr = put_Resolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1897)
+inline double VGCore::IVGPage::GetBleed ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Bleed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1898)
+inline void VGCore::IVGPage::PutBleed ( double pVal ) {
+    HRESULT _hr = put_Bleed(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1899)
+inline enum VGCore::cdrPageOrientation VGCore::IVGPage::GetOrientation ( ) {
+    enum cdrPageOrientation _result;
+    HRESULT _hr = get_Orientation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1900)
+inline void VGCore::IVGPage::PutOrientation ( enum cdrPageOrientation pVal ) {
+    HRESULT _hr = put_Orientation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1901)
+inline long VGCore::IVGPage::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1902)
+inline HRESULT VGCore::IVGPage::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1903)
+inline HRESULT VGCore::IVGPage::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1904)
+inline VGCore::IVGLayerPtr VGCore::IVGPage::CreateLayer ( _bstr_t LayerName ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = raw_CreateLayer(LayerName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1905)
+inline VGCore::IVGShapePtr VGCore::IVGPage::TextFind ( _bstr_t Text, VARIANT_BOOL CaseSensitive ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_TextFind(Text, CaseSensitive, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1906)
+inline HRESULT VGCore::IVGPage::TextReplace ( _bstr_t OldText, _bstr_t NewText, VARIANT_BOOL CaseSensitive, VARIANT_BOOL ReplaceSelectedOnly ) {
+    HRESULT _hr = raw_TextReplace(OldText, NewText, CaseSensitive, ReplaceSelectedOnly);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1907)
+inline VGCore::IVGShapePtr VGCore::IVGPage::SelectShapesAtPoint ( double x, double y, VARIANT_BOOL SelectUnfilled, double HotArea ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_SelectShapesAtPoint(x, y, SelectUnfilled, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1908)
+inline VGCore::IVGShapePtr VGCore::IVGPage::SelectShapesFromRectangle ( double x1, double y1, double x2, double y2, VARIANT_BOOL Touch ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_SelectShapesFromRectangle(x1, y1, x2, y2, Touch, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1909)
+inline enum VGCore::cdrPageBackground VGCore::IVGPage::GetBackground ( ) {
+    enum cdrPageBackground _result;
+    HRESULT _hr = get_Background(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1910)
+inline void VGCore::IVGPage::PutBackground ( enum cdrPageBackground pVal ) {
+    HRESULT _hr = put_Background(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1911)
+inline VGCore::IVGColorPtr VGCore::IVGPage::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1912)
+inline void VGCore::IVGPage::PutColor ( struct IVGColor * pVal ) {
+    HRESULT _hr = put_Color(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1913)
+inline VARIANT_BOOL VGCore::IVGPage::GetPrintExportBackground ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PrintExportBackground(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1914)
+inline void VGCore::IVGPage::PutPrintExportBackground ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PrintExportBackground(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1915)
+inline VGCore::IVGShapeRangePtr VGCore::IVGPage::GetGuides ( enum cdrGuideType Type ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = get_Guides(Type, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1916)
+inline VGCore::IVGShapePtr VGCore::IVGPage::FindShape ( _bstr_t Name, enum cdrShapeType Type, long StaticID, VARIANT_BOOL Recursive ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_FindShape(Name, Type, StaticID, Recursive, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1917)
+inline VGCore::IVGShapeRangePtr VGCore::IVGPage::FindShapes ( _bstr_t Name, enum cdrShapeType Type, VARIANT_BOOL Recursive ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_FindShapes(Name, Type, Recursive, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(1918)
+inline HRESULT VGCore::IVGPage::MoveTo ( long Index ) {
+    HRESULT _hr = raw_MoveTo(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1919)
+inline HRESULT VGCore::IVGPage::UnlockAllShapes ( ) {
+    HRESULT _hr = raw_UnlockAllShapes();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1920)
+inline VGCore::IVGPropertiesPtr VGCore::IVGPage::GetProperties ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = get_Properties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(1921)
+inline HRESULT VGCore::IVGPage::GetSize ( double * Width, double * Height ) {
+    HRESULT _hr = raw_GetSize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1922)
+inline HRESULT VGCore::IVGPage::SetSize ( double Width, double Height ) {
+    HRESULT _hr = raw_SetSize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1923)
+inline double VGCore::IVGPage::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1924)
+inline double VGCore::IVGPage::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1925)
+inline _variant_t VGCore::IVGPage::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_CustomCommand(ComponentID, CommandID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(1926)
+inline VGCore::IVGPagePtr VGCore::IVGPage::GetPrevious ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1927)
+inline VGCore::IVGPagePtr VGCore::IVGPage::GetNext ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1928)
+inline VGCore::IVGShapesPtr VGCore::IVGPage::GetSelectableShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_SelectableShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(1929)
+inline VGCore::IVGTreeNodePtr VGCore::IVGPage::GetTreeNode ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_TreeNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(1930)
+inline HRESULT VGCore::IVGPage::GetCenterPosition ( double * CenterX, double * CenterY ) {
+    HRESULT _hr = raw_GetCenterPosition(CenterX, CenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1931)
+inline HRESULT VGCore::IVGPage::SelectSize ( _bstr_t PageSizeName, VARIANT_BOOL Landscape ) {
+    HRESULT _hr = raw_SelectSize(PageSizeName, Landscape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1932)
+inline VGCore::IVGLayerPtr VGCore::IVGPage::GetGuidesLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_GuidesLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1933)
+inline VGCore::IVGLayerPtr VGCore::IVGPage::GetDesktopLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_DesktopLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1934)
+inline VGCore::IVGLayerPtr VGCore::IVGPage::GetGridLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_GridLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1935)
+inline HRESULT VGCore::IVGPage::GetBoundingBox ( double * x, double * y, double * Width, double * Height ) {
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1936)
+inline double VGCore::IVGPage::GetLeftX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LeftX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1937)
+inline double VGCore::IVGPage::GetRightX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RightX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1938)
+inline double VGCore::IVGPage::GetBottomY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BottomY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1939)
+inline double VGCore::IVGPage::GetTopY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TopY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1940)
+inline VGCore::IVGLayersPtr VGCore::IVGPage::GetAllLayers ( ) {
+    struct IVGLayers * _result = 0;
+    HRESULT _hr = get_AllLayers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayersPtr(_result, false);
+}
+
+#pragma implementation_key(1941)
+inline VGCore::IVGRectPtr VGCore::IVGPage::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(1942)
+inline VGCore::IVGSpreadPtr VGCore::IVGPage::GetSpread ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_Spread(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(1943)
+inline VGCore::IVGSnapPointPtr VGCore::IVGPage::FindClosestSnapPoint ( enum cdrPointType TypeSet, double PositionX, double PositionY, double HotArea ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_FindClosestSnapPoint(TypeSet, PositionX, PositionY, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(1944)
+inline VGCore::IVGRectPtr VGCore::IVGPage::GetObjectsBoundingBox ( VARIANT_BOOL SelectedOnly, VARIANT_BOOL IncludeNonPrintable ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = raw_GetObjectsBoundingBox(SelectedOnly, IncludeNonPrintable, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(1945)
+inline VGCore::IVGShapePtr VGCore::IVGPage::FindShapeAtPoint ( double x, double y, VARIANT_BOOL TreatAsFilled ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_FindShapeAtPoint(x, y, TreatAsFilled, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1946)
+inline VGCore::IVGPageMarkupPtr VGCore::IVGPage::GetMarkup ( ) {
+    struct IVGPageMarkup * _result = 0;
+    HRESULT _hr = get_Markup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPageMarkupPtr(_result, false);
+}
+
+//
+// interface IVGPages wrapper method implementations
+//
+
+#pragma implementation_key(1947)
+inline VGCore::IVGApplicationPtr VGCore::IVGPages::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1948)
+inline VGCore::IVGDocumentPtr VGCore::IVGPages::GetParent ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(1949)
+inline VGCore::IVGPagePtr VGCore::IVGPages::GetItem ( long Index ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1950)
+inline IUnknownPtr VGCore::IVGPages::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1951)
+inline long VGCore::IVGPages::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1952)
+inline VGCore::IVGPagePtr VGCore::IVGPages::GetFirst ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1953)
+inline VGCore::IVGPagePtr VGCore::IVGPages::GetLast ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+//
+// interface IVGLayers wrapper method implementations
+//
+
+#pragma implementation_key(1954)
+inline VGCore::IVGApplicationPtr VGCore::IVGLayers::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1955)
+inline VGCore::IVGPagePtr VGCore::IVGLayers::GetParent ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(1956)
+inline VGCore::IVGLayerPtr VGCore::IVGLayers::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1957)
+inline IUnknownPtr VGCore::IVGLayers::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(1958)
+inline long VGCore::IVGLayers::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1959)
+inline VGCore::IVGLayerPtr VGCore::IVGLayers::Find ( _bstr_t LayerName ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = raw_Find(LayerName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1960)
+inline VGCore::IVGLayerPtr VGCore::IVGLayers::GetTop ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(1961)
+inline VGCore::IVGLayerPtr VGCore::IVGLayers::GetBottom ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_Bottom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+//
+// interface IVGLayer wrapper method implementations
+//
+
+#pragma implementation_key(1962)
+inline VGCore::IVGApplicationPtr VGCore::IVGLayer::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(1963)
+inline VGCore::IVGLayersPtr VGCore::IVGLayer::GetParent ( ) {
+    struct IVGLayers * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayersPtr(_result, false);
+}
+
+#pragma implementation_key(1964)
+inline _bstr_t VGCore::IVGLayer::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(1965)
+inline void VGCore::IVGLayer::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1966)
+inline VGCore::IVGShapesPtr VGCore::IVGLayer::GetShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_Shapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(1967)
+inline HRESULT VGCore::IVGLayer::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1968)
+inline VARIANT_BOOL VGCore::IVGLayer::GetVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Visible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1969)
+inline void VGCore::IVGLayer::PutVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Visible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1970)
+inline VARIANT_BOOL VGCore::IVGLayer::GetPrintable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Printable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1971)
+inline void VGCore::IVGLayer::PutPrintable ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Printable(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1972)
+inline VARIANT_BOOL VGCore::IVGLayer::GetEditable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Editable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1973)
+inline void VGCore::IVGLayer::PutEditable ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Editable(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1974)
+inline VARIANT_BOOL VGCore::IVGLayer::GetMaster ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Master(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1975)
+inline void VGCore::IVGLayer::PutMaster ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Master(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1976)
+inline VARIANT_BOOL VGCore::IVGLayer::GetOverrideColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OverrideColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(1977)
+inline void VGCore::IVGLayer::PutOverrideColor ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OverrideColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1978)
+inline VGCore::IVGColorPtr VGCore::IVGLayer::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(1979)
+inline void VGCore::IVGLayer::PutColor ( struct IVGColor * pVal ) {
+    HRESULT _hr = put_Color(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(1980)
+inline HRESULT VGCore::IVGLayer::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1981)
+inline HRESULT VGCore::IVGLayer::MoveAbove ( struct IVGLayer * Layer ) {
+    HRESULT _hr = raw_MoveAbove(Layer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1982)
+inline HRESULT VGCore::IVGLayer::MoveBelow ( struct IVGLayer * Layer ) {
+    HRESULT _hr = raw_MoveBelow(Layer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1983)
+inline HRESULT VGCore::IVGLayer::Import ( _bstr_t FileName, enum cdrFilter Filter, struct IVGStructImportOptions * Options ) {
+    HRESULT _hr = raw_Import(FileName, Filter, Options);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(1984)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateRectangle ( double Left, double Top, double Right, double Bottom, long CornerUL, long CornerUR, long CornerLR, long CornerLL ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateRectangle(Left, Top, Right, Bottom, CornerUL, CornerUR, CornerLR, CornerLL, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1985)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateEllipse ( double Left, double Top, double Right, double Bottom, double StartAngle, double EndAngle, VARIANT_BOOL Pie ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateEllipse(Left, Top, Right, Bottom, StartAngle, EndAngle, Pie, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1986)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreatePolygon ( double Left, double Top, double Right, double Bottom, long Sides, long SubPaths, long Complexity, VARIANT_BOOL Star, long StarComplexity, long MaxComplexity ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreatePolygon(Left, Top, Right, Bottom, Sides, SubPaths, Complexity, Star, StarComplexity, MaxComplexity, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1987)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateGridBoxes ( double Left, double Top, double Right, double Bottom, long Wide, long High ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateGridBoxes(Left, Top, Right, Bottom, Wide, High, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1988)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateSpiral ( double Left, double Top, double Right, double Bottom, long NumRevolutions, enum cdrSpiralType SpiralType, long GrowthRate ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateSpiral(Left, Top, Right, Bottom, NumRevolutions, SpiralType, GrowthRate, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1989)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateArtisticText ( double Left, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateArtisticText(Left, Bottom, Text, LanguageID, CharSet, Font, Size, Bold, Italic, Underline, Alignment, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1990)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateParagraphText ( double Left, double Top, double Right, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateParagraphText(Left, Top, Right, Bottom, Text, LanguageID, CharSet, Font, Size, Bold, Italic, Underline, Alignment, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1991)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateCurveSegment ( double StartX, double StartY, double EndX, double EndY, double StartingControlPointLength, double StartingControlPointAngle, double EndingControlPointLength, double EndingControlPointAngle ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateCurveSegment(StartX, StartY, EndX, EndY, StartingControlPointLength, StartingControlPointAngle, EndingControlPointLength, EndingControlPointAngle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1992)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateLineSegment ( double StartX, double StartY, double EndX, double EndY ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateLineSegment(StartX, StartY, EndX, EndY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1993)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateConnector ( struct IVGSnapPoint * Start, struct IVGSnapPoint * End ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateConnector(Start, End, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1994)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateCurve ( struct IVGCurve * Source ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateCurve(Source, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1995)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::Paste ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Paste(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1996)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateGuideAngle ( double x, double y, double Angle ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateGuideAngle(x, y, Angle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1997)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateGuide ( double x1, double y1, double x2, double y2 ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateGuide(x1, y1, x2, y2, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1998)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateEllipse2 ( double CenterX, double CenterY, double Radius1, double Radius2, double StartAngle, double EndAngle, VARIANT_BOOL Pie ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateEllipse2(CenterX, CenterY, Radius1, Radius2, StartAngle, EndAngle, Pie, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(1999)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::FindShape ( _bstr_t Name, enum cdrShapeType Type, long StaticID, VARIANT_BOOL Recursive ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_FindShape(Name, Type, StaticID, Recursive, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2000)
+inline VGCore::IVGShapeRangePtr VGCore::IVGLayer::FindShapes ( _bstr_t Name, enum cdrShapeType Type, VARIANT_BOOL Recursive ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_FindShapes(Name, Type, Recursive, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2001)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateRectangle2 ( double x, double y, double Width, double Height, double RadiusUL, double RadiusUR, double RadiusLR, double RadiusLL ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateRectangle2(x, y, Width, Height, RadiusUL, RadiusUR, RadiusLR, RadiusLL, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2002)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateFreeConnector ( double x1, double y1, double x2, double y2 ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateFreeConnector(x1, y1, x2, y2, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2003)
+inline VGCore::IVGPropertiesPtr VGCore::IVGLayer::GetProperties ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = get_Properties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(2004)
+inline VGCore::IVGPropertiesPtr VGCore::IVGLayer::GetMasterProperties ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = get_MasterProperties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(2005)
+inline long VGCore::IVGLayer::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2006)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateCurveSegment2 ( double x1, double y1, double StartingControlPointX, double StartingControlPointY, double EndingControlPointX, double EndingControlPointY, double x2, double y2 ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateCurveSegment2(x1, y1, StartingControlPointX, StartingControlPointY, EndingControlPointX, EndingControlPointY, x2, y2, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2007)
+inline VGCore::ICorelImportFilterPtr VGCore::IVGLayer::ImportEx ( _bstr_t FileName, enum cdrFilter Filter, struct IVGStructImportOptions * Options ) {
+    struct ICorelImportFilter * _result = 0;
+    HRESULT _hr = raw_ImportEx(FileName, Filter, Options, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICorelImportFilterPtr(_result, false);
+}
+
+#pragma implementation_key(2008)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateArtisticTextWide ( double Left, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateArtisticTextWide(Left, Bottom, Text, LanguageID, CharSet, Font, Size, Bold, Italic, Underline, Alignment, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2009)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateParagraphTextWide ( double Left, double Top, double Right, double Bottom, _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font, float Size, enum cdrTriState Bold, enum cdrTriState Italic, enum cdrFontLine Underline, enum cdrAlignment Alignment ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateParagraphTextWide(Left, Top, Right, Bottom, Text, LanguageID, CharSet, Font, Size, Bold, Italic, Underline, Alignment, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2010)
+inline _variant_t VGCore::IVGLayer::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_CustomCommand(ComponentID, CommandID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(2011)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateCustomShape ( _bstr_t TypeID, SAFEARRAY * * Parameters ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateCustomShape(TypeID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2012)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateLinearDimension ( enum cdrLinearDimensionType Type, struct IVGSnapPoint * Point1, struct IVGSnapPoint * Point2, VARIANT_BOOL TextCentered, double TextX, double TextY, enum cdrDimensionStyle Style, long Precision, VARIANT_BOOL ShowUnits, enum cdrDimensionLinearUnits Units, enum cdrDimensionPlacement Placement, VARIANT_BOOL HorizontalText, VARIANT_BOOL BoxedText, VARIANT_BOOL LeadingZero, _bstr_t Prefix, _bstr_t Suffix, double OutlineWidth, struct IVGArrowHead * Arrows, struct IVGColor * OutlineColor, _bstr_t TextFont, double TextSize, struct IVGColor * TextColor ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateLinearDimension(Type, Point1, Point2, TextCentered, TextX, TextY, Style, Precision, ShowUnits, Units, Placement, HorizontalText, BoxedText, LeadingZero, Prefix, Suffix, OutlineWidth, Arrows, OutlineColor, TextFont, TextSize, TextColor, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2013)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateAngularDimension ( struct IVGSnapPoint * Center, struct IVGSnapPoint * Point1, struct IVGSnapPoint * Point2, double TextX, double TextY, long Precision, VARIANT_BOOL ShowUnits, enum cdrDimensionAngularUnits Units, VARIANT_BOOL BoxedText, VARIANT_BOOL LeadingZero, _bstr_t Prefix, _bstr_t Suffix, double OutlineWidth, struct IVGArrowHead * Arrows, struct IVGColor * OutlineColor, _bstr_t TextFont, double TextSize, struct IVGColor * TextColor ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateAngularDimension(Center, Point1, Point2, TextX, TextY, Precision, ShowUnits, Units, BoxedText, LeadingZero, Prefix, Suffix, OutlineWidth, Arrows, OutlineColor, TextFont, TextSize, TextColor, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2014)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateSymbol ( double x, double y, _bstr_t SymbolName, struct IVGSymbolLibrary * Library ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateSymbol(x, y, SymbolName, Library, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2015)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreatePolygon2 ( double CenterX, double CenterY, double Radius, long Sides, double Angle, double InnerRadius, VARIANT_BOOL Star, long Sharpness ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreatePolygon2(CenterX, CenterY, Radius, Sides, Angle, InnerRadius, Star, Sharpness, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2016)
+inline VARIANT_BOOL VGCore::IVGLayer::PasteSpecial ( _bstr_t FormatName, VARIANT_BOOL PasteLink, VARIANT_BOOL DisplayAsIcon, _bstr_t Caption, const _variant_t & Icon ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_PasteSpecial(FormatName, PasteLink, DisplayAsIcon, Caption, Icon, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2017)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateOLEObject ( _bstr_t ObjectID, VARIANT_BOOL DisplayAsIcon, _bstr_t Caption, const _variant_t & Icon ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateOLEObject(ObjectID, DisplayAsIcon, Caption, Icon, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2018)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateOLEObjectFromFile ( _bstr_t FileName, VARIANT_BOOL Link, VARIANT_BOOL DisplayAsIcon, _bstr_t Caption, const _variant_t & Icon ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateOLEObjectFromFile(FileName, Link, DisplayAsIcon, Caption, Icon, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2019)
+inline VGCore::IVGShapesPtr VGCore::IVGLayer::GetSelectableShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_SelectableShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(2020)
+inline VGCore::IVGTreeNodePtr VGCore::IVGLayer::GetTreeNode ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_TreeNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(2021)
+inline VARIANT_BOOL VGCore::IVGLayer::GetIsGuidesLayer ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsGuidesLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2022)
+inline VARIANT_BOOL VGCore::IVGLayer::GetIsDesktopLayer ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDesktopLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2023)
+inline VARIANT_BOOL VGCore::IVGLayer::GetIsGridLayer ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsGridLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2024)
+inline VARIANT_BOOL VGCore::IVGLayer::GetIsSpecialLayer ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSpecialLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2025)
+inline VGCore::IVGLayerPtr VGCore::IVGLayer::GetMasterLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_MasterLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(2026)
+inline long VGCore::IVGLayer::GetAbsoluteIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_AbsoluteIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2027)
+inline VGCore::IVGPagePtr VGCore::IVGLayer::GetPage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Page(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(2028)
+inline VGCore::IVGLayerPtr VGCore::IVGLayer::GetAbove ( VARIANT_BOOL IgnoreMasters ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_Above(IgnoreMasters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(2029)
+inline VGCore::IVGLayerPtr VGCore::IVGLayer::GetBelow ( VARIANT_BOOL IgnoreMasters ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_Below(IgnoreMasters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(2030)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateRectangleRect ( struct IVGRect * Rect, double RadiusUL, double RadiusUR, double RadiusLR, double RadiusLL ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateRectangleRect(Rect, RadiusUL, RadiusUR, RadiusLR, RadiusLL, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2031)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateEllipseRect ( struct IVGRect * Rect, double StartAngle, double EndAngle, VARIANT_BOOL Pie ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateEllipseRect(Rect, StartAngle, EndAngle, Pie, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2032)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateConnectorEx ( enum cdrConnectorType Type, struct IVGSnapPoint * Start, struct IVGSnapPoint * End ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateConnectorEx(Type, Start, End, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2033)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateRightAngleConnector ( struct IVGSnapPoint * Start, struct IVGSnapPoint * End, double CornerRadius ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateRightAngleConnector(Start, End, CornerRadius, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2034)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateBSpline ( struct IVGBSpline * Source ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateBSpline(Source, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2035)
+inline VGCore::IVGShapeRangePtr VGCore::IVGLayer::PasteEx ( struct IVGStructPasteOptions * Options ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_PasteEx(Options, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2036)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateToolShape ( _bstr_t ToolShapeGuid, struct IVGProperties * ShapeProperties ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateToolShape(ToolShapeGuid, ShapeProperties, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2037)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateBitmap ( double Left, double Top, double Right, double Bottom, struct IVGImage * Image, struct IVGImage * ImageAlpha ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateBitmap(Left, Top, Right, Bottom, Image, ImageAlpha, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2038)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateBitmap2 ( double x, double y, double Width, double Height, struct IVGImage * Image, struct IVGImage * ImageAlpha ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateBitmap2(x, y, Width, Height, Image, ImageAlpha, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2039)
+inline VGCore::IVGShapePtr VGCore::IVGLayer::CreateBitmapRect ( struct IVGRect * Rect, struct IVGImage * Image, struct IVGImage * ImageAlpha ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateBitmapRect(Rect, Image, ImageAlpha, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+//
+// interface IVGShapes wrapper method implementations
+//
+
+#pragma implementation_key(2040)
+inline VGCore::IVGApplicationPtr VGCore::IVGShapes::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2041)
+inline IDispatchPtr VGCore::IVGShapes::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(2042)
+inline VGCore::IVGShapePtr VGCore::IVGShapes::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2043)
+inline IUnknownPtr VGCore::IVGShapes::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2044)
+inline long VGCore::IVGShapes::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2045)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapes::Range ( SAFEARRAY * * IndexArray ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Range(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2046)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapes::All ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2047)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapes::AllExcluding ( SAFEARRAY * * IndexArray ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_AllExcluding(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2048)
+inline VGCore::IVGShapePtr VGCore::IVGShapes::FindShape ( _bstr_t Name, enum cdrShapeType Type, long StaticID, VARIANT_BOOL Recursive, _bstr_t Query ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_FindShape(Name, Type, StaticID, Recursive, Query, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2049)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapes::FindShapes ( _bstr_t Name, enum cdrShapeType Type, VARIANT_BOOL Recursive, _bstr_t Query ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_FindShapes(Name, Type, Recursive, Query, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2050)
+inline VGCore::IVGShapePtr VGCore::IVGShapes::GetFirst ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2051)
+inline VGCore::IVGShapePtr VGCore::IVGShapes::GetLast ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+//
+// interface IVGShape wrapper method implementations
+//
+
+#pragma implementation_key(2052)
+inline VGCore::IVGApplicationPtr VGCore::IVGShape::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2053)
+inline IDispatchPtr VGCore::IVGShape::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(2054)
+inline long VGCore::IVGShape::GetStaticID ( ) {
+    long _result = 0;
+    HRESULT _hr = get_StaticID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2055)
+inline HRESULT VGCore::IVGShape::ConvertToCurves ( ) {
+    HRESULT _hr = raw_ConvertToCurves();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2056)
+inline _bstr_t VGCore::IVGShape::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2057)
+inline void VGCore::IVGShape::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2058)
+inline VGCore::IVGShapesPtr VGCore::IVGShape::GetShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_Shapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(2059)
+inline VGCore::IVGRectanglePtr VGCore::IVGShape::GetRectangle ( ) {
+    struct IVGRectangle * _result = 0;
+    HRESULT _hr = get_Rectangle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectanglePtr(_result, false);
+}
+
+#pragma implementation_key(2060)
+inline double VGCore::IVGShape::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2061)
+inline void VGCore::IVGShape::PutPositionX ( double pVal ) {
+    HRESULT _hr = put_PositionX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2062)
+inline double VGCore::IVGShape::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2063)
+inline void VGCore::IVGShape::PutPositionY ( double pVal ) {
+    HRESULT _hr = put_PositionY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2064)
+inline double VGCore::IVGShape::GetSizeWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2065)
+inline void VGCore::IVGShape::PutSizeWidth ( double pVal ) {
+    HRESULT _hr = put_SizeWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2066)
+inline double VGCore::IVGShape::GetSizeHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2067)
+inline void VGCore::IVGShape::PutSizeHeight ( double pVal ) {
+    HRESULT _hr = put_SizeHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2068)
+inline VGCore::IVGEllipsePtr VGCore::IVGShape::GetEllipse ( ) {
+    struct IVGEllipse * _result = 0;
+    HRESULT _hr = get_Ellipse(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEllipsePtr(_result, false);
+}
+
+#pragma implementation_key(2069)
+inline VGCore::IVGPolygonPtr VGCore::IVGShape::GetPolygon ( ) {
+    struct IVGPolygon * _result = 0;
+    HRESULT _hr = get_Polygon(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPolygonPtr(_result, false);
+}
+
+#pragma implementation_key(2070)
+inline VGCore::IVGCurvePtr VGCore::IVGShape::GetCurve ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Curve(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2071)
+inline VGCore::IVGBitmapPtr VGCore::IVGShape::GetBitmap ( ) {
+    struct IVGBitmap * _result = 0;
+    HRESULT _hr = get_Bitmap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBitmapPtr(_result, false);
+}
+
+#pragma implementation_key(2072)
+inline enum VGCore::cdrShapeType VGCore::IVGShape::GetType ( ) {
+    enum cdrShapeType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2073)
+inline VGCore::IVGOutlinePtr VGCore::IVGShape::GetOutline ( ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = get_Outline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(2074)
+inline VGCore::IVGFillPtr VGCore::IVGShape::GetFill ( ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = get_Fill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(2075)
+inline VGCore::IVGTextPtr VGCore::IVGShape::GetText ( ) {
+    struct IVGText * _result = 0;
+    HRESULT _hr = get_Text(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextPtr(_result, false);
+}
+
+#pragma implementation_key(2076)
+inline HRESULT VGCore::IVGShape::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2077)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Duplicate ( double OffsetX, double OffsetY ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Duplicate(OffsetX, OffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2078)
+inline HRESULT VGCore::IVGShape::Skew ( double AngleX, double AngleY ) {
+    HRESULT _hr = raw_Skew(AngleX, AngleY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2079)
+inline HRESULT VGCore::IVGShape::Move ( double DeltaX, double DeltaY ) {
+    HRESULT _hr = raw_Move(DeltaX, DeltaY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2080)
+inline double VGCore::IVGShape::GetRotationAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2081)
+inline void VGCore::IVGShape::PutRotationAngle ( double pVal ) {
+    HRESULT _hr = put_RotationAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2082)
+inline double VGCore::IVGShape::GetRotationCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationCenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2083)
+inline void VGCore::IVGShape::PutRotationCenterX ( double pVal ) {
+    HRESULT _hr = put_RotationCenterX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2084)
+inline double VGCore::IVGShape::GetRotationCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationCenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2085)
+inline void VGCore::IVGShape::PutRotationCenterY ( double pVal ) {
+    HRESULT _hr = put_RotationCenterY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2086)
+inline HRESULT VGCore::IVGShape::Rotate ( double Angle ) {
+    HRESULT _hr = raw_Rotate(Angle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2087)
+inline VGCore::IVGShapePtr VGCore::IVGShape::ConvertToBitmap ( long BitDepth, VARIANT_BOOL Grayscale, VARIANT_BOOL Dithered, VARIANT_BOOL TransparentBG, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL MultiChannel, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_ConvertToBitmap(BitDepth, Grayscale, Dithered, TransparentBG, Resolution, AntiAliasing, UseColorProfile, MultiChannel, AlwaysOverprintBlack, OverprintBlackLimit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2088)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Group ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Group(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2089)
+inline HRESULT VGCore::IVGShape::Ungroup ( ) {
+    HRESULT _hr = raw_Ungroup();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2090)
+inline HRESULT VGCore::IVGShape::UngroupAll ( ) {
+    HRESULT _hr = raw_UngroupAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2091)
+inline HRESULT VGCore::IVGShape::OrderToFront ( ) {
+    HRESULT _hr = raw_OrderToFront();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2092)
+inline HRESULT VGCore::IVGShape::OrderToBack ( ) {
+    HRESULT _hr = raw_OrderToBack();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2093)
+inline HRESULT VGCore::IVGShape::OrderForwardOne ( ) {
+    HRESULT _hr = raw_OrderForwardOne();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2094)
+inline HRESULT VGCore::IVGShape::OrderBackOne ( ) {
+    HRESULT _hr = raw_OrderBackOne();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2095)
+inline HRESULT VGCore::IVGShape::OrderFrontOf ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_OrderFrontOf(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2096)
+inline HRESULT VGCore::IVGShape::OrderBackOf ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_OrderBackOf(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2097)
+inline VARIANT_BOOL VGCore::IVGShape::OrderIsInFrontOf ( struct IVGShape * Shape ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_OrderIsInFrontOf(Shape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2098)
+inline HRESULT VGCore::IVGShape::AddToSelection ( ) {
+    HRESULT _hr = raw_AddToSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2099)
+inline HRESULT VGCore::IVGShape::RemoveFromSelection ( ) {
+    HRESULT _hr = raw_RemoveFromSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2100)
+inline HRESULT VGCore::IVGShape::Separate ( ) {
+    HRESULT _hr = raw_Separate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2101)
+inline VGCore::IVGLayerPtr VGCore::IVGShape::GetLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_Layer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(2102)
+inline void VGCore::IVGShape::PutLayer ( struct IVGLayer * ppVal ) {
+    HRESULT _hr = put_Layer(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2103)
+inline VGCore::IVGSnapPointsPtr VGCore::IVGShape::GetSnapPoints ( ) {
+    struct IVGSnapPoints * _result = 0;
+    HRESULT _hr = get_SnapPoints(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointsPtr(_result, false);
+}
+
+#pragma implementation_key(2104)
+inline VGCore::IVGConnectorPtr VGCore::IVGShape::GetConnector ( ) {
+    struct IVGConnector * _result = 0;
+    HRESULT _hr = get_Connector(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGConnectorPtr(_result, false);
+}
+
+#pragma implementation_key(2105)
+inline enum VGCore::cdrPositionOfPointOverShape VGCore::IVGShape::IsOnShape ( double x, double y, double HotArea ) {
+    enum cdrPositionOfPointOverShape _result;
+    HRESULT _hr = raw_IsOnShape(x, y, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2106)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGShape::CreateArrowHead ( ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_CreateArrowHead(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(2107)
+inline HRESULT VGCore::IVGShape::Copy ( ) {
+    HRESULT _hr = raw_Copy();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2108)
+inline HRESULT VGCore::IVGShape::Cut ( ) {
+    HRESULT _hr = raw_Cut();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2109)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Clone ( double OffsetX, double OffsetY ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Clone(OffsetX, OffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2110)
+inline HRESULT VGCore::IVGShape::Stretch ( double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize ) {
+    HRESULT _hr = raw_Stretch(StretchX, StretchY, StretchCharactersSize);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2111)
+inline HRESULT VGCore::IVGShape::SetPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2112)
+inline HRESULT VGCore::IVGShape::SetSize ( double Width, double Height ) {
+    HRESULT _hr = raw_SetSize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2113)
+inline HRESULT VGCore::IVGShape::GetPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2114)
+inline HRESULT VGCore::IVGShape::GetSize ( double * Width, double * Height ) {
+    HRESULT _hr = raw_GetSize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2115)
+inline VGCore::IVGPropertiesPtr VGCore::IVGShape::GetProperties ( ) {
+    struct IVGProperties * _result = 0;
+    HRESULT _hr = get_Properties(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(2116)
+inline HRESULT VGCore::IVGShape::OrderReverse ( ) {
+    HRESULT _hr = raw_OrderReverse();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2117)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Combine ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Combine(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2118)
+inline HRESULT VGCore::IVGShape::BreakApart ( ) {
+    HRESULT _hr = raw_BreakApart();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2119)
+inline void VGCore::IVGShape::PutFill ( struct IVGFill * ppVal ) {
+    HRESULT _hr = put_Fill(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2120)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Weld ( struct IVGShape * TargetShape, VARIANT_BOOL LeaveSource, VARIANT_BOOL LeaveTarget ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Weld(TargetShape, LeaveSource, LeaveTarget, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2121)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Trim ( struct IVGShape * TargetShape, VARIANT_BOOL LeaveSource, VARIANT_BOOL LeaveTarget ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Trim(TargetShape, LeaveSource, LeaveTarget, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2122)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Intersect ( struct IVGShape * TargetShape, VARIANT_BOOL LeaveSource, VARIANT_BOOL LeaveTarget ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Intersect(TargetShape, LeaveSource, LeaveTarget, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2123)
+inline VGCore::IVGEffectsPtr VGCore::IVGShape::GetEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_Effects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(2124)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::GetEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Effect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2125)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateDropShadow ( enum cdrDropShadowType Type, long Opacity, long Feather, double OffsetX, double OffsetY, struct IVGColor * Color, enum cdrFeatherType FeatherType, enum cdrEdgeType FeatherEdge, double PerspectiveAngle, double PerspectiveStretch, long Fade, enum cdrMergeMode MergeMode ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateDropShadow(Type, Opacity, Feather, OffsetX, OffsetY, Color, FeatherType, FeatherEdge, PerspectiveAngle, PerspectiveStretch, Fade, MergeMode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2126)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateBlend ( struct IVGShape * Shape, int Steps, enum cdrFountainFillBlendType ColorBlendType, enum cdrBlendMode Mode, double Spacing, double Angle, VARIANT_BOOL Loop, struct IVGShape * Path, VARIANT_BOOL RotateShapes, long SpacingAccel, long ColorAccel, VARIANT_BOOL AccelSize ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateBlend(Shape, Steps, ColorBlendType, Mode, Spacing, Angle, Loop, Path, RotateShapes, SpacingAccel, ColorAccel, AccelSize, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2127)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateExtrude ( enum cdrExtrudeType Type, enum cdrExtrudeVPType VPType, double VPX, double VPY, double Depth, enum cdrExtrudeShading Shading, struct IVGColor * BaseColor, struct IVGColor * ShadingColor, double BevelDepth, double BevelAngle, struct IVGColor * BevelColor, VARIANT_BOOL BevelOnly ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateExtrude(Type, VPType, VPX, VPY, Depth, Shading, BaseColor, ShadingColor, BevelDepth, BevelAngle, BevelColor, BevelOnly, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2128)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateEnvelope ( long PresetIndex, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateEnvelope(PresetIndex, Mode, KeepLines, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2129)
+inline HRESULT VGCore::IVGShape::Flip ( enum cdrFlipAxes Axes ) {
+    HRESULT _hr = raw_Flip(Axes);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2130)
+inline VARIANT_BOOL VGCore::IVGShape::GetLocked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Locked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2131)
+inline void VGCore::IVGShape::PutLocked ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Locked(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2132)
+inline double VGCore::IVGShape::GetOriginalWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginalWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2133)
+inline double VGCore::IVGShape::GetOriginalHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginalHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2134)
+inline VARIANT_BOOL VGCore::IVGShape::GetSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Selected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2135)
+inline void VGCore::IVGShape::PutSelected ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Selected(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2136)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateLens ( enum cdrLensType Type, double RateOrMagnification, struct IVGColor * Color1, struct IVGColor * Color2, enum cdrFountainFillBlendType ColorMapPalette ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateLens(Type, RateOrMagnification, Color1, Color2, ColorMapPalette, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2137)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreatePerspective ( const _variant_t & HorizVanishPointX, const _variant_t & HorizVanishPointY, const _variant_t & VertVanishPointX, const _variant_t & VertVanishPointY ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreatePerspective(HorizVanishPointX, HorizVanishPointY, VertVanishPointX, VertVanishPointY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2138)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateContour ( enum cdrContourDirection Direction, double Offset, long Steps, enum cdrFountainFillBlendType BlendType, struct IVGColor * OutlineColor, struct IVGColor * FillColor, struct IVGColor * FillColor2, long SpacingAccel, long ColorAccel, enum cdrContourEndCapType EndCapType, enum cdrContourCornerType CornerType, double MiterLimit ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateContour(Direction, Offset, Steps, BlendType, OutlineColor, FillColor, FillColor2, SpacingAccel, ColorAccel, EndCapType, CornerType, MiterLimit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2139)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreatePushPullDistortion ( double OriginX, double OriginY, long Amplitude ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreatePushPullDistortion(OriginX, OriginY, Amplitude, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2140)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateZipperDistortion ( double OriginX, double OriginY, long Amplitude, long Frequency, VARIANT_BOOL Random, VARIANT_BOOL Smooth, VARIANT_BOOL Local ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateZipperDistortion(OriginX, OriginY, Amplitude, Frequency, Random, Smooth, Local, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2141)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateTwisterDistortion ( double OriginX, double OriginY, double Angle ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateTwisterDistortion(OriginX, OriginY, Angle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2142)
+inline VGCore::IVGGuidePtr VGCore::IVGShape::GetGuide ( ) {
+    struct IVGGuide * _result = 0;
+    HRESULT _hr = get_Guide(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGGuidePtr(_result, false);
+}
+
+#pragma implementation_key(2143)
+inline HRESULT VGCore::IVGShape::AddToPowerClip ( struct IVGShape * Shape, enum cdrTriState CenterInContainer ) {
+    HRESULT _hr = raw_AddToPowerClip(Shape, CenterInContainer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2144)
+inline HRESULT VGCore::IVGShape::RemoveFromContainer ( long Level ) {
+    HRESULT _hr = raw_RemoveFromContainer(Level);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2145)
+inline VGCore::IVGPowerClipPtr VGCore::IVGShape::GetPowerClip ( ) {
+    struct IVGPowerClip * _result = 0;
+    HRESULT _hr = get_PowerClip(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPowerClipPtr(_result, false);
+}
+
+#pragma implementation_key(2146)
+inline VGCore::IVGShapePtr VGCore::IVGShape::GetPowerClipParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_PowerClipParent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2147)
+inline VARIANT_BOOL VGCore::IVGShape::GetDrapeFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DrapeFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2148)
+inline void VGCore::IVGShape::PutDrapeFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DrapeFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2149)
+inline VARIANT_BOOL VGCore::IVGShape::GetOverprintFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OverprintFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2150)
+inline void VGCore::IVGShape::PutOverprintFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OverprintFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2151)
+inline VARIANT_BOOL VGCore::IVGShape::GetOverprintOutline ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OverprintOutline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2152)
+inline void VGCore::IVGShape::PutOverprintOutline ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OverprintOutline(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2153)
+inline VGCore::IVGURLPtr VGCore::IVGShape::GetURL ( ) {
+    struct IVGURL * _result = 0;
+    HRESULT _hr = get_URL(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGURLPtr(_result, false);
+}
+
+#pragma implementation_key(2154)
+inline VGCore::IVGDataItemsPtr VGCore::IVGShape::GetObjectData ( ) {
+    struct IVGDataItems * _result = 0;
+    HRESULT _hr = get_ObjectData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataItemsPtr(_result, false);
+}
+
+#pragma implementation_key(2155)
+inline VGCore::IVGCloneLinkPtr VGCore::IVGShape::GetCloneLink ( ) {
+    struct IVGCloneLink * _result = 0;
+    HRESULT _hr = get_CloneLink(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCloneLinkPtr(_result, false);
+}
+
+#pragma implementation_key(2156)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::GetClones ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = get_Clones(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2157)
+inline double VGCore::IVGShape::GetAbsoluteHScale ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AbsoluteHScale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2158)
+inline double VGCore::IVGShape::GetAbsoluteVScale ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AbsoluteVScale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2159)
+inline double VGCore::IVGShape::GetAbsoluteSkew ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AbsoluteSkew(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2160)
+inline VGCore::IVGTransparencyPtr VGCore::IVGShape::GetTransparency ( ) {
+    struct IVGTransparency * _result = 0;
+    HRESULT _hr = get_Transparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransparencyPtr(_result, false);
+}
+
+#pragma implementation_key(2161)
+inline HRESULT VGCore::IVGShape::GetMatrix ( double * d11, double * d12, double * d21, double * d22, double * tx, double * ty ) {
+    HRESULT _hr = raw_GetMatrix(d11, d12, d21, d22, tx, ty);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2162)
+inline HRESULT VGCore::IVGShape::SetMatrix ( double d11, double d12, double d21, double d22, double tx, double ty ) {
+    HRESULT _hr = raw_SetMatrix(d11, d12, d21, d22, tx, ty);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2163)
+inline VGCore::IVGShapePtr VGCore::IVGShape::ConvertToBitmapEx ( enum cdrImageType Mode, VARIANT_BOOL Dithered, VARIANT_BOOL Transparent, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_ConvertToBitmapEx(Mode, Dithered, Transparent, Resolution, AntiAliasing, UseColorProfile, AlwaysOverprintBlack, OverprintBlackLimit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2164)
+inline HRESULT VGCore::IVGShape::SkewEx ( double AngleX, double AngleY, double CenterX, double CenterY ) {
+    HRESULT _hr = raw_SkewEx(AngleX, AngleY, CenterX, CenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2165)
+inline HRESULT VGCore::IVGShape::RotateEx ( double Angle, double CenterX, double CenterY ) {
+    HRESULT _hr = raw_RotateEx(Angle, CenterX, CenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2166)
+inline VGCore::IVGShapePtr VGCore::IVGShape::GetParentGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ParentGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2167)
+inline HRESULT VGCore::IVGShape::SetBoundingBox ( double x, double y, double Width, double Height, VARIANT_BOOL KeepAspect, enum cdrReferencePoint ReferencePoint ) {
+    HRESULT _hr = raw_SetBoundingBox(x, y, Width, Height, KeepAspect, ReferencePoint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2168)
+inline HRESULT VGCore::IVGShape::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2169)
+inline HRESULT VGCore::IVGShape::SetRotationCenter ( double x, double y ) {
+    HRESULT _hr = raw_SetRotationCenter(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2170)
+inline HRESULT VGCore::IVGShape::ClearEffect ( enum cdrEffectType Type ) {
+    HRESULT _hr = raw_ClearEffect(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2171)
+inline VGCore::IVGShapePtr VGCore::IVGShape::GetNext ( enum cdrShapeLevel Level, VARIANT_BOOL EnterGroups, VARIANT_BOOL Loop ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Next(Level, EnterGroups, Loop, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2172)
+inline VGCore::IVGShapePtr VGCore::IVGShape::GetPrevious ( enum cdrShapeLevel Level, VARIANT_BOOL EnterGroups, VARIANT_BOOL Loop ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Previous(Level, EnterGroups, Loop, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2173)
+inline HRESULT VGCore::IVGShape::StretchEx ( double CenterX, double CenterY, double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize ) {
+    HRESULT _hr = raw_StretchEx(CenterX, CenterY, StretchX, StretchY, StretchCharactersSize);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2174)
+inline HRESULT VGCore::IVGShape::SetSizeEx ( double CenterX, double CenterY, double Width, double Height ) {
+    HRESULT _hr = raw_SetSizeEx(CenterX, CenterY, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2175)
+inline HRESULT VGCore::IVGShape::GetBoundingBox ( double * x, double * y, double * Width, double * Height, VARIANT_BOOL UseOutline ) {
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height, UseOutline);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2176)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::UngroupEx ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_UngroupEx(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2177)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::UngroupAllEx ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_UngroupAllEx(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2178)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::BreakApartEx ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_BreakApartEx(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2179)
+inline HRESULT VGCore::IVGShape::ApplyStyle ( _bstr_t StyleName ) {
+    HRESULT _hr = raw_ApplyStyle(StyleName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2180)
+inline enum VGCore::cdrWrapStyle VGCore::IVGShape::GetWrapText ( ) {
+    enum cdrWrapStyle _result;
+    HRESULT _hr = get_WrapText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2181)
+inline void VGCore::IVGShape::PutWrapText ( enum cdrWrapStyle pVal ) {
+    HRESULT _hr = put_WrapText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2182)
+inline double VGCore::IVGShape::GetTextWrapOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TextWrapOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2183)
+inline void VGCore::IVGShape::PutTextWrapOffset ( double pVal ) {
+    HRESULT _hr = put_TextWrapOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2184)
+inline VGCore::IVGShapePtr VGCore::IVGShape::PlaceTextInside ( struct IVGShape * TextShape ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_PlaceTextInside(TextShape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2185)
+inline VGCore::IVGCurvePtr VGCore::IVGShape::GetDisplayCurve ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_DisplayCurve(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2186)
+inline _variant_t VGCore::IVGShape::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_CustomCommand(ComponentID, CommandID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(2187)
+inline VGCore::IVGCustomShapePtr VGCore::IVGShape::GetCustom ( ) {
+    struct IVGCustomShape * _result = 0;
+    HRESULT _hr = get_Custom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCustomShapePtr(_result, false);
+}
+
+#pragma implementation_key(2188)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateCustomEffect ( _bstr_t EffectID, SAFEARRAY * * Parameters ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateCustomEffect(EffectID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2189)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateCustomDistortion ( _bstr_t DistortionID, SAFEARRAY * * Parameters ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateCustomDistortion(DistortionID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2190)
+inline HRESULT VGCore::IVGShape::AlignToShape ( enum cdrAlignType Type, struct IVGShape * Shape, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToShape(Type, Shape, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2191)
+inline HRESULT VGCore::IVGShape::AlignToShapeRange ( enum cdrAlignType Type, struct IVGShapeRange * ShapeRange, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToShapeRange(Type, ShapeRange, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2192)
+inline HRESULT VGCore::IVGShape::AlignToPage ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToPage(Type, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2193)
+inline HRESULT VGCore::IVGShape::AlignToPageCenter ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToPageCenter(Type, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2194)
+inline HRESULT VGCore::IVGShape::AlignToGrid ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToGrid(Type, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2195)
+inline HRESULT VGCore::IVGShape::AlignToPoint ( enum cdrAlignType Type, double x, double y, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToPoint(Type, x, y, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2196)
+inline VGCore::IVGDimensionPtr VGCore::IVGShape::GetDimension ( ) {
+    struct IVGDimension * _result = 0;
+    HRESULT _hr = get_Dimension(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDimensionPtr(_result, false);
+}
+
+#pragma implementation_key(2197)
+inline VGCore::IVGSymbolPtr VGCore::IVGShape::GetSymbol ( ) {
+    struct IVGSymbol * _result = 0;
+    HRESULT _hr = get_Symbol(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolPtr(_result, false);
+}
+
+#pragma implementation_key(2198)
+inline VGCore::IVGShapePtr VGCore::IVGShape::ConvertToSymbol ( _bstr_t Name ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_ConvertToSymbol(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2199)
+inline VGCore::IVGOLEPtr VGCore::IVGShape::GetOLE ( ) {
+    struct IVGOLE * _result = 0;
+    HRESULT _hr = get_OLE(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOLEPtr(_result, false);
+}
+
+#pragma implementation_key(2200)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::DuplicateAsRange ( double OffsetX, double OffsetY ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_DuplicateAsRange(OffsetX, OffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2201)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::CloneAsRange ( double OffsetX, double OffsetY ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_CloneAsRange(OffsetX, OffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2202)
+inline HRESULT VGCore::IVGShape::MoveToLayer ( struct IVGLayer * Layer ) {
+    HRESULT _hr = raw_MoveToLayer(Layer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2203)
+inline VGCore::IVGShapePtr VGCore::IVGShape::CopyToLayer ( struct IVGLayer * Layer ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CopyToLayer(Layer, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2204)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::CopyToLayerAsRange ( struct IVGLayer * Layer ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_CopyToLayerAsRange(Layer, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2205)
+inline HRESULT VGCore::IVGShape::ClearTransformations ( ) {
+    HRESULT _hr = raw_ClearTransformations();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2206)
+inline HRESULT VGCore::IVGShape::Distribute ( enum cdrDistributeType Type, VARIANT_BOOL PageExtent ) {
+    HRESULT _hr = raw_Distribute(Type, PageExtent);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2207)
+inline VARIANT_BOOL VGCore::IVGShape::CompareTo ( struct IVGShape * Shape, enum cdrCompareType CompareType, enum cdrCompareCondition Condition ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CompareTo(Shape, CompareType, Condition, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2208)
+inline VARIANT_BOOL VGCore::IVGShape::GetSelectable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Selectable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2209)
+inline HRESULT VGCore::IVGShape::ApplyEffectInvert ( ) {
+    HRESULT _hr = raw_ApplyEffectInvert();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2210)
+inline HRESULT VGCore::IVGShape::ApplyEffectPosterize ( long Level ) {
+    HRESULT _hr = raw_ApplyEffectPosterize(Level);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2211)
+inline HRESULT VGCore::IVGShape::ApplyEffectBCI ( long Brighness, long Contrast, long Intensity ) {
+    HRESULT _hr = raw_ApplyEffectBCI(Brighness, Contrast, Intensity);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2212)
+inline HRESULT VGCore::IVGShape::ApplyEffectColorBalance ( long CyanRed, long MagentaGreen, long YellowBlue, VARIANT_BOOL ApplyToShadows, VARIANT_BOOL ApplyToMidtones, VARIANT_BOOL ApplyToHighlights, VARIANT_BOOL PreserveLuminance ) {
+    HRESULT _hr = raw_ApplyEffectColorBalance(CyanRed, MagentaGreen, YellowBlue, ApplyToShadows, ApplyToMidtones, ApplyToHighlights, PreserveLuminance);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2213)
+inline HRESULT VGCore::IVGShape::ApplyEffectGamma ( double Gamma ) {
+    HRESULT _hr = raw_ApplyEffectGamma(Gamma);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2214)
+inline HRESULT VGCore::IVGShape::ApplyEffectHSL ( const _variant_t & Hue, const _variant_t & Saturation, const _variant_t & Lightness ) {
+    HRESULT _hr = raw_ApplyEffectHSL(Hue, Saturation, Lightness);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2215)
+inline HRESULT VGCore::IVGShape::TransformMatrix ( double d11, double d12, double d21, double d22, double tx, double ty ) {
+    HRESULT _hr = raw_TransformMatrix(d11, d12, d21, d22, tx, ty);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2216)
+inline HRESULT VGCore::IVGShape::AffineTransform ( double d11, double d12, double d21, double d22, double CenterX, double CenterY ) {
+    HRESULT _hr = raw_AffineTransform(d11, d12, d21, d22, CenterX, CenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2217)
+inline VGCore::IVGTreeNodePtr VGCore::IVGShape::GetTreeNode ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_TreeNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(2218)
+inline HRESULT VGCore::IVGShape::ReplaceWith ( struct IVGShape * VirtualShape ) {
+    HRESULT _hr = raw_ReplaceWith(VirtualShape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2219)
+inline VARIANT_BOOL VGCore::IVGShape::GetVirtual ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Virtual(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2220)
+inline VARIANT_BOOL VGCore::IVGShape::GetCanHaveFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanHaveFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2221)
+inline VARIANT_BOOL VGCore::IVGShape::GetCanHaveOutline ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanHaveOutline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2222)
+inline VARIANT_BOOL VGCore::IVGShape::GetIsSimpleShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSimpleShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2223)
+inline HRESULT VGCore::IVGShape::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Fillet(Radius, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2224)
+inline HRESULT VGCore::IVGShape::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Chamfer(DistanceA, DistanceB, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2225)
+inline HRESULT VGCore::IVGShape::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Scallop(Radius, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2226)
+inline enum VGCore::cdrFillMode VGCore::IVGShape::GetFillMode ( ) {
+    enum cdrFillMode _result;
+    HRESULT _hr = get_FillMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2227)
+inline void VGCore::IVGShape::PutFillMode ( enum cdrFillMode pVal ) {
+    HRESULT _hr = put_FillMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2228)
+inline double VGCore::IVGShape::GetLeftX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LeftX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2229)
+inline double VGCore::IVGShape::GetRightX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RightX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2230)
+inline double VGCore::IVGShape::GetTopY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TopY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2231)
+inline double VGCore::IVGShape::GetBottomY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BottomY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2232)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::StepAndRepeat ( long NumCopies, double DistanceX, double DistanceY, enum cdrDistanceMode ModeX, enum cdrDirection DirectionX, enum cdrDistanceMode ModeY, enum cdrDirection DirectionY ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_StepAndRepeat(NumCopies, DistanceX, DistanceY, ModeX, DirectionX, ModeY, DirectionY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2233)
+inline VARIANT_BOOL VGCore::IVGShape::GetOverprintBitmap ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OverprintBitmap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2234)
+inline void VGCore::IVGShape::PutOverprintBitmap ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OverprintBitmap(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2235)
+inline VARIANT_BOOL VGCore::IVGShape::IsTypeAnyOf ( SAFEARRAY * * TypeList ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsTypeAnyOf(TypeList, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2236)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::GetLinkedShapes ( enum cdrShapeLinkType LinkType ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_GetLinkedShapes(LinkType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2237)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateEnvelopeFromShape ( struct IVGShape * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateEnvelopeFromShape(Source, Mode, KeepLines, CopyMode, CornerIndices, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2238)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateEnvelopeFromCurve ( struct IVGCurve * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateEnvelopeFromCurve(Source, Mode, KeepLines, CopyMode, CornerIndices, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(2239)
+inline VGCore::IVGEPSPtr VGCore::IVGShape::GetEPS ( ) {
+    struct IVGEPS * _result = 0;
+    HRESULT _hr = get_EPS(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEPSPtr(_result, false);
+}
+
+#pragma implementation_key(2240)
+inline _variant_t VGCore::IVGShape::Evaluate ( _bstr_t Expression ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_Evaluate(Expression, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(2241)
+inline VGCore::IVGRectPtr VGCore::IVGShape::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(2242)
+inline HRESULT VGCore::IVGShape::GetPositionEx ( enum cdrReferencePoint ReferencePoint, double * x, double * y ) {
+    HRESULT _hr = raw_GetPositionEx(ReferencePoint, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2243)
+inline HRESULT VGCore::IVGShape::SetPositionEx ( enum cdrReferencePoint ReferencePoint, double x, double y ) {
+    HRESULT _hr = raw_SetPositionEx(ReferencePoint, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2244)
+inline double VGCore::IVGShape::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2245)
+inline void VGCore::IVGShape::PutCenterX ( double pVal ) {
+    HRESULT _hr = put_CenterX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2246)
+inline double VGCore::IVGShape::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2247)
+inline void VGCore::IVGShape::PutCenterY ( double pVal ) {
+    HRESULT _hr = put_CenterY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2248)
+inline void VGCore::IVGShape::PutLeftX ( double pVal ) {
+    HRESULT _hr = put_LeftX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2249)
+inline void VGCore::IVGShape::PutRightX ( double pVal ) {
+    HRESULT _hr = put_RightX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2250)
+inline void VGCore::IVGShape::PutTopY ( double pVal ) {
+    HRESULT _hr = put_TopY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2251)
+inline void VGCore::IVGShape::PutBottomY ( double pVal ) {
+    HRESULT _hr = put_BottomY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2252)
+inline long VGCore::IVGShape::GetZOrder ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ZOrder(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2253)
+inline VARIANT_BOOL VGCore::IVGShape::CompareToEx ( struct IVGShape * Shape2, _bstr_t Condition, const _variant_t & Data ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CompareToEx(Shape2, Condition, Data, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2254)
+inline VARIANT_BOOL VGCore::IVGShape::CopyPropertiesFrom ( struct IVGShape * Source, enum cdrCopyProperties Properties ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CopyPropertiesFrom(Source, Properties, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2255)
+inline enum VGCore::cdrOverprintState VGCore::IVGShape::GetOverprintFillState ( ) {
+    enum cdrOverprintState _result;
+    HRESULT _hr = raw_GetOverprintFillState(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2256)
+inline enum VGCore::cdrOverprintState VGCore::IVGShape::GetOverprintOutlineState ( ) {
+    enum cdrOverprintState _result;
+    HRESULT _hr = raw_GetOverprintOutlineState(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2257)
+inline VGCore::IVGPagePtr VGCore::IVGShape::GetPage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Page(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(2258)
+inline VGCore::IVGSnapPointsPtr VGCore::IVGShape::SnapPointsOfType ( enum cdrPointType TypeSet ) {
+    struct IVGSnapPoints * _result = 0;
+    HRESULT _hr = raw_SnapPointsOfType(TypeSet, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointsPtr(_result, false);
+}
+
+#pragma implementation_key(2259)
+inline VGCore::IVGSnapPointPtr VGCore::IVGShape::FindSnapPoint ( _bstr_t ReferenceData ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_FindSnapPoint(ReferenceData, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2260)
+inline VGCore::IVGSpreadPtr VGCore::IVGShape::GetSpread ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_Spread(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(2261)
+inline VARIANT_BOOL VGCore::IVGShape::GetPixelAlignedRendering ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PixelAlignedRendering(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2262)
+inline void VGCore::IVGShape::PutPixelAlignedRendering ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PixelAlignedRendering(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2263)
+inline VGCore::IVGBSplinePtr VGCore::IVGShape::GetBSpline ( ) {
+    struct IVGBSpline * _result = 0;
+    HRESULT _hr = get_BSpline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBSplinePtr(_result, false);
+}
+
+#pragma implementation_key(2264)
+inline VGCore::IVGDocumentPtr VGCore::IVGShape::CreateDocumentFrom ( VARIANT_BOOL TemporaryDocument ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_CreateDocumentFrom(TemporaryDocument, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(2265)
+inline HRESULT VGCore::IVGShape::AlignAndDistribute ( enum cdrAlignDistributeH MethodH, enum cdrAlignDistributeV MethodV, enum cdrAlignShapesTo AlignTo, enum cdrDistributeArea DistributeArea, VARIANT_BOOL UseOutline, enum cdrTextAlignOrigin TextAlignOrigin, double PointX, double PointY, struct IVGRect * DistributeRect ) {
+    HRESULT _hr = raw_AlignAndDistribute(MethodH, MethodV, AlignTo, DistributeArea, UseOutline, TextAlignOrigin, PointX, PointY, DistributeRect);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2266)
+inline VGCore::IVGStylePtr VGCore::IVGShape::GetStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(2267)
+inline VGCore::IVGShapePtr VGCore::IVGShape::CreateBoundary ( double x, double y, VARIANT_BOOL PlaceOnTop, VARIANT_BOOL DeleteSource ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateBoundary(x, y, PlaceOnTop, DeleteSource, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2268)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::EqualDivide ( long Divisions, double Gap, VARIANT_BOOL Group, VARIANT_BOOL Combine, VARIANT_BOOL DeleteSource ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_EqualDivide(Divisions, Gap, Group, Combine, DeleteSource, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2269)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Project ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Project(Plane, ReferencePoint, ApplyToDuplicate, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2270)
+inline VGCore::IVGShapePtr VGCore::IVGShape::Unproject ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Unproject(Plane, ReferencePoint, ApplyToDuplicate, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2271)
+inline VGCore::IVGTransformMatrixPtr VGCore::IVGShape::GetTransformationMatrix ( ) {
+    struct IVGTransformMatrix * _result = 0;
+    HRESULT _hr = get_TransformationMatrix(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransformMatrixPtr(_result, false);
+}
+
+#pragma implementation_key(2272)
+inline void VGCore::IVGShape::PutTransformationMatrix ( struct IVGTransformMatrix * TransformMatrix ) {
+    HRESULT _hr = put_TransformationMatrix(TransformMatrix);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2273)
+inline HRESULT VGCore::IVGShape::ApplyTransformMatrix ( struct IVGTransformMatrix * TransformMatrix ) {
+    HRESULT _hr = raw_ApplyTransformMatrix(TransformMatrix);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2274)
+inline VARIANT_BOOL VGCore::IVGShape::GetVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Visible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2275)
+inline void VGCore::IVGShape::PutVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Visible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2276)
+inline HRESULT VGCore::IVGShape::ModifyToolShapeProperties ( struct IVGProperties * ShapePropertiesToModify ) {
+    HRESULT _hr = raw_ModifyToolShapeProperties(ShapePropertiesToModify);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2277)
+inline _bstr_t VGCore::IVGShape::GetToolShapeGuid ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetToolShapeGuid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2278)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShape::CreateParallelCurves ( long Count, double distanceBetweenCurves ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_CreateParallelCurves(Count, distanceBetweenCurves, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2279)
+inline VGCore::IVGShapePtr VGCore::IVGShape::FindShapeAtPoint ( double x, double y, VARIANT_BOOL TreatAsFilled ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_FindShapeAtPoint(x, y, TreatAsFilled, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2280)
+inline SAFEARRAY * VGCore::IVGShape::GetColorTypes ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetColorTypes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2281)
+inline SAFEARRAY * VGCore::IVGShape::GetColors ( long MaxBitmapColors ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetColors(MaxBitmapColors, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2282)
+inline HRESULT VGCore::IVGShape::FlattenEffects ( ) {
+    HRESULT _hr = raw_FlattenEffects();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2283)
+inline VGCore::IVGEffectPtr VGCore::IVGShape::CreateInnerShadow ( long Opacity, long Feather, double OffsetX, double OffsetY, struct IVGColor * Color, enum cdrFeatherType FeatherType, enum cdrEdgeType FeatherEdge, enum cdrMergeMode MergeMode, double Depth ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_CreateInnerShadow(Opacity, Feather, OffsetX, OffsetY, Color, FeatherType, FeatherEdge, MergeMode, Depth, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+//
+// interface IVGCustomEffect wrapper method implementations
+//
+
+#pragma implementation_key(2284)
+inline _bstr_t VGCore::IVGCustomEffect::GetEffectID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_EffectID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2285)
+inline VGCore::IVGShapePtr VGCore::IVGCustomEffect::GetEffectGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_EffectGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+//
+// interface IVGCloneLink wrapper method implementations
+//
+
+#pragma implementation_key(2286)
+inline VGCore::IVGApplicationPtr VGCore::IVGCloneLink::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2287)
+inline VGCore::IVGShapePtr VGCore::IVGCloneLink::GetParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2288)
+inline VGCore::IVGShapePtr VGCore::IVGCloneLink::GetCloneParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_CloneParent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2289)
+inline VARIANT_BOOL VGCore::IVGCloneLink::GetFillLinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FillLinked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2290)
+inline void VGCore::IVGCloneLink::PutFillLinked ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FillLinked(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2291)
+inline VARIANT_BOOL VGCore::IVGCloneLink::GetOutlineLinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OutlineLinked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2292)
+inline void VGCore::IVGCloneLink::PutOutlineLinked ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OutlineLinked(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2293)
+inline VARIANT_BOOL VGCore::IVGCloneLink::GetShapeLinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShapeLinked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2294)
+inline void VGCore::IVGCloneLink::PutShapeLinked ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShapeLinked(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2295)
+inline VARIANT_BOOL VGCore::IVGCloneLink::GetTransformLinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TransformLinked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2296)
+inline void VGCore::IVGCloneLink::PutTransformLinked ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TransformLinked(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2297)
+inline VARIANT_BOOL VGCore::IVGCloneLink::GetBitmapColorMaskLinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BitmapColorMaskLinked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2298)
+inline void VGCore::IVGCloneLink::PutBitmapColorMaskLinked ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BitmapColorMaskLinked(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2299)
+inline HRESULT VGCore::IVGCloneLink::RestoreAllLinks ( ) {
+    HRESULT _hr = raw_RestoreAllLinks();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGCommentTarget wrapper method implementations
+//
+
+#pragma implementation_key(2300)
+inline VGCore::IVGShapePtr VGCore::IVGCommentTarget::GetShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Shape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2301)
+inline void VGCore::IVGCommentTarget::PutRefShape ( struct IVGShape * * pRet ) {
+    HRESULT _hr = putref_Shape(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2302)
+inline _bstr_t VGCore::IVGCommentTarget::GetGuid ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Guid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2303)
+inline void VGCore::IVGCommentTarget::PutGuid ( _bstr_t pRet ) {
+    HRESULT _hr = put_Guid(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGSelectionInformation wrapper method implementations
+//
+
+#pragma implementation_key(2304)
+inline VGCore::IVGApplicationPtr VGCore::IVGSelectionInformation::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2305)
+inline VGCore::IVGDocumentPtr VGCore::IVGSelectionInformation::GetParent ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(2306)
+inline long VGCore::IVGSelectionInformation::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2307)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetFirstShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FirstShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2308)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetSecondShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_SecondShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2309)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetBlendTopShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_BlendTopShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2310)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetBlendBottomShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_BlendBottomShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2311)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetBlendPath ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_BlendPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2312)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCreateBlend ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCreateBlend(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2313)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetDistortionShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_DistortionShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2314)
+inline enum VGCore::cdrDistortionType VGCore::IVGSelectionInformation::GetDistortionType ( ) {
+    enum cdrDistortionType _result;
+    HRESULT _hr = get_DistortionType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2315)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetExtrudeFaceShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ExtrudeFaceShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2316)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetExtrudeGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ExtrudeGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2317)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetExtrudeBevelGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ExtrudeBevelGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2318)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetContourControlShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ContourControlShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2319)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetContourGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ContourGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2320)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetDropShadowControlShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_DropShadowControlShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2321)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetDropShadowGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_DropShadowGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2322)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetDimensionControlShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_DimensionControlShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2323)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetDimensionGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_DimensionGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2324)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetConnectorLines ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ConnectorLines(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2325)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetFittedTextControlShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FittedTextControlShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2326)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetFittedText ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FittedText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2327)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetFirstShapeWithOutline ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FirstShapeWithOutline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2328)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetFirstShapeWithFill ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FirstShapeWithFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2329)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetNaturalMediaControlShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_NaturalMediaControlShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2330)
+inline VGCore::IVGShapePtr VGCore::IVGSelectionInformation::GetNaturalMediaGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_NaturalMediaGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2331)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanPrint ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanPrint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2332)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsEditingText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEditingText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2333)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsTextSelection ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsTextSelection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2334)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsOnPowerClipContents ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOnPowerClipContents(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2335)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsEditingRollOver ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEditingRollOver(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2336)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyFillOutline ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyFillOutline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2337)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsControlSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsControlSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2338)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanDeleteControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanDeleteControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2339)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2340)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsRegularShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsRegularShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2341)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsControlShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsControlShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2342)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsBlendControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsBlendControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2343)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsBlendGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsBlendGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2344)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsCloneControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsCloneControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2345)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsContourControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsContourControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2346)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsContourGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsContourGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2347)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsDropShadowControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDropShadowControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2348)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsDropShadowGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDropShadowGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2349)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsDimensionControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDimensionControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2350)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsExtrudeControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsExtrudeControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2351)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsExtrudeGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsExtrudeGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2352)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsBevelGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsBevelGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2353)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetHasAutoLabelText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasAutoLabelText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2354)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsEnvelope ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEnvelope(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2355)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsPerspective ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsPerspective(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2356)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsDistortion ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDistortion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2357)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsConnectorLine ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsConnectorLine(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2358)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsConnector ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsConnector(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2359)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsFittedText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsFittedText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2360)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsFittedTextControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsFittedTextControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2361)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsNaturalMediaControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsNaturalMediaControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2362)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsNaturalMediaGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsNaturalMediaGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2363)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsSecondExtrudeControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSecondExtrudeControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2364)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsSecondContourControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSecondContourControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2365)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsSecondDropShadowControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSecondDropShadowControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2366)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsSecondNaturalMediaControl ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSecondNaturalMediaControl(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2367)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsArtisticTextSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsArtisticTextSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2368)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsParagraphTextSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsParagraphTextSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2369)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsTextSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsTextSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2370)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsOLESelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOLESelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2371)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsBitmapSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsBitmapSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2372)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsBitmapPresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsBitmapPresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2373)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsLensPresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsLensPresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2374)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsMaskedBitmapPresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsMaskedBitmapPresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2375)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsGroupSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsGroupSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2376)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanUngroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanUngroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2377)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsLinkGroupSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsLinkGroupSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2378)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsLinkControlSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsLinkControlSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2379)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsAttachedToDimension ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsAttachedToDimension(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2380)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsFittedTextSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsFittedTextSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2381)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsConnectorLineSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsConnectorLineSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2382)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsConnectorSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsConnectorSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2383)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsPerspectivePresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsPerspectivePresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2384)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsEnvelopePresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEnvelopePresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2385)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsDistortionPresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDistortionPresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2386)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsGuidelineSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsGuidelineSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2387)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsInternetObjectSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsInternetObjectSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2388)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsSoundObjectSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSoundObjectSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2389)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsExternalBitmapSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsExternalBitmapSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2390)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsNonExternalBitmapSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsNonExternalBitmapSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2391)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsMeshFillSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsMeshFillSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2392)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsMeshFillPresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsMeshFillPresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2393)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetIsRollOverSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsRollOverSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2394)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetContainsRollOverParent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ContainsRollOverParent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2395)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanClone ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanClone(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2396)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyBlend ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyBlend(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2397)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyContour ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyContour(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2398)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2399)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyOutline ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyOutline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2400)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyTransparency ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyTransparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2401)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanAssignURL ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanAssignURL(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2402)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyDistortion ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyDistortion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2403)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanApplyEnvelope ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanApplyEnvelope(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2404)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyBlend ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyBlend(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2405)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCloneBlend ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCloneBlend(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2406)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyExtrude ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyExtrude(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2407)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCloneExtrude ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCloneExtrude(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2408)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyContour ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyContour(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2409)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCloneContour ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCloneContour(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2410)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyDropShadow ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyDropShadow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2411)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCloneDropShadow ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCloneDropShadow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2412)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyLens ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyLens(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2413)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyPerspective ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyPerspective(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2414)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyEnvelope ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyEnvelope(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2415)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyPowerclip ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyPowerclip(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2416)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanCopyDistortion ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanCopyDistortion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2417)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanLockShapes ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanLockShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2418)
+inline VARIANT_BOOL VGCore::IVGSelectionInformation::GetCanUnlockShapes ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanUnlockShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGCurve wrapper method implementations
+//
+
+#pragma implementation_key(2419)
+inline double VGCore::IVGCurve::GetLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Length(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2420)
+inline VGCore::IVGSubPathsPtr VGCore::IVGCurve::GetSubPaths ( ) {
+    struct IVGSubPaths * _result = 0;
+    HRESULT _hr = get_SubPaths(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathsPtr(_result, false);
+}
+
+#pragma implementation_key(2421)
+inline VGCore::IVGNodesPtr VGCore::IVGCurve::GetNodes ( ) {
+    struct IVGNodes * _result = 0;
+    HRESULT _hr = get_Nodes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodesPtr(_result, false);
+}
+
+#pragma implementation_key(2422)
+inline VGCore::IVGSegmentsPtr VGCore::IVGCurve::GetSegments ( ) {
+    struct IVGSegments * _result = 0;
+    HRESULT _hr = get_Segments(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentsPtr(_result, false);
+}
+
+#pragma implementation_key(2423)
+inline VARIANT_BOOL VGCore::IVGCurve::GetClosed ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Closed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2424)
+inline void VGCore::IVGCurve::PutClosed ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Closed(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2425)
+inline VGCore::IVGNodeRangePtr VGCore::IVGCurve::Selection ( ) {
+    struct IVGNodeRange * _result = 0;
+    HRESULT _hr = raw_Selection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2426)
+inline VGCore::IVGSubPathPtr VGCore::IVGCurve::CreateSubPath ( double x, double y ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = raw_CreateSubPath(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2427)
+inline HRESULT VGCore::IVGCurve::ReverseDirection ( ) {
+    HRESULT _hr = raw_ReverseDirection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2428)
+inline enum VGCore::cdrPositionOfPointOverShape VGCore::IVGCurve::IsOnCurve ( double x, double y, double HotArea ) {
+    enum cdrPositionOfPointOverShape _result;
+    HRESULT _hr = raw_IsOnCurve(x, y, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2429)
+inline HRESULT VGCore::IVGCurve::BindToDocument ( struct IVGDocument * Document ) {
+    HRESULT _hr = raw_BindToDocument(Document);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2430)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::GetCopy ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2431)
+inline HRESULT VGCore::IVGCurve::CopyAssign ( struct IVGCurve * Source ) {
+    HRESULT _hr = raw_CopyAssign(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2432)
+inline VGCore::IVGSubPathPtr VGCore::IVGCurve::CreateSubPathFromArray ( SAFEARRAY * * Source, VARIANT_BOOL Closed, long NumElements ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = raw_CreateSubPathFromArray(Source, Closed, NumElements, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2433)
+inline HRESULT VGCore::IVGCurve::AppendCurve ( struct IVGCurve * Source ) {
+    HRESULT _hr = raw_AppendCurve(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2434)
+inline SAFEARRAY * VGCore::IVGCurve::GetCurveInfo ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetCurveInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2435)
+inline long VGCore::IVGCurve::PutCurveInfo ( SAFEARRAY * * Source, long NumElements ) {
+    long _result = 0;
+    HRESULT _hr = raw_PutCurveInfo(Source, NumElements, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2436)
+inline HRESULT VGCore::IVGCurve::ClearSelection ( ) {
+    HRESULT _hr = raw_ClearSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2437)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::GetPolyline ( long CurvePrecision ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_GetPolyline(CurvePrecision, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2438)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::RemoveOverlaps ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_RemoveOverlaps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2439)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::Contour ( double Offset, enum cdrContourDirection Direction, enum cdrContourEndCapType EndCapType, enum cdrContourCornerType CornerType, double MiterLimit ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_Contour(Offset, Direction, EndCapType, CornerType, MiterLimit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2440)
+inline VARIANT_BOOL VGCore::IVGCurve::IsPointInside ( double x, double y ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsPointInside(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2441)
+inline VARIANT_BOOL VGCore::IVGCurve::IsRectOnEdge ( double x1, double y1, double x2, double y2 ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsRectOnEdge(x1, y1, x2, y2, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2442)
+inline VGCore::IVGSegmentPtr VGCore::IVGCurve::FindClosestSegment ( double x, double y, double * ParamOffset ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_FindClosestSegment(x, y, ParamOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2443)
+inline VGCore::IVGNodePtr VGCore::IVGCurve::FindNodeAtPoint ( double x, double y, double HotArea ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_FindNodeAtPoint(x, y, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2444)
+inline VGCore::IVGSegmentPtr VGCore::IVGCurve::FindSegmentAtPoint ( double x, double y, double * ParamOffset, double HotArea ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_FindSegmentAtPoint(x, y, ParamOffset, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2445)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::WeldWith ( struct IVGCurve * Curve ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_WeldWith(Curve, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2446)
+inline VARIANT_BOOL VGCore::IVGCurve::GetIsClockwise ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsClockwise(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2447)
+inline double VGCore::IVGCurve::GetArea ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Area(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2448)
+inline VARIANT_BOOL VGCore::IVGCurve::GetBoundingBox ( double * x, double * y, double * Width, double * Height ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2449)
+inline VGCore::IVGRectPtr VGCore::IVGCurve::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(2450)
+inline VARIANT_BOOL VGCore::IVGCurve::IntersectsWith ( struct IVGCurve * Curve ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IntersectsWith(Curve, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2451)
+inline HRESULT VGCore::IVGCurve::AppendSubpathFitToPoints ( struct IVGPointRange * Points, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance ) {
+    HRESULT _hr = raw_AppendSubpathFitToPoints(Points, UseCurrentViewForTolerance, tolerance);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2452)
+inline HRESULT VGCore::IVGCurve::AppendSubpathFitToPointsAndCusps ( struct IVGPointRange * Points, SAFEARRAY * * CuspIndexArray, VARIANT_BOOL UseCurrentViewForTolerance, double tolerance ) {
+    HRESULT _hr = raw_AppendSubpathFitToPointsAndCusps(Points, CuspIndexArray, UseCurrentViewForTolerance, tolerance);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2453)
+inline HRESULT VGCore::IVGCurve::ApplyTransformMatrix ( struct IVGTransformMatrix * TransformMatrix ) {
+    HRESULT _hr = raw_ApplyTransformMatrix(TransformMatrix);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2454)
+inline HRESULT VGCore::IVGCurve::AppendSubpathFromPoints ( struct IVGPointRange * Points, VARIANT_BOOL Close ) {
+    HRESULT _hr = raw_AppendSubpathFromPoints(Points, Close);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2455)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::CreateCurveMappedToStroke ( struct IVGSubPath * Stroke, double ScaleY, VARIANT_BOOL SelfWeld ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_CreateCurveMappedToStroke(Stroke, ScaleY, SelfWeld, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2456)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::CreateCurveMappedToStrokeAndReferenceLine ( struct IVGSubPath * Stroke, struct IVGPoint * Start, struct IVGPoint * End, double ScaleY, VARIANT_BOOL SelfWeld ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_CreateCurveMappedToStrokeAndReferenceLine(Stroke, Start, End, ScaleY, SelfWeld, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2457)
+inline HRESULT VGCore::IVGCurve::AutoReduceNodes ( double AmountToReduce0To100, VARIANT_BOOL SelectedNodesOnly ) {
+    HRESULT _hr = raw_AutoReduceNodes(AmountToReduce0To100, SelectedNodesOnly);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2458)
+inline HRESULT VGCore::IVGCurve::JoinTouchingSubpaths ( VARIANT_BOOL AllowSubpathReversals, double tolerance ) {
+    HRESULT _hr = raw_JoinTouchingSubpaths(AllowSubpathReversals, tolerance);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2459)
+inline HRESULT VGCore::IVGCurve::AppendSubpathCircle ( double CenterX, double CenterY, double Radius ) {
+    HRESULT _hr = raw_AppendSubpathCircle(CenterX, CenterY, Radius);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2460)
+inline HRESULT VGCore::IVGCurve::AppendSubpathRectangle ( double Left, double Top, double Right, double Bottom ) {
+    HRESULT _hr = raw_AppendSubpathRectangle(Left, Top, Right, Bottom);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2461)
+inline HRESULT VGCore::IVGCurve::AppendSubpathThreePointArc ( double StartX, double StartY, double EndX, double EndY, double ThirdX, double ThirdY ) {
+    HRESULT _hr = raw_AppendSubpathThreePointArc(StartX, StartY, EndX, EndY, ThirdX, ThirdY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2462)
+inline HRESULT VGCore::IVGCurve::SelfWeldClosedSubpaths ( ) {
+    HRESULT _hr = raw_SelfWeldClosedSubpaths();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2463)
+inline HRESULT VGCore::IVGCurve::AppendSubpathEllipse ( double CenterX, double CenterY, double RadiusH, double RadiusV ) {
+    HRESULT _hr = raw_AppendSubpathEllipse(CenterX, CenterY, RadiusH, RadiusV);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2464)
+inline VGCore::IVGCurvePtr VGCore::IVGCurve::WeldEx ( struct IVGCurve * TargetCurve, enum cdrWeldMethod Method, VARIANT_BOOL WindingSource, VARIANT_BOOL WindingTarget, long Flags ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_WeldEx(TargetCurve, Method, WindingSource, WindingTarget, Flags, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+//
+// interface IVGArrowHead wrapper method implementations
+//
+
+#pragma implementation_key(2465)
+inline long VGCore::IVGArrowHead::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2466)
+inline VGCore::IVGCurvePtr VGCore::IVGArrowHead::GetCurve ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Curve(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2467)
+inline double VGCore::IVGArrowHead::GetBaseOutlineScale ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BaseOutlineScale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2468)
+inline double VGCore::IVGArrowHead::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2469)
+inline double VGCore::IVGArrowHead::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2470)
+inline double VGCore::IVGArrowHead::GetLineOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LineOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2471)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGArrowHead::BindToDocument ( struct IVGDocument * Document ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_BindToDocument(Document, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(2472)
+inline VARIANT_BOOL VGCore::IVGArrowHead::CompareWith ( struct IVGArrowHead * ArrowHead ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CompareWith(ArrowHead, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2473)
+inline _bstr_t VGCore::IVGArrowHead::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2474)
+inline void VGCore::IVGArrowHead::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2475)
+inline _bstr_t VGCore::IVGArrowHead::GetDisplayName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DisplayName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface IVGArrowHeads wrapper method implementations
+//
+
+#pragma implementation_key(2476)
+inline VGCore::IVGApplicationPtr VGCore::IVGArrowHeads::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2477)
+inline VGCore::IVGApplicationPtr VGCore::IVGArrowHeads::GetParent ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2478)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGArrowHeads::GetItem ( long Index ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(2479)
+inline IUnknownPtr VGCore::IVGArrowHeads::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2480)
+inline long VGCore::IVGArrowHeads::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2481)
+inline HRESULT VGCore::IVGArrowHeads::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2482)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGArrowHeads::Add ( struct IVGArrowHead * ArrowHead ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_Add(ArrowHead, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(2483)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGArrowHeads::Replace ( long Index, struct IVGArrowHead * ArrowHead ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = raw_Replace(Index, ArrowHead, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+//
+// interface IVGSubPaths wrapper method implementations
+//
+
+#pragma implementation_key(2484)
+inline VGCore::IVGApplicationPtr VGCore::IVGSubPaths::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2485)
+inline VGCore::IVGCurvePtr VGCore::IVGSubPaths::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2486)
+inline VGCore::IVGSubPathPtr VGCore::IVGSubPaths::GetItem ( long Index ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2487)
+inline IUnknownPtr VGCore::IVGSubPaths::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2488)
+inline long VGCore::IVGSubPaths::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2489)
+inline VGCore::IVGSubPathPtr VGCore::IVGSubPaths::GetFirst ( ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2490)
+inline VGCore::IVGSubPathPtr VGCore::IVGSubPaths::GetLast ( ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+//
+// interface IVGSubPath wrapper method implementations
+//
+
+#pragma implementation_key(2491)
+inline VGCore::IVGApplicationPtr VGCore::IVGSubPath::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2492)
+inline VGCore::IVGCurvePtr VGCore::IVGSubPath::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2493)
+inline VGCore::IVGNodesPtr VGCore::IVGSubPath::GetNodes ( ) {
+    struct IVGNodes * _result = 0;
+    HRESULT _hr = get_Nodes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodesPtr(_result, false);
+}
+
+#pragma implementation_key(2494)
+inline VGCore::IVGSegmentsPtr VGCore::IVGSubPath::GetSegments ( ) {
+    struct IVGSegments * _result = 0;
+    HRESULT _hr = get_Segments(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentsPtr(_result, false);
+}
+
+#pragma implementation_key(2495)
+inline long VGCore::IVGSubPath::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2496)
+inline double VGCore::IVGSubPath::GetLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Length(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2497)
+inline VARIANT_BOOL VGCore::IVGSubPath::GetClosed ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Closed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2498)
+inline void VGCore::IVGSubPath::PutClosed ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Closed(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2499)
+inline double VGCore::IVGSubPath::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2500)
+inline void VGCore::IVGSubPath::PutPositionX ( double pVal ) {
+    HRESULT _hr = put_PositionX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2501)
+inline double VGCore::IVGSubPath::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2502)
+inline void VGCore::IVGSubPath::PutPositionY ( double pVal ) {
+    HRESULT _hr = put_PositionY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2503)
+inline double VGCore::IVGSubPath::GetSizeWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2504)
+inline double VGCore::IVGSubPath::GetSizeHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2505)
+inline VGCore::IVGNodeRangePtr VGCore::IVGSubPath::Selection ( ) {
+    struct IVGNodeRange * _result = 0;
+    HRESULT _hr = raw_Selection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2506)
+inline HRESULT VGCore::IVGSubPath::ReverseDirection ( ) {
+    HRESULT _hr = raw_ReverseDirection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2507)
+inline VGCore::IVGShapePtr VGCore::IVGSubPath::Extract ( struct IVGShape * * OldCurve ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Extract(OldCurve, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2508)
+inline HRESULT VGCore::IVGSubPath::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2509)
+inline HRESULT VGCore::IVGSubPath::GetPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2510)
+inline HRESULT VGCore::IVGSubPath::SetPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2511)
+inline HRESULT VGCore::IVGSubPath::Move ( double DeltaX, double DeltaY ) {
+    HRESULT _hr = raw_Move(DeltaX, DeltaY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2512)
+inline enum VGCore::cdrPositionOfPointOverShape VGCore::IVGSubPath::IsOnSubPath ( double x, double y, double HotArea ) {
+    enum cdrPositionOfPointOverShape _result;
+    HRESULT _hr = raw_IsOnSubPath(x, y, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2513)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::AppendLineSegment ( double x, double y, VARIANT_BOOL AppendAtBeginning ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_AppendLineSegment(x, y, AppendAtBeginning, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2514)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::AppendCurveSegment ( double x, double y, double StartingControlPointLength, double StartingControlPointAngle, double EndingControlPointLength, double EndingControlPointAngle, VARIANT_BOOL AppendAtBeginning ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_AppendCurveSegment(x, y, StartingControlPointLength, StartingControlPointAngle, EndingControlPointLength, EndingControlPointAngle, AppendAtBeginning, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2515)
+inline HRESULT VGCore::IVGSubPath::GetPointPositionAt ( double * x, double * y, double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    HRESULT _hr = raw_GetPointPositionAt(x, y, Offset, OffsetType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2516)
+inline VGCore::IVGNodePtr VGCore::IVGSubPath::BreakApartAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_BreakApartAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2517)
+inline VGCore::IVGNodePtr VGCore::IVGSubPath::AddNodeAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_AddNodeAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2518)
+inline double VGCore::IVGSubPath::GetPerpendicularAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetPerpendicularAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2519)
+inline double VGCore::IVGSubPath::GetTangentAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetTangentAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2520)
+inline VGCore::IVGCrossPointsPtr VGCore::IVGSubPath::GetIntersections ( struct IVGSubPath * Target, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGCrossPoints * _result = 0;
+    HRESULT _hr = raw_GetIntersections(Target, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCrossPointsPtr(_result, false);
+}
+
+#pragma implementation_key(2521)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::GetSegmentAt ( double Offset, enum cdrSegmentOffsetType OffsetType, double * SegmentOffset ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_GetSegmentAt(Offset, OffsetType, SegmentOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2522)
+inline VGCore::IVGSubPathPtr VGCore::IVGSubPath::Next ( ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = raw_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2523)
+inline VGCore::IVGSubPathPtr VGCore::IVGSubPath::Previous ( ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = raw_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2524)
+inline double VGCore::IVGSubPath::GetCurvatureAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetCurvatureAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2525)
+inline double VGCore::IVGSubPath::GetCurveSpeedAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetCurveSpeedAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2526)
+inline VGCore::IVGNodePtr VGCore::IVGSubPath::GetStartNode ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_StartNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2527)
+inline VGCore::IVGNodePtr VGCore::IVGSubPath::GetEndNode ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_EndNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2528)
+inline VARIANT_BOOL VGCore::IVGSubPath::FindSegmentOffset ( double AbsoluteOffset, struct IVGSegment * * Segment, double * ParamOffset, double * Remainder ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_FindSegmentOffset(AbsoluteOffset, Segment, ParamOffset, Remainder, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2529)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::GetFirstSegment ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_FirstSegment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2530)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::GetLastSegment ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_LastSegment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2531)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::AppendCurveSegment2 ( double x, double y, double StartingControlPointX, double StartingControlPointY, double EndingControlPointX, double EndingControlPointY, VARIANT_BOOL AppendAtBeginning ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_AppendCurveSegment2(x, y, StartingControlPointX, StartingControlPointY, EndingControlPointX, EndingControlPointY, AppendAtBeginning, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2532)
+inline VGCore::IVGCurvePtr VGCore::IVGSubPath::GetCopy ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2533)
+inline SAFEARRAY * VGCore::IVGSubPath::GetCurveInfo ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetCurveInfo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2534)
+inline long VGCore::IVGSubPath::PutCurveInfo ( SAFEARRAY * * Source, long NumElements ) {
+    long _result = 0;
+    HRESULT _hr = raw_PutCurveInfo(Source, NumElements, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2535)
+inline VGCore::IVGCurvePtr VGCore::IVGSubPath::GetPolyline ( long CurvePrecision ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_GetPolyline(CurvePrecision, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2536)
+inline VARIANT_BOOL VGCore::IVGSubPath::IsPointInside ( double x, double y ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsPointInside(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2537)
+inline VARIANT_BOOL VGCore::IVGSubPath::IsRectOnEdge ( double x1, double y1, double x2, double y2 ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsRectOnEdge(x1, y1, x2, y2, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2538)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::FindClosestSegment ( double x, double y, double * ParamOffset ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_FindClosestSegment(x, y, ParamOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2539)
+inline VGCore::IVGNodePtr VGCore::IVGSubPath::FindNodeAtPoint ( double x, double y, double HotArea ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_FindNodeAtPoint(x, y, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2540)
+inline VGCore::IVGSegmentPtr VGCore::IVGSubPath::FindSegmentAtPoint ( double x, double y, double * ParamOffset, double HotArea ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_FindSegmentAtPoint(x, y, ParamOffset, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2541)
+inline VARIANT_BOOL VGCore::IVGSubPath::GetIsClockwise ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsClockwise(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2542)
+inline double VGCore::IVGSubPath::GetArea ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Area(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2543)
+inline VARIANT_BOOL VGCore::IVGSubPath::GetBoundingBox ( double * x, double * y, double * Width, double * Height ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2544)
+inline VGCore::IVGRectPtr VGCore::IVGSubPath::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(2545)
+inline HRESULT VGCore::IVGSubPath::EqualDivide ( long Divisions, double Gap ) {
+    HRESULT _hr = raw_EqualDivide(Divisions, Gap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2546)
+inline VGCore::IVGPointRangePtr VGCore::IVGSubPath::GetEvenlySpacedPoints ( double DistanceBetweenPointsAlongCurve, VARIANT_BOOL ScaleDistanceToFit ) {
+    struct IVGPointRange * _result = 0;
+    HRESULT _hr = raw_GetEvenlySpacedPoints(DistanceBetweenPointsAlongCurve, ScaleDistanceToFit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointRangePtr(_result, false);
+}
+
+#pragma implementation_key(2547)
+inline VGCore::IVGVectorPtr VGCore::IVGSubPath::GetPerpendicularVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_GetPerpendicularVectorAt(Offset, OffsetType, Normalize, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2548)
+inline VGCore::IVGVectorPtr VGCore::IVGSubPath::GetTangentVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_GetTangentVectorAt(Offset, OffsetType, Normalize, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2549)
+inline VGCore::IVGPointPtr VGCore::IVGSubPath::GetPointAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_GetPointAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+//
+// interface IVGNodes wrapper method implementations
+//
+
+#pragma implementation_key(2550)
+inline VGCore::IVGApplicationPtr VGCore::IVGNodes::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2551)
+inline VGCore::IVGCurvePtr VGCore::IVGNodes::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2552)
+inline VGCore::IVGNodePtr VGCore::IVGNodes::GetItem ( long Index ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2553)
+inline IUnknownPtr VGCore::IVGNodes::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2554)
+inline long VGCore::IVGNodes::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2555)
+inline VGCore::IVGNodeRangePtr VGCore::IVGNodes::Range ( SAFEARRAY * * IndexArray ) {
+    struct IVGNodeRange * _result = 0;
+    HRESULT _hr = raw_Range(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2556)
+inline VGCore::IVGNodeRangePtr VGCore::IVGNodes::All ( ) {
+    struct IVGNodeRange * _result = 0;
+    HRESULT _hr = raw_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2557)
+inline VGCore::IVGNodeRangePtr VGCore::IVGNodes::AllExcluding ( SAFEARRAY * * IndexArray ) {
+    struct IVGNodeRange * _result = 0;
+    HRESULT _hr = raw_AllExcluding(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodeRangePtr(_result, false);
+}
+
+#pragma implementation_key(2558)
+inline VGCore::IVGNodePtr VGCore::IVGNodes::GetFirst ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2559)
+inline VGCore::IVGNodePtr VGCore::IVGNodes::GetLast ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+//
+// interface IVGNode wrapper method implementations
+//
+
+#pragma implementation_key(2560)
+inline VGCore::IVGApplicationPtr VGCore::IVGNode::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2561)
+inline VGCore::IVGCurvePtr VGCore::IVGNode::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2562)
+inline double VGCore::IVGNode::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2563)
+inline void VGCore::IVGNode::PutPositionX ( double pVal ) {
+    HRESULT _hr = put_PositionX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2564)
+inline double VGCore::IVGNode::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2565)
+inline void VGCore::IVGNode::PutPositionY ( double pVal ) {
+    HRESULT _hr = put_PositionY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2566)
+inline enum VGCore::cdrNodeType VGCore::IVGNode::GetType ( ) {
+    enum cdrNodeType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2567)
+inline void VGCore::IVGNode::PutType ( enum cdrNodeType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2568)
+inline VGCore::IVGSubPathPtr VGCore::IVGNode::GetSubPath ( ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = get_SubPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2569)
+inline long VGCore::IVGNode::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2570)
+inline long VGCore::IVGNode::GetSubPathIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SubPathIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2571)
+inline long VGCore::IVGNode::GetAbsoluteIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_AbsoluteIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2572)
+inline VARIANT_BOOL VGCore::IVGNode::GetIsEnding ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEnding(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2573)
+inline HRESULT VGCore::IVGNode::JoinWith ( struct IVGNode * Target ) {
+    HRESULT _hr = raw_JoinWith(Target);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2574)
+inline HRESULT VGCore::IVGNode::ConnectWith ( struct IVGNode * Target ) {
+    HRESULT _hr = raw_ConnectWith(Target);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2575)
+inline HRESULT VGCore::IVGNode::BreakApart ( ) {
+    HRESULT _hr = raw_BreakApart();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2576)
+inline HRESULT VGCore::IVGNode::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2577)
+inline HRESULT VGCore::IVGNode::GetPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2578)
+inline HRESULT VGCore::IVGNode::SetPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2579)
+inline HRESULT VGCore::IVGNode::Move ( double DeltaX, double DeltaY ) {
+    HRESULT _hr = raw_Move(DeltaX, DeltaY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2580)
+inline VGCore::IVGNodePtr VGCore::IVGNode::Next ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2581)
+inline VGCore::IVGNodePtr VGCore::IVGNode::Previous ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2582)
+inline double VGCore::IVGNode::GetDistanceFrom ( struct IVGNode * Node ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetDistanceFrom(Node, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2583)
+inline VGCore::IVGSegmentPtr VGCore::IVGNode::GetSegment ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_Segment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2584)
+inline VGCore::IVGSegmentPtr VGCore::IVGNode::GetPrevSegment ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_PrevSegment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2585)
+inline VGCore::IVGSegmentPtr VGCore::IVGNode::GetNextSegment ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_NextSegment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2586)
+inline VARIANT_BOOL VGCore::IVGNode::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Fillet(Radius, CombineSmoothSegments, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2587)
+inline VARIANT_BOOL VGCore::IVGNode::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Chamfer(DistanceA, DistanceB, CombineSmoothSegments, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2588)
+inline VARIANT_BOOL VGCore::IVGNode::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Scallop(Radius, CombineSmoothSegments, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2589)
+inline VARIANT_BOOL VGCore::IVGNode::GetSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Selected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2590)
+inline void VGCore::IVGNode::PutSelected ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Selected(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2591)
+inline HRESULT VGCore::IVGNode::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2592)
+inline VARIANT_BOOL VGCore::IVGNode::ExtendSubPaths ( struct IVGNode * Node2, VARIANT_BOOL JoinPaths ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ExtendSubPaths(Node2, JoinPaths, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2593)
+inline HRESULT VGCore::IVGNode::AveragePositionWith ( struct IVGNode * Node2, VARIANT_BOOL JoinPaths ) {
+    HRESULT _hr = raw_AveragePositionWith(Node2, JoinPaths);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2594)
+inline HRESULT VGCore::IVGNode::GetPoint ( struct IVGPoint * * ppVal ) {
+    HRESULT _hr = raw_GetPoint(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2595)
+inline HRESULT VGCore::IVGNode::SetPoint ( struct IVGPoint * ppVal ) {
+    HRESULT _hr = raw_SetPoint(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGSnapPoint wrapper method implementations
+//
+
+#pragma implementation_key(2596)
+inline VGCore::IVGApplicationPtr VGCore::IVGSnapPoint::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2597)
+inline VGCore::IVGShapePtr VGCore::IVGSnapPoint::GetParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2598)
+inline double VGCore::IVGSnapPoint::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2599)
+inline void VGCore::IVGSnapPoint::PutPositionX ( double pVal ) {
+    HRESULT _hr = put_PositionX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2600)
+inline double VGCore::IVGSnapPoint::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2601)
+inline void VGCore::IVGSnapPoint::PutPositionY ( double pVal ) {
+    HRESULT _hr = put_PositionY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2602)
+inline enum VGCore::cdrPointType VGCore::IVGSnapPoint::GetType ( ) {
+    enum cdrPointType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2603)
+inline VGCore::IVGNodePtr VGCore::IVGSnapPoint::GetNode ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_Node(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2604)
+inline VARIANT_BOOL VGCore::IVGSnapPoint::GetIsDeletable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDeletable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2605)
+inline VARIANT_BOOL VGCore::IVGSnapPoint::GetIsMovable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsMovable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2606)
+inline VARIANT_BOOL VGCore::IVGSnapPoint::GetCanChangeDirection ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanChangeDirection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2607)
+inline HRESULT VGCore::IVGSnapPoint::GetPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2608)
+inline VARIANT_BOOL VGCore::IVGSnapPoint::GetUsesDirection ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UsesDirection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2609)
+inline void VGCore::IVGSnapPoint::PutUsesDirection ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UsesDirection(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2610)
+inline VARIANT_BOOL VGCore::IVGSnapPoint::GetIsSelectable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSelectable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2611)
+inline double VGCore::IVGSnapPoint::GetDirection ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Direction(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2612)
+inline void VGCore::IVGSnapPoint::PutDirection ( double pVal ) {
+    HRESULT _hr = put_Direction(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2613)
+inline HRESULT VGCore::IVGSnapPoint::SetPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2614)
+inline VARIANT_BOOL VGCore::IVGSnapPoint::GetSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Selected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2615)
+inline void VGCore::IVGSnapPoint::PutSelected ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Selected(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2616)
+inline HRESULT VGCore::IVGSnapPoint::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2617)
+inline VGCore::IVGUserSnapPointPtr VGCore::IVGSnapPoint::GetUser ( ) {
+    struct IVGUserSnapPoint * _result = 0;
+    HRESULT _hr = get_User(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGUserSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2618)
+inline VGCore::IVGObjectSnapPointPtr VGCore::IVGSnapPoint::GetObject ( ) {
+    struct IVGObjectSnapPoint * _result = 0;
+    HRESULT _hr = get_Object(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGObjectSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2619)
+inline VGCore::IVGShapePtr VGCore::IVGSnapPoint::GetShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Shape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2620)
+inline VGCore::IVGBBoxSnapPointPtr VGCore::IVGSnapPoint::GetBBox ( ) {
+    struct IVGBBoxSnapPoint * _result = 0;
+    HRESULT _hr = get_BBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBBoxSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2621)
+inline _bstr_t VGCore::IVGSnapPoint::GetReferenceData ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ReferenceData(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2622)
+inline HRESULT VGCore::IVGSnapPoint::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2623)
+inline HRESULT VGCore::IVGSnapPoint::Move ( double OffsetX, double OffsetY ) {
+    HRESULT _hr = raw_Move(OffsetX, OffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2624)
+inline VGCore::IVGEdgeSnapPointPtr VGCore::IVGSnapPoint::GetEdge ( ) {
+    struct IVGEdgeSnapPoint * _result = 0;
+    HRESULT _hr = get_Edge(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEdgeSnapPointPtr(_result, false);
+}
+
+//
+// interface IVGSnapPointRange wrapper method implementations
+//
+
+#pragma implementation_key(2625)
+inline long VGCore::IVGSnapPointRange::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2626)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPointRange::GetItem ( long Index ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2627)
+inline HRESULT VGCore::IVGSnapPointRange::Move ( double OffsetX, double OffsetY ) {
+    HRESULT _hr = raw_Move(OffsetX, OffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2628)
+inline HRESULT VGCore::IVGSnapPointRange::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2629)
+inline IUnknownPtr VGCore::IVGSnapPointRange::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2630)
+inline VARIANT_BOOL VGCore::IVGSnapPointRange::Add ( struct IVGSnapPoint * SnapPoint ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Add(SnapPoint, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2631)
+inline VARIANT_BOOL VGCore::IVGSnapPointRange::Remove ( long Index ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Remove(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2632)
+inline VARIANT_BOOL VGCore::IVGSnapPointRange::RemoveByReference ( _bstr_t ReferenceData ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_RemoveByReference(ReferenceData, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2633)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPointRange::Find ( _bstr_t ReferenceData ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_Find(ReferenceData, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2634)
+inline HRESULT VGCore::IVGSnapPointRange::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2635)
+inline HRESULT VGCore::IVGSnapPointRange::AddToSelection ( ) {
+    HRESULT _hr = raw_AddToSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2636)
+inline HRESULT VGCore::IVGSnapPointRange::RemoveFromSelection ( ) {
+    HRESULT _hr = raw_RemoveFromSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2637)
+inline HRESULT VGCore::IVGSnapPointRange::ChangeDirection ( double Direction, enum cdrTriState UsesDirection ) {
+    HRESULT _hr = raw_ChangeDirection(Direction, UsesDirection);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2638)
+inline HRESULT VGCore::IVGSnapPointRange::SetAutoSnap ( VARIANT_BOOL AutoSnap ) {
+    HRESULT _hr = raw_SetAutoSnap(AutoSnap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGSnapPoints wrapper method implementations
+//
+
+#pragma implementation_key(2639)
+inline VGCore::IVGApplicationPtr VGCore::IVGSnapPoints::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2640)
+inline VGCore::IVGShapePtr VGCore::IVGSnapPoints::GetParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(2641)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::GetItem ( long Index ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2642)
+inline IUnknownPtr VGCore::IVGSnapPoints::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2643)
+inline long VGCore::IVGSnapPoints::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2644)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::User ( _bstr_t ID ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_User(ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2645)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::BBox ( enum cdrReferencePoint Type ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_BBox(Type, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2646)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::Object ( enum cdrObjectSnapPointType Type ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_Object(Type, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2647)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::FindClosest ( enum cdrPointType TypeSet, double PositionX, double PositionY ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_FindClosest(TypeSet, PositionX, PositionY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2648)
+inline VGCore::IVGSnapPointRangePtr VGCore::IVGSnapPoints::Range ( SAFEARRAY * * References ) {
+    struct IVGSnapPointRange * _result = 0;
+    HRESULT _hr = raw_Range(References, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointRangePtr(_result, false);
+}
+
+#pragma implementation_key(2649)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::AddUserSnapPoint ( double PositionX, double PositionY, double Direction, VARIANT_BOOL UseDirection ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_AddUserSnapPoint(PositionX, PositionY, Direction, UseDirection, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2650)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::AddUserSnapPointEx ( _bstr_t ID, double PositionX, double PositionY, double Direction, VARIANT_BOOL UseDirection ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_AddUserSnapPointEx(ID, PositionX, PositionY, Direction, UseDirection, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2651)
+inline VGCore::IVGSnapPointRangePtr VGCore::IVGSnapPoints::GetSelection ( ) {
+    struct IVGSnapPointRange * _result = 0;
+    HRESULT _hr = get_Selection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointRangePtr(_result, false);
+}
+
+#pragma implementation_key(2652)
+inline HRESULT VGCore::IVGSnapPoints::ClearSelection ( ) {
+    HRESULT _hr = raw_ClearSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2653)
+inline VGCore::IVGSnapPointRangePtr VGCore::IVGSnapPoints::GetAll ( ) {
+    struct IVGSnapPointRange * _result = 0;
+    HRESULT _hr = get_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointRangePtr(_result, false);
+}
+
+#pragma implementation_key(2654)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::Edge ( long SegmentIndex, double SegmentOffset ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_Edge(SegmentIndex, SegmentOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2655)
+inline VGCore::IVGSnapPointPtr VGCore::IVGSnapPoints::Auto ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = raw_Auto(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+//
+// interface IVGConnector wrapper method implementations
+//
+
+#pragma implementation_key(2656)
+inline VGCore::IVGSnapPointPtr VGCore::IVGConnector::GetStartPoint ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_StartPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2657)
+inline void VGCore::IVGConnector::PutStartPoint ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_StartPoint(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2658)
+inline VGCore::IVGSnapPointPtr VGCore::IVGConnector::GetEndPoint ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_EndPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2659)
+inline void VGCore::IVGConnector::PutEndPoint ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_EndPoint(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2660)
+inline enum VGCore::cdrConnectorType VGCore::IVGConnector::GetType ( ) {
+    enum cdrConnectorType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGDimensionLinear wrapper method implementations
+//
+
+#pragma implementation_key(2661)
+inline enum VGCore::cdrLinearDimensionType VGCore::IVGDimensionLinear::GetType ( ) {
+    enum cdrLinearDimensionType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2662)
+inline VGCore::IVGSnapPointPtr VGCore::IVGDimensionLinear::GetPoint1 ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_Point1(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2663)
+inline void VGCore::IVGDimensionLinear::PutPoint1 ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_Point1(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2664)
+inline VGCore::IVGSnapPointPtr VGCore::IVGDimensionLinear::GetPoint2 ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_Point2(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2665)
+inline void VGCore::IVGDimensionLinear::PutPoint2 ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_Point2(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2666)
+inline VARIANT_BOOL VGCore::IVGDimensionLinear::GetTextCentered ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TextCentered(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2667)
+inline void VGCore::IVGDimensionLinear::PutTextCentered ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TextCentered(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2668)
+inline double VGCore::IVGDimensionLinear::GetTextX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TextX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2669)
+inline void VGCore::IVGDimensionLinear::PutTextX ( double pVal ) {
+    HRESULT _hr = put_TextX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2670)
+inline double VGCore::IVGDimensionLinear::GetTextY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TextY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2671)
+inline void VGCore::IVGDimensionLinear::PutTextY ( double pVal ) {
+    HRESULT _hr = put_TextY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2672)
+inline enum VGCore::cdrDimensionStyle VGCore::IVGDimensionLinear::GetStyle ( ) {
+    enum cdrDimensionStyle _result;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2673)
+inline void VGCore::IVGDimensionLinear::PutStyle ( enum cdrDimensionStyle pVal ) {
+    HRESULT _hr = put_Style(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2674)
+inline VARIANT_BOOL VGCore::IVGDimensionLinear::GetShowUnits ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShowUnits(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2675)
+inline void VGCore::IVGDimensionLinear::PutShowUnits ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShowUnits(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2676)
+inline enum VGCore::cdrDimensionLinearUnits VGCore::IVGDimensionLinear::GetUnits ( ) {
+    enum cdrDimensionLinearUnits _result;
+    HRESULT _hr = get_Units(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2677)
+inline void VGCore::IVGDimensionLinear::PutUnits ( enum cdrDimensionLinearUnits pVal ) {
+    HRESULT _hr = put_Units(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2678)
+inline enum VGCore::cdrDimensionPlacement VGCore::IVGDimensionLinear::GetPlacement ( ) {
+    enum cdrDimensionPlacement _result;
+    HRESULT _hr = get_Placement(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2679)
+inline void VGCore::IVGDimensionLinear::PutPlacement ( enum cdrDimensionPlacement pVal ) {
+    HRESULT _hr = put_Placement(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2680)
+inline VARIANT_BOOL VGCore::IVGDimensionLinear::GetHorizontalText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HorizontalText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2681)
+inline void VGCore::IVGDimensionLinear::PutHorizontalText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_HorizontalText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2682)
+inline VARIANT_BOOL VGCore::IVGDimensionLinear::GetReverseTerminators ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ReverseTerminators(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2683)
+inline void VGCore::IVGDimensionLinear::PutReverseTerminators ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ReverseTerminators(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2684)
+inline VARIANT_BOOL VGCore::IVGDimensionLinear::GetAutoReverseTerminators ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AutoReverseTerminators(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2685)
+inline void VGCore::IVGDimensionLinear::PutAutoReverseTerminators ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AutoReverseTerminators(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2686)
+inline double VGCore::IVGDimensionLinear::GetReverseTerminatorLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_ReverseTerminatorLength(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2687)
+inline VARIANT_BOOL VGCore::IVGDimensionLinear::GetUseReverseTerminatorLength ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseReverseTerminatorLength(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2688)
+inline void VGCore::IVGDimensionLinear::PutUseReverseTerminatorLength ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseReverseTerminatorLength(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2689)
+inline HRESULT VGCore::IVGDimensionLinear::SetReverseTerminatorLength ( double Length ) {
+    HRESULT _hr = raw_SetReverseTerminatorLength(Length);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2690)
+inline VARIANT_BOOL VGCore::IVGDimensionLinear::GetInnerDimensionLineVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_InnerDimensionLineVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2691)
+inline void VGCore::IVGDimensionLinear::PutInnerDimensionLineVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_InnerDimensionLineVisible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGDimensionAngular wrapper method implementations
+//
+
+#pragma implementation_key(2692)
+inline VGCore::IVGSnapPointPtr VGCore::IVGDimensionAngular::GetCenter ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_Center(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2693)
+inline void VGCore::IVGDimensionAngular::PutCenter ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_Center(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2694)
+inline VGCore::IVGSnapPointPtr VGCore::IVGDimensionAngular::GetPoint1 ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_Point1(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2695)
+inline void VGCore::IVGDimensionAngular::PutPoint1 ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_Point1(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2696)
+inline VGCore::IVGSnapPointPtr VGCore::IVGDimensionAngular::GetPoint2 ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_Point2(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(2697)
+inline void VGCore::IVGDimensionAngular::PutPoint2 ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_Point2(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2698)
+inline double VGCore::IVGDimensionAngular::GetTextX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TextX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2699)
+inline void VGCore::IVGDimensionAngular::PutTextX ( double pVal ) {
+    HRESULT _hr = put_TextX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2700)
+inline double VGCore::IVGDimensionAngular::GetTextY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TextY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2701)
+inline void VGCore::IVGDimensionAngular::PutTextY ( double pVal ) {
+    HRESULT _hr = put_TextY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2702)
+inline VARIANT_BOOL VGCore::IVGDimensionAngular::GetShowUnits ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShowUnits(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2703)
+inline void VGCore::IVGDimensionAngular::PutShowUnits ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShowUnits(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2704)
+inline enum VGCore::cdrDimensionAngularUnits VGCore::IVGDimensionAngular::GetUnits ( ) {
+    enum cdrDimensionAngularUnits _result;
+    HRESULT _hr = get_Units(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2705)
+inline void VGCore::IVGDimensionAngular::PutUnits ( enum cdrDimensionAngularUnits pVal ) {
+    HRESULT _hr = put_Units(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2706)
+inline VARIANT_BOOL VGCore::IVGDimensionAngular::GetClockwise ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Clockwise(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2707)
+inline void VGCore::IVGDimensionAngular::PutClockwise ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Clockwise(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2708)
+inline VARIANT_BOOL VGCore::IVGDimensionAngular::GetInnerExtensionLinesVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_InnerExtensionLinesVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2709)
+inline void VGCore::IVGDimensionAngular::PutInnerExtensionLinesVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_InnerExtensionLinesVisible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGSegment wrapper method implementations
+//
+
+#pragma implementation_key(2710)
+inline VGCore::IVGApplicationPtr VGCore::IVGSegment::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2711)
+inline VGCore::IVGCurvePtr VGCore::IVGSegment::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2712)
+inline enum VGCore::cdrSegmentType VGCore::IVGSegment::GetType ( ) {
+    enum cdrSegmentType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2713)
+inline void VGCore::IVGSegment::PutType ( enum cdrSegmentType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2714)
+inline VGCore::IVGSubPathPtr VGCore::IVGSegment::GetSubPath ( ) {
+    struct IVGSubPath * _result = 0;
+    HRESULT _hr = get_SubPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSubPathPtr(_result, false);
+}
+
+#pragma implementation_key(2715)
+inline double VGCore::IVGSegment::GetLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Length(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2716)
+inline long VGCore::IVGSegment::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2717)
+inline long VGCore::IVGSegment::GetSubPathIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SubPathIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2718)
+inline long VGCore::IVGSegment::GetAbsoluteIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_AbsoluteIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2719)
+inline double VGCore::IVGSegment::GetStartingControlPointLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartingControlPointLength(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2720)
+inline void VGCore::IVGSegment::PutStartingControlPointLength ( double pVal ) {
+    HRESULT _hr = put_StartingControlPointLength(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2721)
+inline double VGCore::IVGSegment::GetStartingControlPointAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartingControlPointAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2722)
+inline void VGCore::IVGSegment::PutStartingControlPointAngle ( double pVal ) {
+    HRESULT _hr = put_StartingControlPointAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2723)
+inline double VGCore::IVGSegment::GetEndingControlPointLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndingControlPointLength(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2724)
+inline void VGCore::IVGSegment::PutEndingControlPointLength ( double pVal ) {
+    HRESULT _hr = put_EndingControlPointLength(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2725)
+inline double VGCore::IVGSegment::GetEndingControlPointAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndingControlPointAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2726)
+inline void VGCore::IVGSegment::PutEndingControlPointAngle ( double pVal ) {
+    HRESULT _hr = put_EndingControlPointAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2727)
+inline HRESULT VGCore::IVGSegment::GetPointPositionAt ( double * x, double * y, double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    HRESULT _hr = raw_GetPointPositionAt(x, y, Offset, OffsetType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2728)
+inline VGCore::IVGNodePtr VGCore::IVGSegment::BreakApartAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_BreakApartAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2729)
+inline VGCore::IVGNodePtr VGCore::IVGSegment::AddNodeAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = raw_AddNodeAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2730)
+inline double VGCore::IVGSegment::GetPerpendicularAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetPerpendicularAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2731)
+inline double VGCore::IVGSegment::GetTangentAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetTangentAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2732)
+inline VGCore::IVGCrossPointsPtr VGCore::IVGSegment::GetIntersections ( struct IVGSegment * Target, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGCrossPoints * _result = 0;
+    HRESULT _hr = raw_GetIntersections(Target, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCrossPointsPtr(_result, false);
+}
+
+#pragma implementation_key(2733)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegment::Next ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2734)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegment::Previous ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = raw_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(2735)
+inline VGCore::IVGNodePtr VGCore::IVGSegment::GetStartNode ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_StartNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2736)
+inline VGCore::IVGNodePtr VGCore::IVGSegment::GetEndNode ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_EndNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2737)
+inline double VGCore::IVGSegment::GetStartingControlPointX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartingControlPointX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2738)
+inline void VGCore::IVGSegment::PutStartingControlPointX ( double pVal ) {
+    HRESULT _hr = put_StartingControlPointX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2739)
+inline double VGCore::IVGSegment::GetStartingControlPointY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartingControlPointY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2740)
+inline void VGCore::IVGSegment::PutStartingControlPointY ( double pVal ) {
+    HRESULT _hr = put_StartingControlPointY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2741)
+inline double VGCore::IVGSegment::GetEndingControlPointX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndingControlPointX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2742)
+inline void VGCore::IVGSegment::PutEndingControlPointX ( double pVal ) {
+    HRESULT _hr = put_EndingControlPointX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2743)
+inline double VGCore::IVGSegment::GetEndingControlPointY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndingControlPointY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2744)
+inline void VGCore::IVGSegment::PutEndingControlPointY ( double pVal ) {
+    HRESULT _hr = put_EndingControlPointY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2745)
+inline long VGCore::IVGSegment::GetPeaks ( double Angle, double * Offset1, double * Offset2, enum cdrSegmentOffsetType OffsetType ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetPeaks(Angle, Offset1, Offset2, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2746)
+inline long VGCore::IVGSegment::GetBendPoints ( double * Offset1, double * Offset2, enum cdrSegmentOffsetType OffsetType ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetBendPoints(Offset1, Offset2, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2747)
+inline double VGCore::IVGSegment::GetCurvatureAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetCurvatureAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2748)
+inline double VGCore::IVGSegment::GetCurveSpeedAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetCurveSpeedAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2749)
+inline VARIANT_BOOL VGCore::IVGSegment::FindParamOffset ( double AbsoluteOffset, double * ParamOffset, double * Remainder ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_FindParamOffset(AbsoluteOffset, ParamOffset, Remainder, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2750)
+inline double VGCore::IVGSegment::GetAbsoluteOffset ( double ParamOffset ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetAbsoluteOffset(ParamOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2751)
+inline HRESULT VGCore::IVGSegment::GetStartingControlPointPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetStartingControlPointPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2752)
+inline HRESULT VGCore::IVGSegment::SetStartingControlPointPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetStartingControlPointPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2753)
+inline HRESULT VGCore::IVGSegment::GetEndingControlPointPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetEndingControlPointPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2754)
+inline HRESULT VGCore::IVGSegment::SetEndingControlPointPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetEndingControlPointPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2755)
+inline VGCore::IVGCurvePtr VGCore::IVGSegment::GetCopy ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2756)
+inline VARIANT_BOOL VGCore::IVGSegment::GetSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Selected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2757)
+inline void VGCore::IVGSegment::PutSelected ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Selected(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2758)
+inline HRESULT VGCore::IVGSegment::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2759)
+inline VGCore::IVGCurvePtr VGCore::IVGSegment::GetPolyline ( long CurvePrecision ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_GetPolyline(CurvePrecision, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2760)
+inline VARIANT_BOOL VGCore::IVGSegment::IsRectOnEdge ( double x1, double y1, double x2, double y2 ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsRectOnEdge(x1, y1, x2, y2, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2761)
+inline VARIANT_BOOL VGCore::IVGSegment::FindClosestPoint ( double x, double y, double * ParamOffset ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_FindClosestPoint(x, y, ParamOffset, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2762)
+inline VARIANT_BOOL VGCore::IVGSegment::FindParamOffsetAtPoint ( double x, double y, double * ParamOffset, double HotArea ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_FindParamOffsetAtPoint(x, y, ParamOffset, HotArea, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2763)
+inline VARIANT_BOOL VGCore::IVGSegment::GetBoundingBox ( double * x, double * y, double * Width, double * Height ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2764)
+inline VGCore::IVGRectPtr VGCore::IVGSegment::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(2765)
+inline VGCore::IVGVectorPtr VGCore::IVGSegment::GetPerpendicularVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_GetPerpendicularVectorAt(Offset, OffsetType, Normalize, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2766)
+inline VGCore::IVGVectorPtr VGCore::IVGSegment::GetTangentVectorAt ( double Offset, enum cdrSegmentOffsetType OffsetType, VARIANT_BOOL Normalize ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_GetTangentVectorAt(Offset, OffsetType, Normalize, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2767)
+inline VGCore::IVGPointPtr VGCore::IVGSegment::GetPointAt ( double Offset, enum cdrSegmentOffsetType OffsetType ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_GetPointAt(Offset, OffsetType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+//
+// interface IVGVector wrapper method implementations
+//
+
+#pragma implementation_key(2768)
+inline double VGCore::IVGVector::Getx ( ) {
+    double _result = 0;
+    HRESULT _hr = get_x(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2769)
+inline void VGCore::IVGVector::Putx ( double pVal ) {
+    HRESULT _hr = put_x(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2770)
+inline double VGCore::IVGVector::Gety ( ) {
+    double _result = 0;
+    HRESULT _hr = get_y(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2771)
+inline void VGCore::IVGVector::Puty ( double pVal ) {
+    HRESULT _hr = put_y(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2772)
+inline double VGCore::IVGVector::GetLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Length(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2773)
+inline void VGCore::IVGVector::PutLength ( double pVal ) {
+    HRESULT _hr = put_Length(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2774)
+inline double VGCore::IVGVector::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2775)
+inline void VGCore::IVGVector::PutAngle ( double pVal ) {
+    HRESULT _hr = put_Angle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2776)
+inline VGCore::IVGPointPtr VGCore::IVGVector::GetOffsettedPoint ( struct IVGPoint * Origin, double Distance ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_GetOffsettedPoint(Origin, Distance, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2777)
+inline HRESULT VGCore::IVGVector::Add ( struct IVGVector * Vector ) {
+    HRESULT _hr = raw_Add(Vector);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2778)
+inline HRESULT VGCore::IVGVector::Subtract ( struct IVGVector * Vector ) {
+    HRESULT _hr = raw_Subtract(Vector);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2779)
+inline HRESULT VGCore::IVGVector::MultiplyBy ( double Multiplier ) {
+    HRESULT _hr = raw_MultiplyBy(Multiplier);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2780)
+inline HRESULT VGCore::IVGVector::Negate ( ) {
+    HRESULT _hr = raw_Negate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2781)
+inline HRESULT VGCore::IVGVector::Normalize ( ) {
+    HRESULT _hr = raw_Normalize();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2782)
+inline double VGCore::IVGVector::AngleBetween ( struct IVGVector * Vector ) {
+    double _result = 0;
+    HRESULT _hr = raw_AngleBetween(Vector, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2783)
+inline double VGCore::IVGVector::SmallAngleBetween ( struct IVGVector * Vector ) {
+    double _result = 0;
+    HRESULT _hr = raw_SmallAngleBetween(Vector, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2784)
+inline double VGCore::IVGVector::DotProduct ( struct IVGVector * Vector ) {
+    double _result = 0;
+    HRESULT _hr = raw_DotProduct(Vector, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2785)
+inline double VGCore::IVGVector::CrossProduct ( struct IVGVector * Vector ) {
+    double _result = 0;
+    HRESULT _hr = raw_CrossProduct(Vector, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2786)
+inline HRESULT VGCore::IVGVector::SetFromPoints ( struct IVGPoint * Start, struct IVGPoint * End ) {
+    HRESULT _hr = raw_SetFromPoints(Start, End);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2787)
+inline VGCore::IVGVectorPtr VGCore::IVGVector::ProjectOnto ( struct IVGVector * Vector ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_ProjectOnto(Vector, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2788)
+inline VGCore::IVGVectorPtr VGCore::IVGVector::GetCopy ( ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2789)
+inline HRESULT VGCore::IVGVector::BindToDocument ( struct IVGDocument * Document ) {
+    HRESULT _hr = raw_BindToDocument(Document);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGPoint wrapper method implementations
+//
+
+#pragma implementation_key(2790)
+inline double VGCore::IVGPoint::Getx ( ) {
+    double _result = 0;
+    HRESULT _hr = get_x(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2791)
+inline void VGCore::IVGPoint::Putx ( double pVal ) {
+    HRESULT _hr = put_x(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2792)
+inline double VGCore::IVGPoint::Gety ( ) {
+    double _result = 0;
+    HRESULT _hr = get_y(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2793)
+inline void VGCore::IVGPoint::Puty ( double pVal ) {
+    HRESULT _hr = put_y(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2794)
+inline HRESULT VGCore::IVGPoint::Add ( struct IVGVector * Vector ) {
+    HRESULT _hr = raw_Add(Vector);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2795)
+inline HRESULT VGCore::IVGPoint::Subtract ( struct IVGVector * Vector ) {
+    HRESULT _hr = raw_Subtract(Vector);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2796)
+inline double VGCore::IVGPoint::DistanceTo ( struct IVGPoint * Point ) {
+    double _result = 0;
+    HRESULT _hr = raw_DistanceTo(Point, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2797)
+inline VGCore::IVGPointPtr VGCore::IVGPoint::GetCopy ( ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2798)
+inline HRESULT VGCore::IVGPoint::BindToDocument ( struct IVGDocument * Document ) {
+    HRESULT _hr = raw_BindToDocument(Document);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGPointRange wrapper method implementations
+//
+
+#pragma implementation_key(2799)
+inline VGCore::IVGPointPtr VGCore::IVGPointRange::GetItem ( long Index ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2800)
+inline void VGCore::IVGPointRange::PutItem ( long Index, struct IVGPoint * ppVal ) {
+    HRESULT _hr = put_Item(Index, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2801)
+inline IUnknownPtr VGCore::IVGPointRange::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2802)
+inline VGCore::IVGPointPtr VGCore::IVGPointRange::GetFirst ( ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2803)
+inline VGCore::IVGPointPtr VGCore::IVGPointRange::GetLast ( ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2804)
+inline long VGCore::IVGPointRange::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2805)
+inline HRESULT VGCore::IVGPointRange::AddPoint ( struct IVGPoint * Point ) {
+    HRESULT _hr = raw_AddPoint(Point);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2806)
+inline HRESULT VGCore::IVGPointRange::AddPointXY ( double x, double y ) {
+    HRESULT _hr = raw_AddPointXY(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2807)
+inline HRESULT VGCore::IVGPointRange::InsertPoint ( long Index, struct IVGPoint * Point ) {
+    HRESULT _hr = raw_InsertPoint(Index, Point);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2808)
+inline HRESULT VGCore::IVGPointRange::AddPoints ( struct IVGPointRange * Points ) {
+    HRESULT _hr = raw_AddPoints(Points);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2809)
+inline HRESULT VGCore::IVGPointRange::InsertPoints ( long Index, struct IVGPointRange * Points ) {
+    HRESULT _hr = raw_InsertPoints(Index, Points);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2810)
+inline HRESULT VGCore::IVGPointRange::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2811)
+inline HRESULT VGCore::IVGPointRange::RemoveRange ( long StartIndex, long EndIndex ) {
+    HRESULT _hr = raw_RemoveRange(StartIndex, EndIndex);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2812)
+inline HRESULT VGCore::IVGPointRange::RemoveAll ( ) {
+    HRESULT _hr = raw_RemoveAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2813)
+inline HRESULT VGCore::IVGPointRange::RemoveAdjacentDuplicates ( ) {
+    HRESULT _hr = raw_RemoveAdjacentDuplicates();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2814)
+inline HRESULT VGCore::IVGPointRange::Reverse ( ) {
+    HRESULT _hr = raw_Reverse();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2815)
+inline HRESULT VGCore::IVGPointRange::Smoothen ( double NumberOfPointsToSmoothAcross, VARIANT_BOOL Closed ) {
+    HRESULT _hr = raw_Smoothen(NumberOfPointsToSmoothAcross, Closed);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2816)
+inline VGCore::IVGPointRangePtr VGCore::IVGPointRange::GetCopy ( ) {
+    struct IVGPointRange * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointRangePtr(_result, false);
+}
+
+#pragma implementation_key(2817)
+inline HRESULT VGCore::IVGPointRange::BindToDocument ( struct IVGDocument * Document ) {
+    HRESULT _hr = raw_BindToDocument(Document);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGTransformMatrix wrapper method implementations
+//
+
+#pragma implementation_key(2818)
+inline double VGCore::IVGTransformMatrix::Getd11 ( ) {
+    double _result = 0;
+    HRESULT _hr = get_d11(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2819)
+inline void VGCore::IVGTransformMatrix::Putd11 ( double pVal ) {
+    HRESULT _hr = put_d11(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2820)
+inline double VGCore::IVGTransformMatrix::Getd12 ( ) {
+    double _result = 0;
+    HRESULT _hr = get_d12(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2821)
+inline void VGCore::IVGTransformMatrix::Putd12 ( double pVal ) {
+    HRESULT _hr = put_d12(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2822)
+inline double VGCore::IVGTransformMatrix::Getd21 ( ) {
+    double _result = 0;
+    HRESULT _hr = get_d21(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2823)
+inline void VGCore::IVGTransformMatrix::Putd21 ( double pVal ) {
+    HRESULT _hr = put_d21(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2824)
+inline double VGCore::IVGTransformMatrix::Getd22 ( ) {
+    double _result = 0;
+    HRESULT _hr = get_d22(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2825)
+inline void VGCore::IVGTransformMatrix::Putd22 ( double pVal ) {
+    HRESULT _hr = put_d22(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2826)
+inline double VGCore::IVGTransformMatrix::GetTranslationX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TranslationX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2827)
+inline void VGCore::IVGTransformMatrix::PutTranslationX ( double pVal ) {
+    HRESULT _hr = put_TranslationX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2828)
+inline double VGCore::IVGTransformMatrix::GetTranslationY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TranslationY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2829)
+inline void VGCore::IVGTransformMatrix::PutTranslationY ( double pVal ) {
+    HRESULT _hr = put_TranslationY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2830)
+inline VGCore::IVGVectorPtr VGCore::IVGTransformMatrix::GetTranslation ( ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = get_Translation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2831)
+inline void VGCore::IVGTransformMatrix::PutTranslation ( struct IVGVector * ppVal ) {
+    HRESULT _hr = put_Translation(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2832)
+inline HRESULT VGCore::IVGTransformMatrix::SetToIdentity ( ) {
+    HRESULT _hr = raw_SetToIdentity();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2833)
+inline HRESULT VGCore::IVGTransformMatrix::Invert ( ) {
+    HRESULT _hr = raw_Invert();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2834)
+inline HRESULT VGCore::IVGTransformMatrix::TranslateBy ( double x, double y ) {
+    HRESULT _hr = raw_TranslateBy(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2835)
+inline HRESULT VGCore::IVGTransformMatrix::TranslateByVector ( struct IVGVector * Vector ) {
+    HRESULT _hr = raw_TranslateByVector(Vector);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2836)
+inline HRESULT VGCore::IVGTransformMatrix::SetTranslation ( double x, double y ) {
+    HRESULT _hr = raw_SetTranslation(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2837)
+inline HRESULT VGCore::IVGTransformMatrix::Rotate ( double Angle ) {
+    HRESULT _hr = raw_Rotate(Angle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2838)
+inline HRESULT VGCore::IVGTransformMatrix::RotateAround ( double Angle, double x, double y ) {
+    HRESULT _hr = raw_RotateAround(Angle, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2839)
+inline HRESULT VGCore::IVGTransformMatrix::Scale ( double ScaleX, double ScaleY ) {
+    HRESULT _hr = raw_Scale(ScaleX, ScaleY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2840)
+inline HRESULT VGCore::IVGTransformMatrix::ScaleAround ( double ScaleX, double ScaleY, double x, double y ) {
+    HRESULT _hr = raw_ScaleAround(ScaleX, ScaleY, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2841)
+inline HRESULT VGCore::IVGTransformMatrix::Transform ( struct IVGTransformMatrix * TransformMatrix ) {
+    HRESULT _hr = raw_Transform(TransformMatrix);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2842)
+inline HRESULT VGCore::IVGTransformMatrix::TransformAround ( struct IVGTransformMatrix * TransformMatrix, double x, double y ) {
+    HRESULT _hr = raw_TransformAround(TransformMatrix, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2843)
+inline HRESULT VGCore::IVGTransformMatrix::TransformPoint ( struct IVGPoint * Point ) {
+    HRESULT _hr = raw_TransformPoint(Point);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2844)
+inline HRESULT VGCore::IVGTransformMatrix::TransformPoints ( struct IVGPointRange * Points ) {
+    HRESULT _hr = raw_TransformPoints(Points);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2845)
+inline HRESULT VGCore::IVGTransformMatrix::TransformVector ( struct IVGVector * Vector ) {
+    HRESULT _hr = raw_TransformVector(Vector);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2846)
+inline HRESULT VGCore::IVGTransformMatrix::UntransformPoint ( struct IVGPoint * Point ) {
+    HRESULT _hr = raw_UntransformPoint(Point);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2847)
+inline HRESULT VGCore::IVGTransformMatrix::UntransformPoints ( struct IVGPointRange * Points ) {
+    HRESULT _hr = raw_UntransformPoints(Points);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2848)
+inline HRESULT VGCore::IVGTransformMatrix::UntransformVector ( struct IVGVector * Vector ) {
+    HRESULT _hr = raw_UntransformVector(Vector);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2849)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsIdentity ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsIdentity(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2850)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsSkewedOrRotatedOrMirrored ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSkewedOrRotatedOrMirrored(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2851)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetContainsOnlyTranslation ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ContainsOnlyTranslation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2852)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsSkewedOrRotated ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSkewedOrRotated(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2853)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsScaledOrSkewedOrRotated ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsScaledOrSkewedOrRotated(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2854)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsOrthogonal ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOrthogonal(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2855)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsOrthonormalAxisAligned ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOrthonormalAxisAligned(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2856)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsOrthonormal ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOrthonormal(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2857)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsMirrored ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsMirrored(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2858)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsScaled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsScaled(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2859)
+inline VARIANT_BOOL VGCore::IVGTransformMatrix::GetIsTranslated ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsTranslated(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2860)
+inline VGCore::IVGTransformMatrixPtr VGCore::IVGTransformMatrix::GetCopy ( ) {
+    struct IVGTransformMatrix * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransformMatrixPtr(_result, false);
+}
+
+#pragma implementation_key(2861)
+inline HRESULT VGCore::IVGTransformMatrix::BindToDocument ( struct IVGDocument * Document ) {
+    HRESULT _hr = raw_BindToDocument(Document);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGProperties wrapper method implementations
+//
+
+#pragma implementation_key(2862)
+inline _variant_t VGCore::IVGProperties::GetItem ( _bstr_t Name, long ID ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = get_Item(Name, ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(2863)
+inline void VGCore::IVGProperties::PutItem ( _bstr_t Name, long ID, const _variant_t & pVal ) {
+    HRESULT _hr = put_Item(Name, ID, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2864)
+inline IUnknownPtr VGCore::IVGProperties::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2865)
+inline long VGCore::IVGProperties::GetIndex ( _bstr_t Name, long ID ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(Name, ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2866)
+inline _variant_t VGCore::IVGProperties::GetItemByIndex ( long Index ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = get_ItemByIndex(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(2867)
+inline HRESULT VGCore::IVGProperties::Delete ( _bstr_t Name, long ID ) {
+    HRESULT _hr = raw_Delete(Name, ID);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2868)
+inline HRESULT VGCore::IVGProperties::DeleteByIndex ( long Index ) {
+    HRESULT _hr = raw_DeleteByIndex(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2869)
+inline long VGCore::IVGProperties::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2870)
+inline HRESULT VGCore::IVGProperties::Description ( long Index, BSTR * Name, long * ID ) {
+    HRESULT _hr = raw_Description(Index, Name, ID);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2871)
+inline HRESULT VGCore::IVGProperties::PutFile ( _bstr_t Name, long ID, _bstr_t FileName ) {
+    HRESULT _hr = raw_PutFile(Name, ID, FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2872)
+inline HRESULT VGCore::IVGProperties::GetFile ( _bstr_t Name, long ID, _bstr_t FileName ) {
+    HRESULT _hr = raw_GetFile(Name, ID, FileName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2873)
+inline VARIANT_BOOL VGCore::IVGProperties::Exists ( _bstr_t Name, long ID ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Exists(Name, ID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2874)
+inline VARIANT_BOOL VGCore::IVGProperties::DeleteAll ( _bstr_t Name ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_DeleteAll(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2875)
+inline VGCore::IVGPointPtr VGCore::IVGProperties::GetPoint ( _bstr_t uuidName ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_GetPoint(uuidName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2876)
+inline HRESULT VGCore::IVGProperties::SetPoint ( _bstr_t uuidName, struct IVGPoint * pVal ) {
+    HRESULT _hr = raw_SetPoint(uuidName, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2877)
+inline VGCore::IVGVectorPtr VGCore::IVGProperties::GetVector ( _bstr_t uuidName ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_GetVector(uuidName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2878)
+inline HRESULT VGCore::IVGProperties::SetVector ( _bstr_t uuidName, struct IVGVector * pVal ) {
+    HRESULT _hr = raw_SetVector(uuidName, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2879)
+inline VGCore::IVGCurvePtr VGCore::IVGProperties::GetCurve ( _bstr_t uuidName ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = raw_GetCurve(uuidName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2880)
+inline HRESULT VGCore::IVGProperties::SetCurve ( _bstr_t uuidName, struct IVGCurve * pVal ) {
+    HRESULT _hr = raw_SetCurve(uuidName, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGToolStateAttributes wrapper method implementations
+//
+
+#pragma implementation_key(2881)
+inline _bstr_t VGCore::IVGToolStateAttributes::GetPropertyBarGuid ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PropertyBarGuid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2882)
+inline void VGCore::IVGToolStateAttributes::PutPropertyBarGuid ( _bstr_t pVal ) {
+    HRESULT _hr = put_PropertyBarGuid(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2883)
+inline _bstr_t VGCore::IVGToolStateAttributes::GetContextMenuGuid ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ContextMenuGuid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(2884)
+inline void VGCore::IVGToolStateAttributes::PutContextMenuGuid ( _bstr_t pVal ) {
+    HRESULT _hr = put_ContextMenuGuid(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2885)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::GetUseTabletPressure ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseTabletPressure(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2886)
+inline void VGCore::IVGToolStateAttributes::PutUseTabletPressure ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseTabletPressure(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2887)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::GetAllowTempPickState ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AllowTempPickState(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2888)
+inline void VGCore::IVGToolStateAttributes::PutAllowTempPickState ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AllowTempPickState(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2889)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::GetAllowAutopan ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AllowAutopan(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2890)
+inline void VGCore::IVGToolStateAttributes::PutAllowAutopan ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AllowAutopan(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2891)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::GetAllowContextMenu ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AllowContextMenu(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2892)
+inline void VGCore::IVGToolStateAttributes::PutAllowContextMenu ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AllowContextMenu(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2893)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::GetCanUpdateSelectionOnMouseClick ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CanUpdateSelectionOnMouseClick(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2894)
+inline void VGCore::IVGToolStateAttributes::PutCanUpdateSelectionOnMouseClick ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_CanUpdateSelectionOnMouseClick(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2895)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::GetDeselectOnLButtonDown ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DeselectOnLButtonDown(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2896)
+inline void VGCore::IVGToolStateAttributes::PutDeselectOnLButtonDown ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DeselectOnLButtonDown(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2897)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::GetEnterGraceStateOnLButtonDown ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EnterGraceStateOnLButtonDown(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2898)
+inline void VGCore::IVGToolStateAttributes::PutEnterGraceStateOnLButtonDown ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_EnterGraceStateOnLButtonDown(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2899)
+inline void VGCore::IVGToolStateAttributes::PutStatusInfo ( _bstr_t _arg1 ) {
+    HRESULT _hr = put_StatusInfo(_arg1);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(2900)
+inline HRESULT VGCore::IVGToolStateAttributes::SetCursor ( enum cdrCursorShape CursorShape ) {
+    HRESULT _hr = raw_SetCursor(CursorShape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2901)
+inline HRESULT VGCore::IVGToolStateAttributes::StartTimer ( long TimerId, long TimeToTick, VARIANT_BOOL OneTime ) {
+    HRESULT _hr = raw_StartTimer(TimerId, TimeToTick, OneTime);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2902)
+inline HRESULT VGCore::IVGToolStateAttributes::StopTimer ( long TimerId ) {
+    HRESULT _hr = raw_StopTimer(TimerId);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2903)
+inline HRESULT VGCore::IVGToolStateAttributes::SnapMouse ( struct IVGPoint * pt ) {
+    HRESULT _hr = raw_SnapMouse(pt);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2904)
+inline HRESULT VGCore::IVGToolStateAttributes::AnchoredSnapMouse ( struct IVGPoint * pt, struct IVGPoint * AnchorPoint ) {
+    HRESULT _hr = raw_AnchoredSnapMouse(pt, AnchorPoint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2905)
+inline HRESULT VGCore::IVGToolStateAttributes::ConstrainMouse ( struct IVGPoint * pt, struct IVGPoint * AnchorPoint ) {
+    HRESULT _hr = raw_ConstrainMouse(pt, AnchorPoint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2906)
+inline VARIANT_BOOL VGCore::IVGToolStateAttributes::IsKeyDown ( long KeyCode ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsKeyDown(KeyCode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2907)
+inline double VGCore::IVGToolStateAttributes::GetCurrentPressure ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CurrentPressure(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2908)
+inline HRESULT VGCore::IVGToolStateAttributes::SetCursorGuid ( _bstr_t newVal ) {
+    HRESULT _hr = raw_SetCursorGuid(newVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2909)
+inline HRESULT VGCore::IVGToolStateAttributes::SetStateHintsPage ( _bstr_t newVal ) {
+    HRESULT _hr = raw_SetStateHintsPage(newVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2910)
+inline HRESULT VGCore::IVGToolStateAttributes::ExitTemporaryToolState ( ) {
+    HRESULT _hr = raw_ExitTemporaryToolState();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2911)
+inline VGCore::IVGDocumentPtr VGCore::IVGToolStateAttributes::GetDocument ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Document(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(2912)
+inline HRESULT VGCore::IVGToolStateAttributes::SetFocus ( ) {
+    HRESULT _hr = raw_SetFocus();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2913)
+inline HRESULT VGCore::IVGToolStateAttributes::CaptureMouse ( ) {
+    HRESULT _hr = raw_CaptureMouse();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2914)
+inline HRESULT VGCore::IVGToolStateAttributes::ReleaseMouse ( ) {
+    HRESULT _hr = raw_ReleaseMouse();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGToolState wrapper method implementations
+//
+
+#pragma implementation_key(2915)
+inline HRESULT VGCore::IVGToolState::OnStartState ( struct IVGToolStateAttributes * StateAttributes ) {
+    HRESULT _hr = raw_OnStartState(StateAttributes);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2916)
+inline HRESULT VGCore::IVGToolState::OnExitState ( ) {
+    HRESULT _hr = raw_OnExitState();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2917)
+inline HRESULT VGCore::IVGToolState::OnMouseMove ( struct IVGPoint * pt ) {
+    HRESULT _hr = raw_OnMouseMove(pt);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2918)
+inline HRESULT VGCore::IVGToolState::OnLButtonDown ( struct IVGPoint * pt ) {
+    HRESULT _hr = raw_OnLButtonDown(pt);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2919)
+inline HRESULT VGCore::IVGToolState::OnLButtonDownLeaveGrace ( struct IVGPoint * pt ) {
+    HRESULT _hr = raw_OnLButtonDownLeaveGrace(pt);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2920)
+inline HRESULT VGCore::IVGToolState::OnLButtonUp ( struct IVGPoint * pt ) {
+    HRESULT _hr = raw_OnLButtonUp(pt);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2921)
+inline HRESULT VGCore::IVGToolState::OnLButtonDblClick ( struct IVGPoint * pt ) {
+    HRESULT _hr = raw_OnLButtonDblClick(pt);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2922)
+inline HRESULT VGCore::IVGToolState::OnClick ( struct IVGPoint * pt, VARIANT_BOOL * Handled ) {
+    HRESULT _hr = raw_OnClick(pt, Handled);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2923)
+inline HRESULT VGCore::IVGToolState::OnRButtonDown ( struct IVGPoint * pt, VARIANT_BOOL * Handled ) {
+    HRESULT _hr = raw_OnRButtonDown(pt, Handled);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2924)
+inline HRESULT VGCore::IVGToolState::OnRButtonUp ( struct IVGPoint * pt, VARIANT_BOOL * Handled ) {
+    HRESULT _hr = raw_OnRButtonUp(pt, Handled);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2925)
+inline HRESULT VGCore::IVGToolState::OnKeyDown ( long KeyCode, VARIANT_BOOL * Handled ) {
+    HRESULT _hr = raw_OnKeyDown(KeyCode, Handled);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2926)
+inline HRESULT VGCore::IVGToolState::OnKeyUp ( long KeyCode, VARIANT_BOOL * Handled ) {
+    HRESULT _hr = raw_OnKeyUp(KeyCode, Handled);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2927)
+inline HRESULT VGCore::IVGToolState::OnDelete ( VARIANT_BOOL * Handled ) {
+    HRESULT _hr = raw_OnDelete(Handled);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2928)
+inline HRESULT VGCore::IVGToolState::OnAbort ( ) {
+    HRESULT _hr = raw_OnAbort();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2929)
+inline HRESULT VGCore::IVGToolState::OnCommit ( struct IVGPoint * pt ) {
+    HRESULT _hr = raw_OnCommit(pt);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2930)
+inline HRESULT VGCore::IVGToolState::OnSnapMouse ( struct IVGPoint * pt, VARIANT_BOOL * Handled ) {
+    HRESULT _hr = raw_OnSnapMouse(pt, Handled);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2931)
+inline HRESULT VGCore::IVGToolState::OnTimer ( long TimerId, long TimeEllapsed ) {
+    HRESULT _hr = raw_OnTimer(TimerId, TimeEllapsed);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2932)
+inline VARIANT_BOOL VGCore::IVGToolState::GetIsDrawing ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsDrawing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGOnScreenCurve wrapper method implementations
+//
+
+#pragma implementation_key(2933)
+inline HRESULT VGCore::IVGOnScreenCurve::Show ( ) {
+    HRESULT _hr = raw_Show();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2934)
+inline HRESULT VGCore::IVGOnScreenCurve::Hide ( ) {
+    HRESULT _hr = raw_Hide();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2935)
+inline HRESULT VGCore::IVGOnScreenCurve::SetPen ( long Color, long WidthInPixels, enum cdrOnScreenCurvePenStyle Style ) {
+    HRESULT _hr = raw_SetPen(Color, WidthInPixels, Style);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2936)
+inline HRESULT VGCore::IVGOnScreenCurve::SetNoPen ( ) {
+    HRESULT _hr = raw_SetNoPen();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2937)
+inline HRESULT VGCore::IVGOnScreenCurve::SetBrush ( long Color ) {
+    HRESULT _hr = raw_SetBrush(Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2938)
+inline HRESULT VGCore::IVGOnScreenCurve::SetNoBrush ( ) {
+    HRESULT _hr = raw_SetNoBrush();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2939)
+inline HRESULT VGCore::IVGOnScreenCurve::SetCurve ( struct IVGCurve * Curve ) {
+    HRESULT _hr = raw_SetCurve(Curve);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2940)
+inline HRESULT VGCore::IVGOnScreenCurve::SetLine ( double x1, double y1, double x2, double y2 ) {
+    HRESULT _hr = raw_SetLine(x1, y1, x2, y2);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2941)
+inline HRESULT VGCore::IVGOnScreenCurve::SetRectangle ( double x1, double y1, double x2, double y2 ) {
+    HRESULT _hr = raw_SetRectangle(x1, y1, x2, y2);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2942)
+inline HRESULT VGCore::IVGOnScreenCurve::SetCircle ( double CenterX, double CenterY, double Radius ) {
+    HRESULT _hr = raw_SetCircle(CenterX, CenterY, Radius);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2943)
+inline HRESULT VGCore::IVGOnScreenCurve::SetPoints ( struct IVGPointRange * Points ) {
+    HRESULT _hr = raw_SetPoints(Points);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGMathUtils wrapper method implementations
+//
+
+#pragma implementation_key(2944)
+inline VGCore::IVGPointPtr VGCore::IVGMathUtils::Interpolate ( struct IVGPoint * S, struct IVGPoint * E, double t ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_Interpolate(S, E, t, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2945)
+inline VARIANT_BOOL VGCore::IVGMathUtils::IntersectLineSegments ( struct IVGPoint * S1, struct IVGPoint * E1, struct IVGPoint * S2, struct IVGPoint * E2, struct IVGPoint * * ppVal ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IntersectLineSegments(S1, E1, S2, E2, ppVal, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2946)
+inline double VGCore::IVGMathUtils::DistanceToLineSegment ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point ) {
+    double _result = 0;
+    HRESULT _hr = raw_DistanceToLineSegment(S, E, Point, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2947)
+inline VGCore::IVGPointPtr VGCore::IVGMathUtils::ClosestPointToLineSegment ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_ClosestPointToLineSegment(S, E, Point, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2948)
+inline VARIANT_BOOL VGCore::IVGMathUtils::IntersectInfiniteLines ( struct IVGPoint * S1, struct IVGPoint * E1, struct IVGPoint * S2, struct IVGPoint * E2, struct IVGPoint * * ppVal ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IntersectInfiniteLines(S1, E1, S2, E2, ppVal, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2949)
+inline double VGCore::IVGMathUtils::DistanceToInfiniteLine ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point ) {
+    double _result = 0;
+    HRESULT _hr = raw_DistanceToInfiniteLine(S, E, Point, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2950)
+inline VGCore::IVGPointPtr VGCore::IVGMathUtils::ClosestPointToInfiniteLine ( struct IVGPoint * S, struct IVGPoint * E, struct IVGPoint * Point ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_ClosestPointToInfiniteLine(S, E, Point, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2951)
+inline double VGCore::IVGMathUtils::GetRandomReal ( double low, double High ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetRandomReal(low, High, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2952)
+inline long VGCore::IVGMathUtils::GetRandomInteger ( long low, long High ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetRandomInteger(low, High, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2953)
+inline HRESULT VGCore::IVGMathUtils::FitLineToPoints ( struct IVGPointRange * Points, struct IVGPoint * * Origin, struct IVGVector * * Direction ) {
+    HRESULT _hr = raw_FitLineToPoints(Points, Origin, Direction);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2954)
+inline VGCore::IVGPointPtr VGCore::IVGMathUtils::MidPoint ( struct IVGPoint * S, struct IVGPoint * E ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_MidPoint(S, E, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2955)
+inline VGCore::IVGPointPtr VGCore::IVGMathUtils::CreatePoint ( double x, double y ) {
+    struct IVGPoint * _result = 0;
+    HRESULT _hr = raw_CreatePoint(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointPtr(_result, false);
+}
+
+#pragma implementation_key(2956)
+inline VGCore::IVGVectorPtr VGCore::IVGMathUtils::CreateVector ( double x, double y ) {
+    struct IVGVector * _result = 0;
+    HRESULT _hr = raw_CreateVector(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGVectorPtr(_result, false);
+}
+
+#pragma implementation_key(2957)
+inline VGCore::IVGPointRangePtr VGCore::IVGMathUtils::CreatePointRange ( ) {
+    struct IVGPointRange * _result = 0;
+    HRESULT _hr = raw_CreatePointRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPointRangePtr(_result, false);
+}
+
+#pragma implementation_key(2958)
+inline VGCore::IVGTransformMatrixPtr VGCore::IVGMathUtils::CreateIdentityTransformMatrix ( ) {
+    struct IVGTransformMatrix * _result = 0;
+    HRESULT _hr = raw_CreateIdentityTransformMatrix(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransformMatrixPtr(_result, false);
+}
+
+#pragma implementation_key(2959)
+inline VGCore::IVGTransformMatrixPtr VGCore::IVGMathUtils::CreateRotationTransformMatrix ( double Angle, double OriginX, double OriginY ) {
+    struct IVGTransformMatrix * _result = 0;
+    HRESULT _hr = raw_CreateRotationTransformMatrix(Angle, OriginX, OriginY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransformMatrixPtr(_result, false);
+}
+
+#pragma implementation_key(2960)
+inline VGCore::IVGTransformMatrixPtr VGCore::IVGMathUtils::CreateTranslationTransformMatrix ( double TranslateX, double TranslateY ) {
+    struct IVGTransformMatrix * _result = 0;
+    HRESULT _hr = raw_CreateTranslationTransformMatrix(TranslateX, TranslateY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransformMatrixPtr(_result, false);
+}
+
+#pragma implementation_key(2961)
+inline VGCore::IVGTransformMatrixPtr VGCore::IVGMathUtils::CreateScaleTransformMatrix ( double ScaleX, double ScaleY, double OriginX, double OriginY ) {
+    struct IVGTransformMatrix * _result = 0;
+    HRESULT _hr = raw_CreateScaleTransformMatrix(ScaleX, ScaleY, OriginX, OriginY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransformMatrixPtr(_result, false);
+}
+
+#pragma implementation_key(2962)
+inline VGCore::IVGTransformMatrixPtr VGCore::IVGMathUtils::CreateLineSegmentTransformMatrix ( struct IVGPoint * FromStart, struct IVGPoint * FromEnd, struct IVGPoint * ToStart, struct IVGPoint * ToEnd ) {
+    struct IVGTransformMatrix * _result = 0;
+    HRESULT _hr = raw_CreateLineSegmentTransformMatrix(FromStart, FromEnd, ToStart, ToEnd, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTransformMatrixPtr(_result, false);
+}
+
+//
+// interface IVGNodeRange wrapper method implementations
+//
+
+#pragma implementation_key(2963)
+inline VGCore::IVGApplicationPtr VGCore::IVGNodeRange::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2964)
+inline VGCore::IVGCurvePtr VGCore::IVGNodeRange::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(2965)
+inline VGCore::IVGNodePtr VGCore::IVGNodeRange::GetItem ( long Index ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2966)
+inline long VGCore::IVGNodeRange::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2967)
+inline enum VGCore::cdrNodeType VGCore::IVGNodeRange::GetType ( ) {
+    enum cdrNodeType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2968)
+inline double VGCore::IVGNodeRange::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2969)
+inline double VGCore::IVGNodeRange::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2970)
+inline double VGCore::IVGNodeRange::GetSizeWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2971)
+inline double VGCore::IVGNodeRange::GetSizeHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2972)
+inline HRESULT VGCore::IVGNodeRange::Add ( struct IVGNode * Node ) {
+    HRESULT _hr = raw_Add(Node);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2973)
+inline HRESULT VGCore::IVGNodeRange::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2974)
+inline HRESULT VGCore::IVGNodeRange::Move ( double DeltaX, double DeltaY, long AnchorIndex, VARIANT_BOOL ElasticMode ) {
+    HRESULT _hr = raw_Move(DeltaX, DeltaY, AnchorIndex, ElasticMode);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2975)
+inline HRESULT VGCore::IVGNodeRange::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2976)
+inline HRESULT VGCore::IVGNodeRange::Stretch ( float RatioX, float RatioY, VARIANT_BOOL UseAnchorPoint, double StretchAnchorX, double StretchAnchorY ) {
+    HRESULT _hr = raw_Stretch(RatioX, RatioY, UseAnchorPoint, StretchAnchorX, StretchAnchorY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2977)
+inline HRESULT VGCore::IVGNodeRange::Rotate ( double Angle, VARIANT_BOOL UseCenterPoint, double RotationCenterX, double RotationCenterY ) {
+    HRESULT _hr = raw_Rotate(Angle, UseCenterPoint, RotationCenterX, RotationCenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2978)
+inline HRESULT VGCore::IVGNodeRange::Skew ( double AngleX, double AngleY, VARIANT_BOOL UseAnchorPoint, double SkewAnchorX, double SkewAnchorY ) {
+    HRESULT _hr = raw_Skew(AngleX, AngleY, UseAnchorPoint, SkewAnchorX, SkewAnchorY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2979)
+inline HRESULT VGCore::IVGNodeRange::AutoReduce ( double PrecisionMargin ) {
+    HRESULT _hr = raw_AutoReduce(PrecisionMargin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2980)
+inline HRESULT VGCore::IVGNodeRange::RemoveAll ( ) {
+    HRESULT _hr = raw_RemoveAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2981)
+inline HRESULT VGCore::IVGNodeRange::SetType ( enum cdrNodeType Type ) {
+    HRESULT _hr = raw_SetType(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2982)
+inline IUnknownPtr VGCore::IVGNodeRange::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(2983)
+inline HRESULT VGCore::IVGNodeRange::AddRange ( struct IVGNodeRange * NodeRange ) {
+    HRESULT _hr = raw_AddRange(NodeRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2984)
+inline VGCore::IVGSegmentRangePtr VGCore::IVGNodeRange::GetSegmentRange ( ) {
+    struct IVGSegmentRange * _result = 0;
+    HRESULT _hr = get_SegmentRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentRangePtr(_result, false);
+}
+
+#pragma implementation_key(2985)
+inline HRESULT VGCore::IVGNodeRange::BreakApart ( ) {
+    HRESULT _hr = raw_BreakApart();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2986)
+inline HRESULT VGCore::IVGNodeRange::Smoothen ( long Smoothness ) {
+    HRESULT _hr = raw_Smoothen(Smoothness);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2987)
+inline HRESULT VGCore::IVGNodeRange::RemoveRange ( struct IVGNodeRange * NodeRange ) {
+    HRESULT _hr = raw_RemoveRange(NodeRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2988)
+inline HRESULT VGCore::IVGNodeRange::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Fillet(Radius, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2989)
+inline HRESULT VGCore::IVGNodeRange::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Chamfer(DistanceA, DistanceB, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2990)
+inline HRESULT VGCore::IVGNodeRange::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Scallop(Radius, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2991)
+inline HRESULT VGCore::IVGNodeRange::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2992)
+inline HRESULT VGCore::IVGNodeRange::AddToSelection ( ) {
+    HRESULT _hr = raw_AddToSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2993)
+inline HRESULT VGCore::IVGNodeRange::RemoveFromSelection ( ) {
+    HRESULT _hr = raw_RemoveFromSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(2994)
+inline VGCore::IVGNodePtr VGCore::IVGNodeRange::GetFirstNode ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_FirstNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2995)
+inline VGCore::IVGNodePtr VGCore::IVGNodeRange::GetLastNode ( ) {
+    struct IVGNode * _result = 0;
+    HRESULT _hr = get_LastNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodePtr(_result, false);
+}
+
+#pragma implementation_key(2996)
+inline VARIANT_BOOL VGCore::IVGNodeRange::GetBoundingBox ( double * x, double * y, double * Width, double * Height ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(2997)
+inline VGCore::IVGRectPtr VGCore::IVGNodeRange::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+//
+// interface IVGSegmentRange wrapper method implementations
+//
+
+#pragma implementation_key(2998)
+inline VGCore::IVGApplicationPtr VGCore::IVGSegmentRange::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(2999)
+inline VGCore::IVGCurvePtr VGCore::IVGSegmentRange::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(3000)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegmentRange::GetItem ( long Index ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(3001)
+inline long VGCore::IVGSegmentRange::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3002)
+inline enum VGCore::cdrSegmentType VGCore::IVGSegmentRange::GetType ( ) {
+    enum cdrSegmentType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3003)
+inline double VGCore::IVGSegmentRange::GetLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Length(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3004)
+inline HRESULT VGCore::IVGSegmentRange::Add ( struct IVGSegment * Segment ) {
+    HRESULT _hr = raw_Add(Segment);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3005)
+inline HRESULT VGCore::IVGSegmentRange::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3006)
+inline HRESULT VGCore::IVGSegmentRange::AddNode ( ) {
+    HRESULT _hr = raw_AddNode();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3007)
+inline HRESULT VGCore::IVGSegmentRange::RemoveAll ( ) {
+    HRESULT _hr = raw_RemoveAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3008)
+inline HRESULT VGCore::IVGSegmentRange::SetType ( enum cdrSegmentType Type ) {
+    HRESULT _hr = raw_SetType(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3009)
+inline IUnknownPtr VGCore::IVGSegmentRange::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3010)
+inline HRESULT VGCore::IVGSegmentRange::AddRange ( struct IVGSegmentRange * SegmentRange ) {
+    HRESULT _hr = raw_AddRange(SegmentRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3011)
+inline VGCore::IVGNodeRangePtr VGCore::IVGSegmentRange::GetNodeRange ( ) {
+    struct IVGNodeRange * _result = 0;
+    HRESULT _hr = get_NodeRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGNodeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3012)
+inline HRESULT VGCore::IVGSegmentRange::RemoveRange ( struct IVGSegmentRange * SegmentRange ) {
+    HRESULT _hr = raw_RemoveRange(SegmentRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3013)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegmentRange::GetFirstSegment ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_FirstSegment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(3014)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegmentRange::GetLastSegment ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_LastSegment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(3015)
+inline HRESULT VGCore::IVGSegmentRange::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3016)
+inline HRESULT VGCore::IVGSegmentRange::AddToSelection ( ) {
+    HRESULT _hr = raw_AddToSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3017)
+inline HRESULT VGCore::IVGSegmentRange::RemoveFromSelection ( ) {
+    HRESULT _hr = raw_RemoveFromSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGSegments wrapper method implementations
+//
+
+#pragma implementation_key(3018)
+inline VGCore::IVGApplicationPtr VGCore::IVGSegments::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(3019)
+inline VGCore::IVGCurvePtr VGCore::IVGSegments::GetParent ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(3020)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegments::GetItem ( long Index ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(3021)
+inline IUnknownPtr VGCore::IVGSegments::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3022)
+inline long VGCore::IVGSegments::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3023)
+inline VGCore::IVGSegmentRangePtr VGCore::IVGSegments::Range ( SAFEARRAY * * IndexArray ) {
+    struct IVGSegmentRange * _result = 0;
+    HRESULT _hr = raw_Range(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentRangePtr(_result, false);
+}
+
+#pragma implementation_key(3024)
+inline VGCore::IVGSegmentRangePtr VGCore::IVGSegments::All ( ) {
+    struct IVGSegmentRange * _result = 0;
+    HRESULT _hr = raw_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentRangePtr(_result, false);
+}
+
+#pragma implementation_key(3025)
+inline VGCore::IVGSegmentRangePtr VGCore::IVGSegments::AllExcluding ( SAFEARRAY * * IndexArray ) {
+    struct IVGSegmentRange * _result = 0;
+    HRESULT _hr = raw_AllExcluding(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentRangePtr(_result, false);
+}
+
+#pragma implementation_key(3026)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegments::GetFirst ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+#pragma implementation_key(3027)
+inline VGCore::IVGSegmentPtr VGCore::IVGSegments::GetLast ( ) {
+    struct IVGSegment * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSegmentPtr(_result, false);
+}
+
+//
+// interface IVGBitmap wrapper method implementations
+//
+
+#pragma implementation_key(3028)
+inline long VGCore::IVGBitmap::GetSizeWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3029)
+inline long VGCore::IVGBitmap::GetSizeHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3030)
+inline long VGCore::IVGBitmap::GetResolutionX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResolutionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3031)
+inline long VGCore::IVGBitmap::GetResolutionY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResolutionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3032)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetExternallyLinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ExternallyLinked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3033)
+inline HRESULT VGCore::IVGBitmap::ResolveLink ( ) {
+    HRESULT _hr = raw_ResolveLink();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3034)
+inline HRESULT VGCore::IVGBitmap::UpdateLink ( ) {
+    HRESULT _hr = raw_UpdateLink();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3035)
+inline HRESULT VGCore::IVGBitmap::Inflate ( long Width, long Height ) {
+    HRESULT _hr = raw_Inflate(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3036)
+inline _bstr_t VGCore::IVGBitmap::GetLinkFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LinkFileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3037)
+inline enum VGCore::cdrImageType VGCore::IVGBitmap::GetMode ( ) {
+    enum cdrImageType _result;
+    HRESULT _hr = get_Mode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3038)
+inline VGCore::ICorelExportFilterPtr VGCore::IVGBitmap::SaveAs ( _bstr_t FileName, enum cdrFilter Filter, enum cdrCompressionType Compression ) {
+    struct ICorelExportFilter * _result = 0;
+    HRESULT _hr = raw_SaveAs(FileName, Filter, Compression, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICorelExportFilterPtr(_result, false);
+}
+
+#pragma implementation_key(3039)
+inline HRESULT VGCore::IVGBitmap::Resample ( long Width, long Height, VARIANT_BOOL AntiAlias, double ResolutionX, double ResolutionY ) {
+    HRESULT _hr = raw_Resample(Width, Height, AntiAlias, ResolutionX, ResolutionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3040)
+inline HRESULT VGCore::IVGBitmap::ConvertTo ( enum cdrImageType Mode ) {
+    HRESULT _hr = raw_ConvertTo(Mode);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3041)
+inline HRESULT VGCore::IVGBitmap::ApplyBitmapEffect ( _bstr_t UndoString, _bstr_t Command ) {
+    HRESULT _hr = raw_ApplyBitmapEffect(UndoString, Command);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3042)
+inline HRESULT VGCore::IVGBitmap::Crop ( ) {
+    HRESULT _hr = raw_Crop();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3043)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetTransparent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Transparent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3044)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetWatermarked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Watermarked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3045)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetOPILinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OPILinked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3046)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetIsEPS ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEPS(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3047)
+inline DATE VGCore::IVGBitmap::GetExternalLinkTime ( ) {
+    DATE _result = 0;
+    HRESULT _hr = get_ExternalLinkTime(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3048)
+inline HRESULT VGCore::IVGBitmap::ConvertToPaletted ( enum cdrImagePaletteType PaletteType, enum cdrDitherType DitherType, long DitherIntensity, long Smoothing, long NumColors, VARIANT_BOOL ColorSensitive, long TargetColor, long Importance, long Lightness, long ToleranceA, long ToleranceB, VARIANT * Palette ) {
+    HRESULT _hr = raw_ConvertToPaletted(PaletteType, DitherType, DitherIntensity, Smoothing, NumColors, ColorSensitive, TargetColor, Importance, Lightness, ToleranceA, ToleranceB, Palette);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3049)
+inline HRESULT VGCore::IVGBitmap::ConvertToPaletted2 ( struct IVGStructPaletteOptions * Options ) {
+    HRESULT _hr = raw_ConvertToPaletted2(Options);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3050)
+inline HRESULT VGCore::IVGBitmap::ConvertToBW ( enum cdrRenderType RenderType, long Intensity, long Threshold, enum cdrHalftoneType Halftone, long HalftoneAngle, long HalftoneSize ) {
+    HRESULT _hr = raw_ConvertToBW(RenderType, Intensity, Threshold, Halftone, HalftoneAngle, HalftoneSize);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3051)
+inline HRESULT VGCore::IVGBitmap::ResetCropEnvelope ( ) {
+    HRESULT _hr = raw_ResetCropEnvelope();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3052)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetEmbedded ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Embedded(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3053)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetCropped ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Cropped(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3054)
+inline VARIANT_BOOL VGCore::IVGBitmap::GetCropEnvelopeModified ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CropEnvelopeModified(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3055)
+inline VGCore::IVGCurvePtr VGCore::IVGBitmap::GetCropEnvelope ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_CropEnvelope(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(3056)
+inline VGCore::IVGCurvePtr VGCore::IVGBitmap::GetBoundingBoxPath ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_BoundingBoxPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(3057)
+inline HRESULT VGCore::IVGBitmap::ConvertToDuotone ( struct IVGDuotone * Duotone ) {
+    HRESULT _hr = raw_ConvertToDuotone(Duotone);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3058)
+inline VGCore::IVGDuotonePtr VGCore::IVGBitmap::GetDuotone ( ) {
+    struct IVGDuotone * _result = 0;
+    HRESULT _hr = get_Duotone(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDuotonePtr(_result, false);
+}
+
+#pragma implementation_key(3059)
+inline void VGCore::IVGBitmap::PutLinkFileName ( _bstr_t pVal ) {
+    HRESULT _hr = put_LinkFileName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3060)
+inline VGCore::IVGTraceSettingsPtr VGCore::IVGBitmap::Trace ( enum cdrTraceType TraceType, short Smoothing, short DetailLevelPercent, enum cdrColorType ColorMode, enum cdrPaletteID PaletteID, long ColorCount, VARIANT_BOOL DeleteOriginalObject, VARIANT_BOOL RemoveBackground, VARIANT_BOOL RemoveEntireBackColor ) {
+    struct IVGTraceSettings * _result = 0;
+    HRESULT _hr = raw_Trace(TraceType, Smoothing, DetailLevelPercent, ColorMode, PaletteID, ColorCount, DeleteOriginalObject, RemoveBackground, RemoveEntireBackColor, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTraceSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(3061)
+inline VGCore::IVGImagePtr VGCore::IVGBitmap::GetImage ( ) {
+    struct IVGImage * _result = 0;
+    HRESULT _hr = get_Image(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImagePtr(_result, false);
+}
+
+#pragma implementation_key(3062)
+inline VGCore::IVGImagePtr VGCore::IVGBitmap::GetImageAlpha ( ) {
+    struct IVGImage * _result = 0;
+    HRESULT _hr = get_ImageAlpha(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImagePtr(_result, false);
+}
+
+#pragma implementation_key(3063)
+inline HRESULT VGCore::IVGBitmap::SetImageData ( struct IVGImage * Image, struct IVGImage * Alpha, long OffsetX, long OffsetY ) {
+    HRESULT _hr = raw_SetImageData(Image, Alpha, OffsetX, OffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGEPS wrapper method implementations
+//
+
+#pragma implementation_key(3064)
+inline VGCore::IVGBitmapPtr VGCore::IVGEPS::GetPreviewBitmap ( ) {
+    struct IVGBitmap * _result = 0;
+    HRESULT _hr = get_PreviewBitmap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGBitmapPtr(_result, false);
+}
+
+#pragma implementation_key(3065)
+inline SAFEARRAY * VGCore::IVGEPS::GetData ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = get_Data(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3066)
+inline _bstr_t VGCore::IVGEPS::GetDataAsString ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DataAsString(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3067)
+inline VGCore::IVGCurvePtr VGCore::IVGEPS::GetCropEnvelope ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_CropEnvelope(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(3068)
+inline HRESULT VGCore::IVGEPS::ResetCropEnvelope ( ) {
+    HRESULT _hr = raw_ResetCropEnvelope();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3069)
+inline VARIANT_BOOL VGCore::IVGEPS::GetCropEnvelopeModified ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CropEnvelopeModified(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3070)
+inline VGCore::IVGCurvePtr VGCore::IVGEPS::GetBoundingBoxPath ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_BoundingBoxPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(3071)
+inline _bstr_t VGCore::IVGEPS::GetLinkFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LinkFileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3072)
+inline void VGCore::IVGEPS::PutLinkFileName ( _bstr_t pVal ) {
+    HRESULT _hr = put_LinkFileName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3073)
+inline SAFEARRAY * VGCore::IVGEPS::GetDCSFileNames ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = get_DCSFileNames(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGDuotone wrapper method implementations
+//
+
+#pragma implementation_key(3074)
+inline enum VGCore::cdrDuotoneType VGCore::IVGDuotone::GetType ( ) {
+    enum cdrDuotoneType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3075)
+inline void VGCore::IVGDuotone::PutType ( enum cdrDuotoneType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3076)
+inline VARIANT_BOOL VGCore::IVGDuotone::GetUseOverprints ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseOverprints(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3077)
+inline void VGCore::IVGDuotone::PutUseOverprints ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseOverprints(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3078)
+inline long VGCore::IVGDuotone::GetOverprintCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_OverprintCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3079)
+inline VGCore::IVGDuotoneOverprintPtr VGCore::IVGDuotone::GetOverprints ( long Index ) {
+    struct IVGDuotoneOverprint * _result = 0;
+    HRESULT _hr = get_Overprints(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDuotoneOverprintPtr(_result, false);
+}
+
+#pragma implementation_key(3080)
+inline long VGCore::IVGDuotone::GetInkCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_InkCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3081)
+inline VGCore::IVGDuotoneInkPtr VGCore::IVGDuotone::GetInks ( long Index ) {
+    struct IVGDuotoneInk * _result = 0;
+    HRESULT _hr = get_Inks(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDuotoneInkPtr(_result, false);
+}
+
+#pragma implementation_key(3082)
+inline VGCore::IVGDuotonePtr VGCore::IVGDuotone::GetCopy ( ) {
+    struct IVGDuotone * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDuotonePtr(_result, false);
+}
+
+#pragma implementation_key(3083)
+inline HRESULT VGCore::IVGDuotone::CopyAssign ( struct IVGDuotone * Duotone ) {
+    HRESULT _hr = raw_CopyAssign(Duotone);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3084)
+inline HRESULT VGCore::IVGDuotone::ResetOverprints ( ) {
+    HRESULT _hr = raw_ResetOverprints();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3085)
+inline VARIANT_BOOL VGCore::IVGDuotone::Load ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Load(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3086)
+inline VARIANT_BOOL VGCore::IVGDuotone::Save ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Save(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGDuotoneOverprint wrapper method implementations
+//
+
+#pragma implementation_key(3087)
+inline long VGCore::IVGDuotoneOverprint::GetCyan ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Cyan(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3088)
+inline void VGCore::IVGDuotoneOverprint::PutCyan ( long pVal ) {
+    HRESULT _hr = put_Cyan(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3089)
+inline long VGCore::IVGDuotoneOverprint::GetMagenta ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Magenta(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3090)
+inline void VGCore::IVGDuotoneOverprint::PutMagenta ( long pVal ) {
+    HRESULT _hr = put_Magenta(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3091)
+inline long VGCore::IVGDuotoneOverprint::GetYellow ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Yellow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3092)
+inline void VGCore::IVGDuotoneOverprint::PutYellow ( long pVal ) {
+    HRESULT _hr = put_Yellow(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3093)
+inline long VGCore::IVGDuotoneOverprint::GetBlack ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Black(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3094)
+inline void VGCore::IVGDuotoneOverprint::PutBlack ( long pVal ) {
+    HRESULT _hr = put_Black(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3095)
+inline VGCore::IVGColorPtr VGCore::IVGDuotoneOverprint::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3096)
+inline void VGCore::IVGDuotoneOverprint::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3097)
+inline HRESULT VGCore::IVGDuotoneOverprint::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3098)
+inline HRESULT VGCore::IVGDuotoneOverprint::SetValues ( long Cyan, long Magenta, long Yellow, long Black ) {
+    HRESULT _hr = raw_SetValues(Cyan, Magenta, Yellow, Black);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGColor wrapper method implementations
+//
+
+#pragma implementation_key(3099)
+inline IDispatchPtr VGCore::IVGColor::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3100)
+inline IDispatchPtr VGCore::IVGColor::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3101)
+inline enum VGCore::cdrColorType VGCore::IVGColor::GetType ( ) {
+    enum cdrColorType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3102)
+inline HRESULT VGCore::IVGColor::RGBAssign ( long Red, long Green, long Blue ) {
+    HRESULT _hr = raw_RGBAssign(Red, Green, Blue);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3103)
+inline long VGCore::IVGColor::GetRGBRed ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RGBRed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3104)
+inline void VGCore::IVGColor::PutRGBRed ( long pVal ) {
+    HRESULT _hr = put_RGBRed(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3105)
+inline long VGCore::IVGColor::GetRGBGreen ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RGBGreen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3106)
+inline void VGCore::IVGColor::PutRGBGreen ( long pVal ) {
+    HRESULT _hr = put_RGBGreen(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3107)
+inline long VGCore::IVGColor::GetRGBBlue ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RGBBlue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3108)
+inline void VGCore::IVGColor::PutRGBBlue ( long pVal ) {
+    HRESULT _hr = put_RGBBlue(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3109)
+inline HRESULT VGCore::IVGColor::ConvertToRGB ( ) {
+    HRESULT _hr = raw_ConvertToRGB();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3110)
+inline HRESULT VGCore::IVGColor::CMYKAssign ( long Cyan, long Magenta, long Yellow, long Black ) {
+    HRESULT _hr = raw_CMYKAssign(Cyan, Magenta, Yellow, Black);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3111)
+inline long VGCore::IVGColor::GetCMYKCyan ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CMYKCyan(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3112)
+inline void VGCore::IVGColor::PutCMYKCyan ( long pVal ) {
+    HRESULT _hr = put_CMYKCyan(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3113)
+inline long VGCore::IVGColor::GetCMYKYellow ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CMYKYellow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3114)
+inline void VGCore::IVGColor::PutCMYKYellow ( long pVal ) {
+    HRESULT _hr = put_CMYKYellow(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3115)
+inline long VGCore::IVGColor::GetCMYKMagenta ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CMYKMagenta(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3116)
+inline void VGCore::IVGColor::PutCMYKMagenta ( long pVal ) {
+    HRESULT _hr = put_CMYKMagenta(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3117)
+inline long VGCore::IVGColor::GetCMYKBlack ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CMYKBlack(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3118)
+inline void VGCore::IVGColor::PutCMYKBlack ( long pVal ) {
+    HRESULT _hr = put_CMYKBlack(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3119)
+inline HRESULT VGCore::IVGColor::ConvertToCMYK ( ) {
+    HRESULT _hr = raw_ConvertToCMYK();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3120)
+inline HRESULT VGCore::IVGColor::CMYAssign ( long Cyan, long Magenta, long Yellow ) {
+    HRESULT _hr = raw_CMYAssign(Cyan, Magenta, Yellow);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3121)
+inline long VGCore::IVGColor::GetCMYCyan ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CMYCyan(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3122)
+inline void VGCore::IVGColor::PutCMYCyan ( long pVal ) {
+    HRESULT _hr = put_CMYCyan(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3123)
+inline long VGCore::IVGColor::GetCMYMagenta ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CMYMagenta(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3124)
+inline void VGCore::IVGColor::PutCMYMagenta ( long pVal ) {
+    HRESULT _hr = put_CMYMagenta(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3125)
+inline long VGCore::IVGColor::GetCMYYellow ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CMYYellow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3126)
+inline void VGCore::IVGColor::PutCMYYellow ( long pVal ) {
+    HRESULT _hr = put_CMYYellow(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3127)
+inline HRESULT VGCore::IVGColor::ConvertToCMY ( ) {
+    HRESULT _hr = raw_ConvertToCMY();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3128)
+inline HRESULT VGCore::IVGColor::HSBAssign ( long Hue, long Saturation, long Brightness ) {
+    HRESULT _hr = raw_HSBAssign(Hue, Saturation, Brightness);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3129)
+inline long VGCore::IVGColor::GetHSBHue ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HSBHue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3130)
+inline void VGCore::IVGColor::PutHSBHue ( long pVal ) {
+    HRESULT _hr = put_HSBHue(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3131)
+inline long VGCore::IVGColor::GetHSBSaturation ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HSBSaturation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3132)
+inline void VGCore::IVGColor::PutHSBSaturation ( long pVal ) {
+    HRESULT _hr = put_HSBSaturation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3133)
+inline long VGCore::IVGColor::GetHSBBrightness ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HSBBrightness(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3134)
+inline void VGCore::IVGColor::PutHSBBrightness ( long pVal ) {
+    HRESULT _hr = put_HSBBrightness(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3135)
+inline HRESULT VGCore::IVGColor::ConvertToHSB ( ) {
+    HRESULT _hr = raw_ConvertToHSB();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3136)
+inline HRESULT VGCore::IVGColor::HLSAssign ( long Hue, long Lightness, long Saturation ) {
+    HRESULT _hr = raw_HLSAssign(Hue, Lightness, Saturation);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3137)
+inline long VGCore::IVGColor::GetHLSHue ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HLSHue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3138)
+inline void VGCore::IVGColor::PutHLSHue ( long pVal ) {
+    HRESULT _hr = put_HLSHue(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3139)
+inline long VGCore::IVGColor::GetHLSLightness ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HLSLightness(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3140)
+inline void VGCore::IVGColor::PutHLSLightness ( long pVal ) {
+    HRESULT _hr = put_HLSLightness(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3141)
+inline long VGCore::IVGColor::GetHLSSaturation ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HLSSaturation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3142)
+inline void VGCore::IVGColor::PutHLSSaturation ( long pVal ) {
+    HRESULT _hr = put_HLSSaturation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3143)
+inline HRESULT VGCore::IVGColor::ConvertToHLS ( ) {
+    HRESULT _hr = raw_ConvertToHLS();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3144)
+inline HRESULT VGCore::IVGColor::BWAssign ( VARIANT_BOOL White ) {
+    HRESULT _hr = raw_BWAssign(White);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3145)
+inline VARIANT_BOOL VGCore::IVGColor::GetBW ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BW(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3146)
+inline void VGCore::IVGColor::PutBW ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BW(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3147)
+inline HRESULT VGCore::IVGColor::ConvertToBW ( ) {
+    HRESULT _hr = raw_ConvertToBW();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3148)
+inline HRESULT VGCore::IVGColor::GrayAssign ( long GrayValue ) {
+    HRESULT _hr = raw_GrayAssign(GrayValue);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3149)
+inline long VGCore::IVGColor::GetGray ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Gray(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3150)
+inline void VGCore::IVGColor::PutGray ( long pVal ) {
+    HRESULT _hr = put_Gray(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3151)
+inline HRESULT VGCore::IVGColor::ConvertToGray ( ) {
+    HRESULT _hr = raw_ConvertToGray();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3152)
+inline HRESULT VGCore::IVGColor::CorelScriptAssign ( long ColorModel, long V1, long V2, long V3, long V4, long V5, long V6, long V7 ) {
+    HRESULT _hr = raw_CorelScriptAssign(ColorModel, V1, V2, V3, V4, V5, V6, V7);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3153)
+inline HRESULT VGCore::IVGColor::CorelScriptGetComponent ( long * ColorModel, long * V1, long * V2, long * V3, long * V4, long * V5, long * V6, long * V7 ) {
+    HRESULT _hr = raw_CorelScriptGetComponent(ColorModel, V1, V2, V3, V4, V5, V6, V7);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3154)
+inline HRESULT VGCore::IVGColor::UserAssign ( long ParentWindowHandle ) {
+    HRESULT _hr = raw_UserAssign(ParentWindowHandle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3155)
+inline HRESULT VGCore::IVGColor::CopyAssign ( struct IVGColor * Color ) {
+    HRESULT _hr = raw_CopyAssign(Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3156)
+inline _bstr_t VGCore::IVGColor::GetName ( VARIANT_BOOL Components ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(Components, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3157)
+inline HRESULT VGCore::IVGColor::YIQAssign ( long y, long I, long Q ) {
+    HRESULT _hr = raw_YIQAssign(y, I, Q);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3158)
+inline long VGCore::IVGColor::GetYIQLuminanceY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_YIQLuminanceY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3159)
+inline void VGCore::IVGColor::PutYIQLuminanceY ( long pVal ) {
+    HRESULT _hr = put_YIQLuminanceY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3160)
+inline long VGCore::IVGColor::GetYIQChromaI ( ) {
+    long _result = 0;
+    HRESULT _hr = get_YIQChromaI(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3161)
+inline void VGCore::IVGColor::PutYIQChromaI ( long pVal ) {
+    HRESULT _hr = put_YIQChromaI(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3162)
+inline long VGCore::IVGColor::GetYIQChromaQ ( ) {
+    long _result = 0;
+    HRESULT _hr = get_YIQChromaQ(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3163)
+inline void VGCore::IVGColor::PutYIQChromaQ ( long pVal ) {
+    HRESULT _hr = put_YIQChromaQ(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3164)
+inline HRESULT VGCore::IVGColor::ConvertToYIQ ( ) {
+    HRESULT _hr = raw_ConvertToYIQ();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3165)
+inline HRESULT VGCore::IVGColor::LabAssign ( long L, long A, long B ) {
+    HRESULT _hr = raw_LabAssign(L, A, B);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3166)
+inline long VGCore::IVGColor::GetLabLuminance ( ) {
+    long _result = 0;
+    HRESULT _hr = get_LabLuminance(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3167)
+inline void VGCore::IVGColor::PutLabLuminance ( long pVal ) {
+    HRESULT _hr = put_LabLuminance(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3168)
+inline long VGCore::IVGColor::GetLabComponentA ( ) {
+    long _result = 0;
+    HRESULT _hr = get_LabComponentA(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3169)
+inline void VGCore::IVGColor::PutLabComponentA ( long pVal ) {
+    HRESULT _hr = put_LabComponentA(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3170)
+inline long VGCore::IVGColor::GetLabComponentB ( ) {
+    long _result = 0;
+    HRESULT _hr = get_LabComponentB(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3171)
+inline void VGCore::IVGColor::PutLabComponentB ( long pVal ) {
+    HRESULT _hr = put_LabComponentB(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3172)
+inline HRESULT VGCore::IVGColor::ConvertToLab ( ) {
+    HRESULT _hr = raw_ConvertToLab();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3173)
+inline HRESULT VGCore::IVGColor::RegistrationAssign ( ) {
+    HRESULT _hr = raw_RegistrationAssign();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3174)
+inline HRESULT VGCore::IVGColor::FixedAssign ( enum cdrPaletteID PaletteID, long PaletteIndex, long Tint ) {
+    HRESULT _hr = raw_FixedAssign(PaletteID, PaletteIndex, Tint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3175)
+inline enum VGCore::cdrPaletteID VGCore::IVGColor::GetPaletteID ( ) {
+    enum cdrPaletteID _result;
+    HRESULT _hr = get_PaletteID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3176)
+inline long VGCore::IVGColor::GetPaletteIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_PaletteIndex(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3177)
+inline void VGCore::IVGColor::PutPaletteIndex ( long pVal ) {
+    HRESULT _hr = put_PaletteIndex(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3178)
+inline long VGCore::IVGColor::GetTint ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Tint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3179)
+inline void VGCore::IVGColor::PutTint ( long pVal ) {
+    HRESULT _hr = put_Tint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3180)
+inline HRESULT VGCore::IVGColor::ConvertToFixed ( enum cdrPaletteID PaletteID ) {
+    HRESULT _hr = raw_ConvertToFixed(PaletteID);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3181)
+inline VARIANT_BOOL VGCore::IVGColor::UserAssignEx ( long ParentWindowHandle ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UserAssignEx(ParentWindowHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3182)
+inline HRESULT VGCore::IVGColor::SetName ( _bstr_t Name ) {
+    HRESULT _hr = raw_SetName(Name);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3183)
+inline HRESULT VGCore::IVGColor::BlendWith ( struct IVGColor * Color, long MixRatio ) {
+    HRESULT _hr = raw_BlendWith(Color, MixRatio);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3184)
+inline VARIANT_BOOL VGCore::IVGColor::IsSame ( struct IVGColor * Color ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsSame(Color, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3185)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsInGamut ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsInGamut(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3186)
+inline VGCore::IVGColorPtr VGCore::IVGColor::GetInGamutColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_InGamutColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3187)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsCMYK ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsCMYK(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3188)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsGray ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsGray(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3189)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsWhite ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsWhite(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3190)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsSpot ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsSpot(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3191)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsTintable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsTintable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3192)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsValidDuotoneColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsValidDuotoneColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3193)
+inline VGCore::IVGColorPtr VGCore::IVGColor::GetValidDuotoneColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_ValidDuotoneColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3194)
+inline long VGCore::IVGColor::GetColorDistanceFrom ( struct IVGColor * Color ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetColorDistanceFrom(Color, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3195)
+inline VARIANT_BOOL VGCore::IVGColor::IsSimilar ( struct IVGColor * Color ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsSimilar(Color, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3196)
+inline _bstr_t VGCore::IVGColor::ToString ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_ToString(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3197)
+inline VARIANT_BOOL VGCore::IVGColor::StringAssign ( _bstr_t ColorString ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_StringAssign(ColorString, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3198)
+inline HRESULT VGCore::IVGColor::Invalidate ( ) {
+    HRESULT _hr = raw_Invalidate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3199)
+inline _bstr_t VGCore::IVGColor::GetHexValue ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_HexValue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3200)
+inline void VGCore::IVGColor::PutHexValue ( _bstr_t pVal ) {
+    HRESULT _hr = put_HexValue(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3201)
+inline VGCore::IVGColorPtr VGCore::IVGColor::GetCopy ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3202)
+inline long VGCore::IVGColor::GetRGBValue ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RGBValue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3203)
+inline void VGCore::IVGColor::PutRGBValue ( long pVal ) {
+    HRESULT _hr = put_RGBValue(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3204)
+inline HRESULT VGCore::IVGColor::CopyAppearance ( struct IVGColor * Color, struct IVGColorContext * SourceColorContext ) {
+    HRESULT _hr = raw_CopyAppearance(Color, SourceColorContext);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3205)
+inline VGCore::IVGColorContextPtr VGCore::IVGColor::GetColorContext ( ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = get_ColorContext(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(3206)
+inline VARIANT_BOOL VGCore::IVGColor::ConvertTo ( enum cdrColorType ColorType, struct IVGColorContext * DestinationColorContext, struct IVGColorContext * SourceColorContext ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ConvertTo(ColorType, DestinationColorContext, SourceColorContext, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3207)
+inline VGCore::IVGPalettePtr VGCore::IVGColor::GetPalette ( ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = get_Palette(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3208)
+inline HRESULT VGCore::IVGColor::SpotAssign ( _bstr_t PaletteIdentifier, long SpotColorID, long Tint ) {
+    HRESULT _hr = raw_SpotAssign(PaletteIdentifier, SpotColorID, Tint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3209)
+inline HRESULT VGCore::IVGColor::SpotAssignByName ( _bstr_t PaletteIdentifier, _bstr_t SpotColorName, long Tint ) {
+    HRESULT _hr = raw_SpotAssignByName(PaletteIdentifier, SpotColorName, Tint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3210)
+inline HRESULT VGCore::IVGColor::ConvertToPalette ( _bstr_t PaletteIdentifier ) {
+    HRESULT _hr = raw_ConvertToPalette(PaletteIdentifier);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3211)
+inline long VGCore::IVGColor::GetSpotColorID ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SpotColorID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3212)
+inline void VGCore::IVGColor::PutSpotColorID ( long pVal ) {
+    HRESULT _hr = put_SpotColorID(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3213)
+inline _bstr_t VGCore::IVGColor::GetSpotColorName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_SpotColorName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3214)
+inline HRESULT VGCore::IVGColor::PaletteAssign ( _bstr_t PaletteIdentifier, long ColorIndex ) {
+    HRESULT _hr = raw_PaletteAssign(PaletteIdentifier, ColorIndex);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3215)
+inline _bstr_t VGCore::IVGColor::GetPaletteIdentifier ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PaletteIdentifier(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3216)
+inline VARIANT_BOOL VGCore::IVGColor::GetIsColorStyle ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsColorStyle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3217)
+inline _bstr_t VGCore::IVGColor::GetColorStyleName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ColorStyleName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3218)
+inline HRESULT VGCore::IVGColor::ModifyColorStyleColor ( struct IVGColor * Color, VARIANT_BOOL ChangeWholeHarmony ) {
+    HRESULT _hr = raw_ModifyColorStyleColor(Color, ChangeWholeHarmony);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGDuotoneInk wrapper method implementations
+//
+
+#pragma implementation_key(3219)
+inline VGCore::IVGColorPtr VGCore::IVGDuotoneInk::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3220)
+inline void VGCore::IVGDuotoneInk::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3221)
+inline long VGCore::IVGDuotoneInk::GetHandleCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HandleCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3222)
+inline long VGCore::IVGDuotoneInk::GetHandleX ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_HandleX(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3223)
+inline void VGCore::IVGDuotoneInk::PutHandleX ( long Index, long pVal ) {
+    HRESULT _hr = put_HandleX(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3224)
+inline long VGCore::IVGDuotoneInk::GetHandleY ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_HandleY(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3225)
+inline void VGCore::IVGDuotoneInk::PutHandleY ( long Index, long pVal ) {
+    HRESULT _hr = put_HandleY(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3226)
+inline long VGCore::IVGDuotoneInk::AddHandle ( long x, long y ) {
+    long _result = 0;
+    HRESULT _hr = raw_AddHandle(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3227)
+inline VARIANT_BOOL VGCore::IVGDuotoneInk::RemoveHandle ( long Index ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_RemoveHandle(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3228)
+inline long VGCore::IVGDuotoneInk::FindHandle ( long x, long y ) {
+    long _result = 0;
+    HRESULT _hr = raw_FindHandle(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3229)
+inline VARIANT_BOOL VGCore::IVGDuotoneInk::Load ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Load(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3230)
+inline VARIANT_BOOL VGCore::IVGDuotoneInk::Save ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Save(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3231)
+inline long VGCore::IVGDuotoneInk::GetCurveLevel ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_CurveLevel(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3232)
+inline HRESULT VGCore::IVGDuotoneInk::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3233)
+inline SAFEARRAY * VGCore::IVGDuotoneInk::GetCurveLevels ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetCurveLevels(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3234)
+inline SAFEARRAY * VGCore::IVGDuotoneInk::GetHandles ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetHandles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3235)
+inline HRESULT VGCore::IVGDuotoneInk::PutHandles ( const _variant_t & HandleArray, long NumElements ) {
+    HRESULT _hr = raw_PutHandles(HandleArray, NumElements);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGFountainColor wrapper method implementations
+//
+
+#pragma implementation_key(3236)
+inline long VGCore::IVGFountainColor::GetPosition ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3237)
+inline VGCore::IVGColorPtr VGCore::IVGFountainColor::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3238)
+inline void VGCore::IVGFountainColor::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3239)
+inline HRESULT VGCore::IVGFountainColor::Move ( long NewPosition ) {
+    HRESULT _hr = raw_Move(NewPosition);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3240)
+inline HRESULT VGCore::IVGFountainColor::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3241)
+inline long VGCore::IVGFountainColor::GetMidPoint ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MidPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3242)
+inline void VGCore::IVGFountainColor::PutMidPoint ( long pVal ) {
+    HRESULT _hr = put_MidPoint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3243)
+inline enum VGCore::cdrFountainFillBlendType VGCore::IVGFountainColor::GetBlendType ( ) {
+    enum cdrFountainFillBlendType _result;
+    HRESULT _hr = get_BlendType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3244)
+inline void VGCore::IVGFountainColor::PutBlendType ( enum cdrFountainFillBlendType pVal ) {
+    HRESULT _hr = put_BlendType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3245)
+inline unsigned char VGCore::IVGFountainColor::GetOpacity ( ) {
+    unsigned char _result = 0;
+    HRESULT _hr = get_Opacity(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3246)
+inline void VGCore::IVGFountainColor::PutOpacity ( unsigned char pVal ) {
+    HRESULT _hr = put_Opacity(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGFountainColors wrapper method implementations
+//
+
+#pragma implementation_key(3247)
+inline VGCore::IVGFountainColorPtr VGCore::IVGFountainColors::GetItem ( long Index ) {
+    struct IVGFountainColor * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainColorPtr(_result, false);
+}
+
+#pragma implementation_key(3248)
+inline void VGCore::IVGFountainColors::PutItem ( long Index, struct IVGFountainColor * ppVal ) {
+    HRESULT _hr = put_Item(Index, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3249)
+inline IUnknownPtr VGCore::IVGFountainColors::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3250)
+inline long VGCore::IVGFountainColors::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3251)
+inline HRESULT VGCore::IVGFountainColors::Add ( struct IVGColor * Color, long Position ) {
+    HRESULT _hr = raw_Add(Color, Position);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3252)
+inline long VGCore::IVGFountainColors::GetGrayLevel ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_GrayLevel(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3253)
+inline void VGCore::IVGFountainColors::PutGrayLevel ( long Index, long pVal ) {
+    HRESULT _hr = put_GrayLevel(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3254)
+inline HRESULT VGCore::IVGFountainColors::AddGrayLevel ( long GrayLevel, long Position ) {
+    HRESULT _hr = raw_AddGrayLevel(GrayLevel, Position);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3255)
+inline VGCore::IVGFountainColorPtr VGCore::IVGFountainColors::GetFirst ( ) {
+    struct IVGFountainColor * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainColorPtr(_result, false);
+}
+
+#pragma implementation_key(3256)
+inline VGCore::IVGFountainColorPtr VGCore::IVGFountainColors::GetLast ( ) {
+    struct IVGFountainColor * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainColorPtr(_result, false);
+}
+
+//
+// interface IVGFountainFill wrapper method implementations
+//
+
+#pragma implementation_key(3257)
+inline enum VGCore::cdrFountainFillType VGCore::IVGFountainFill::GetType ( ) {
+    enum cdrFountainFillType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3258)
+inline void VGCore::IVGFountainFill::PutType ( enum cdrFountainFillType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3259)
+inline double VGCore::IVGFountainFill::GetStartX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3260)
+inline void VGCore::IVGFountainFill::PutStartX ( double pVal ) {
+    HRESULT _hr = put_StartX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3261)
+inline double VGCore::IVGFountainFill::GetStartY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3262)
+inline void VGCore::IVGFountainFill::PutStartY ( double pVal ) {
+    HRESULT _hr = put_StartY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3263)
+inline double VGCore::IVGFountainFill::GetEndX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3264)
+inline void VGCore::IVGFountainFill::PutEndX ( double pVal ) {
+    HRESULT _hr = put_EndX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3265)
+inline double VGCore::IVGFountainFill::GetEndY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3266)
+inline void VGCore::IVGFountainFill::PutEndY ( double pVal ) {
+    HRESULT _hr = put_EndY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3267)
+inline double VGCore::IVGFountainFill::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3268)
+inline HRESULT VGCore::IVGFountainFill::SetAngle ( double Angle ) {
+    HRESULT _hr = raw_SetAngle(Angle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3269)
+inline HRESULT VGCore::IVGFountainFill::Translate ( double x, double y ) {
+    HRESULT _hr = raw_Translate(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3270)
+inline long VGCore::IVGFountainFill::GetEdgePad ( ) {
+    long _result = 0;
+    HRESULT _hr = get_EdgePad(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3271)
+inline long VGCore::IVGFountainFill::GetSteps ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Steps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3272)
+inline void VGCore::IVGFountainFill::PutSteps ( long pVal ) {
+    HRESULT _hr = put_Steps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3273)
+inline enum VGCore::cdrFountainFillBlendType VGCore::IVGFountainFill::GetBlendType ( ) {
+    enum cdrFountainFillBlendType _result;
+    HRESULT _hr = get_BlendType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3274)
+inline void VGCore::IVGFountainFill::PutBlendType ( enum cdrFountainFillBlendType pVal ) {
+    HRESULT _hr = put_BlendType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3275)
+inline long VGCore::IVGFountainFill::GetMidPoint ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MidPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3276)
+inline void VGCore::IVGFountainFill::PutMidPoint ( long pVal ) {
+    HRESULT _hr = put_MidPoint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3277)
+inline VGCore::IVGFountainColorsPtr VGCore::IVGFountainFill::GetColors ( ) {
+    struct IVGFountainColors * _result = 0;
+    HRESULT _hr = get_Colors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainColorsPtr(_result, false);
+}
+
+#pragma implementation_key(3278)
+inline VGCore::IVGColorPtr VGCore::IVGFountainFill::GetStartColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_StartColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3279)
+inline void VGCore::IVGFountainFill::PutStartColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_StartColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3280)
+inline VGCore::IVGColorPtr VGCore::IVGFountainFill::GetEndColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_EndColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3281)
+inline void VGCore::IVGFountainFill::PutEndColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_EndColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3282)
+inline void VGCore::IVGFountainFill::PutColors ( struct IVGFountainColors * ppVal ) {
+    HRESULT _hr = put_Colors(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3283)
+inline HRESULT VGCore::IVGFountainFill::SetEdgePad ( long EdgePad ) {
+    HRESULT _hr = raw_SetEdgePad(EdgePad);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3284)
+inline double VGCore::IVGFountainFill::GetCenterOffsetX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterOffsetX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3285)
+inline void VGCore::IVGFountainFill::PutCenterOffsetX ( double pVal ) {
+    HRESULT _hr = put_CenterOffsetX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3286)
+inline double VGCore::IVGFountainFill::GetCenterOffsetY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterOffsetY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3287)
+inline void VGCore::IVGFountainFill::PutCenterOffsetY ( double pVal ) {
+    HRESULT _hr = put_CenterOffsetY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3288)
+inline VARIANT_BOOL VGCore::IVGFountainFill::GetSmoothBlend ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SmoothBlend(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3289)
+inline void VGCore::IVGFountainFill::PutSmoothBlend ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_SmoothBlend(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3290)
+inline enum VGCore::cdrFountainFillSpreadMethod VGCore::IVGFountainFill::GetSpreadMethod ( ) {
+    enum cdrFountainFillSpreadMethod _result;
+    HRESULT _hr = get_SpreadMethod(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3291)
+inline void VGCore::IVGFountainFill::PutSpreadMethod ( enum cdrFountainFillSpreadMethod pVal ) {
+    HRESULT _hr = put_SpreadMethod(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3292)
+inline VARIANT_BOOL VGCore::IVGFountainFill::GetAnisotropic ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Anisotropic(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3293)
+inline void VGCore::IVGFountainFill::PutAnisotropic ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Anisotropic(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3294)
+inline VARIANT_BOOL VGCore::IVGFountainFill::GetIsTransparent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsTransparent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3295)
+inline enum VGCore::cdrMergeMode VGCore::IVGFountainFill::GetMergeMode ( ) {
+    enum cdrMergeMode _result;
+    HRESULT _hr = get_MergeMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3296)
+inline void VGCore::IVGFountainFill::PutMergeMode ( enum cdrMergeMode pVal ) {
+    HRESULT _hr = put_MergeMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3297)
+inline double VGCore::IVGFountainFill::GetScaleX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_ScaleX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3298)
+inline void VGCore::IVGFountainFill::PutScaleX ( double pVal ) {
+    HRESULT _hr = put_ScaleX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3299)
+inline double VGCore::IVGFountainFill::GetScaleY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_ScaleY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3300)
+inline void VGCore::IVGFountainFill::PutScaleY ( double pVal ) {
+    HRESULT _hr = put_ScaleY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3301)
+inline double VGCore::IVGFountainFill::GetSkew ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Skew(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3302)
+inline void VGCore::IVGFountainFill::PutSkew ( double pVal ) {
+    HRESULT _hr = put_Skew(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3303)
+inline double VGCore::IVGFountainFill::GetBlendAcceleration ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BlendAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3304)
+inline void VGCore::IVGFountainFill::PutBlendAcceleration ( double pVal ) {
+    HRESULT _hr = put_BlendAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3305)
+inline HRESULT VGCore::IVGFountainFill::MakeOpaque ( ) {
+    HRESULT _hr = raw_MakeOpaque();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3306)
+inline HRESULT VGCore::IVGFountainFill::GetTransformations ( double * d11, double * d12, double * d21, double * d22 ) {
+    HRESULT _hr = raw_GetTransformations(d11, d12, d21, d22);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3307)
+inline HRESULT VGCore::IVGFountainFill::SetTransformations ( double d11, double d12, double d21, double d22 ) {
+    HRESULT _hr = raw_SetTransformations(d11, d12, d21, d22);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3308)
+inline VARIANT_BOOL VGCore::IVGFountainFill::GetHasHSBBlends ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasHSBBlends(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3309)
+inline VARIANT_BOOL VGCore::IVGFountainFill::GetHasNonLinearBlends ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasNonLinearBlends(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3310)
+inline double VGCore::IVGFountainFill::GetEnd2X ( ) {
+    double _result = 0;
+    HRESULT _hr = get_End2X(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3311)
+inline void VGCore::IVGFountainFill::PutEnd2X ( double pVal ) {
+    HRESULT _hr = put_End2X(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3312)
+inline double VGCore::IVGFountainFill::GetEnd2Y ( ) {
+    double _result = 0;
+    HRESULT _hr = get_End2Y(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3313)
+inline void VGCore::IVGFountainFill::PutEnd2Y ( double pVal ) {
+    HRESULT _hr = put_End2Y(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGPatternFill wrapper method implementations
+//
+
+#pragma implementation_key(3314)
+inline enum VGCore::cdrPatternFillType VGCore::IVGPatternFill::GetType ( ) {
+    enum cdrPatternFillType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3315)
+inline void VGCore::IVGPatternFill::PutType ( enum cdrPatternFillType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3316)
+inline VGCore::IVGColorPtr VGCore::IVGPatternFill::GetFrontColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_FrontColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3317)
+inline void VGCore::IVGPatternFill::PutFrontColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_FrontColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3318)
+inline VGCore::IVGColorPtr VGCore::IVGPatternFill::GetBackColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_BackColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3319)
+inline void VGCore::IVGPatternFill::PutBackColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_BackColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3320)
+inline VGCore::IVGPatternCanvasPtr VGCore::IVGPatternFill::GetCanvas ( ) {
+    struct IVGPatternCanvas * _result = 0;
+    HRESULT _hr = get_Canvas(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternCanvasPtr(_result, false);
+}
+
+#pragma implementation_key(3321)
+inline void VGCore::IVGPatternFill::PutCanvas ( struct IVGPatternCanvas * ppVal ) {
+    HRESULT _hr = put_Canvas(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3322)
+inline _bstr_t VGCore::IVGPatternFill::GetFilePath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FilePath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3323)
+inline double VGCore::IVGPatternFill::GetOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3324)
+inline void VGCore::IVGPatternFill::PutOriginX ( double pVal ) {
+    HRESULT _hr = put_OriginX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3325)
+inline double VGCore::IVGPatternFill::GetOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3326)
+inline void VGCore::IVGPatternFill::PutOriginY ( double pVal ) {
+    HRESULT _hr = put_OriginY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3327)
+inline double VGCore::IVGPatternFill::GetTileWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3328)
+inline void VGCore::IVGPatternFill::PutTileWidth ( double pVal ) {
+    HRESULT _hr = put_TileWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3329)
+inline double VGCore::IVGPatternFill::GetTileHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3330)
+inline void VGCore::IVGPatternFill::PutTileHeight ( double pVal ) {
+    HRESULT _hr = put_TileHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3331)
+inline enum VGCore::cdrTileOffsetType VGCore::IVGPatternFill::GetTileOffsetType ( ) {
+    enum cdrTileOffsetType _result;
+    HRESULT _hr = get_TileOffsetType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3332)
+inline void VGCore::IVGPatternFill::PutTileOffsetType ( enum cdrTileOffsetType pVal ) {
+    HRESULT _hr = put_TileOffsetType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3333)
+inline long VGCore::IVGPatternFill::GetTileOffset ( ) {
+    long _result = 0;
+    HRESULT _hr = get_TileOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3334)
+inline void VGCore::IVGPatternFill::PutTileOffset ( long pVal ) {
+    HRESULT _hr = put_TileOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3335)
+inline double VGCore::IVGPatternFill::GetSkewAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SkewAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3336)
+inline void VGCore::IVGPatternFill::PutSkewAngle ( double pVal ) {
+    HRESULT _hr = put_SkewAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3337)
+inline double VGCore::IVGPatternFill::GetRotationAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3338)
+inline void VGCore::IVGPatternFill::PutRotationAngle ( double pVal ) {
+    HRESULT _hr = put_RotationAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3339)
+inline VARIANT_BOOL VGCore::IVGPatternFill::GetTransformWithShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TransformWithShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3340)
+inline void VGCore::IVGPatternFill::PutTransformWithShape ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TransformWithShape(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3341)
+inline VARIANT_BOOL VGCore::IVGPatternFill::Load ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Load(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3342)
+inline VARIANT_BOOL VGCore::IVGPatternFill::GetMirrorFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3343)
+inline void VGCore::IVGPatternFill::PutMirrorFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3344)
+inline VARIANT_BOOL VGCore::IVGPatternFill::GetMirrorFillX ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFillX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3345)
+inline void VGCore::IVGPatternFill::PutMirrorFillX ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFillX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3346)
+inline VARIANT_BOOL VGCore::IVGPatternFill::GetMirrorFillY ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFillY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3347)
+inline void VGCore::IVGPatternFill::PutMirrorFillY ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFillY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGOutline wrapper method implementations
+//
+
+#pragma implementation_key(3348)
+inline double VGCore::IVGOutline::GetWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3349)
+inline void VGCore::IVGOutline::PutWidth ( double pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3350)
+inline VGCore::IVGColorPtr VGCore::IVGOutline::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3351)
+inline void VGCore::IVGOutline::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3352)
+inline VGCore::IVGShapePtr VGCore::IVGOutline::ConvertToObject ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_ConvertToObject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3353)
+inline enum VGCore::cdrOutlineType VGCore::IVGOutline::GetType ( ) {
+    enum cdrOutlineType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3354)
+inline void VGCore::IVGOutline::PutType ( enum cdrOutlineType Type ) {
+    HRESULT _hr = put_Type(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3355)
+inline VGCore::IVGOutlineStylePtr VGCore::IVGOutline::GetStyle ( ) {
+    struct IVGOutlineStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlineStylePtr(_result, false);
+}
+
+#pragma implementation_key(3356)
+inline void VGCore::IVGOutline::PutStyle ( struct IVGOutlineStyle * ppStyle ) {
+    HRESULT _hr = put_Style(ppStyle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3357)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGOutline::GetStartArrow ( ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = get_StartArrow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(3358)
+inline void VGCore::IVGOutline::PutStartArrow ( struct IVGArrowHead * ppArrowHead ) {
+    HRESULT _hr = put_StartArrow(ppArrowHead);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3359)
+inline VGCore::IVGArrowHeadPtr VGCore::IVGOutline::GetEndArrow ( ) {
+    struct IVGArrowHead * _result = 0;
+    HRESULT _hr = get_EndArrow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadPtr(_result, false);
+}
+
+#pragma implementation_key(3360)
+inline void VGCore::IVGOutline::PutEndArrow ( struct IVGArrowHead * ppArrowHead ) {
+    HRESULT _hr = put_EndArrow(ppArrowHead);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3361)
+inline long VGCore::IVGOutline::GetNibStretch ( ) {
+    long _result = 0;
+    HRESULT _hr = get_NibStretch(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3362)
+inline void VGCore::IVGOutline::PutNibStretch ( long pVal ) {
+    HRESULT _hr = put_NibStretch(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3363)
+inline double VGCore::IVGOutline::GetNibAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_NibAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3364)
+inline void VGCore::IVGOutline::PutNibAngle ( double pVal ) {
+    HRESULT _hr = put_NibAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3365)
+inline VARIANT_BOOL VGCore::IVGOutline::GetBehindFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BehindFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3366)
+inline void VGCore::IVGOutline::PutBehindFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BehindFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3367)
+inline enum VGCore::cdrOutlineLineCaps VGCore::IVGOutline::GetLineCaps ( ) {
+    enum cdrOutlineLineCaps _result;
+    HRESULT _hr = get_LineCaps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3368)
+inline void VGCore::IVGOutline::PutLineCaps ( enum cdrOutlineLineCaps pVal ) {
+    HRESULT _hr = put_LineCaps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3369)
+inline enum VGCore::cdrOutlineLineJoin VGCore::IVGOutline::GetLineJoin ( ) {
+    enum cdrOutlineLineJoin _result;
+    HRESULT _hr = get_LineJoin(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3370)
+inline void VGCore::IVGOutline::PutLineJoin ( enum cdrOutlineLineJoin pVal ) {
+    HRESULT _hr = put_LineJoin(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3371)
+inline VARIANT_BOOL VGCore::IVGOutline::GetScaleWithShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ScaleWithShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3372)
+inline void VGCore::IVGOutline::PutScaleWithShape ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ScaleWithShape(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3373)
+inline HRESULT VGCore::IVGOutline::SetProperties ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit ) {
+    HRESULT _hr = raw_SetProperties(Width, Style, Color, StartArrow, EndArrow, BehindFill, ScaleWithShape, LineCaps, LineJoin, NibAngle, NibStretch, DashDotLength, PenWidth, MiterLimit);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3374)
+inline double VGCore::IVGOutline::GetSize ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Size(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3375)
+inline void VGCore::IVGOutline::PutSize ( double pVal ) {
+    HRESULT _hr = put_Size(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3376)
+inline VGCore::IVGOutlinePtr VGCore::IVGOutline::GetCopy ( ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(3377)
+inline HRESULT VGCore::IVGOutline::CopyAssign ( struct IVGOutline * SourceOutline ) {
+    HRESULT _hr = raw_CopyAssign(SourceOutline);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3378)
+inline VARIANT_BOOL VGCore::IVGOutline::UserAssign ( long ParentWindowHandle ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UserAssign(ParentWindowHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3379)
+inline VGCore::IVGPSScreenOptionsPtr VGCore::IVGOutline::GetPSScreen ( ) {
+    struct IVGPSScreenOptions * _result = 0;
+    HRESULT _hr = get_PSScreen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPSScreenOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(3380)
+inline VARIANT_BOOL VGCore::IVGOutline::CompareWith ( struct IVGOutline * Outline ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CompareWith(Outline, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3381)
+inline double VGCore::IVGOutline::GetDashDotLength ( ) {
+    double _result = 0;
+    HRESULT _hr = get_DashDotLength(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3382)
+inline void VGCore::IVGOutline::PutDashDotLength ( double pVal ) {
+    HRESULT _hr = put_DashDotLength(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3383)
+inline _bstr_t VGCore::IVGOutline::ToString ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_ToString(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3384)
+inline VARIANT_BOOL VGCore::IVGOutline::StringAssign ( _bstr_t OutlineString ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_StringAssign(OutlineString, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3385)
+inline double VGCore::IVGOutline::GetPenWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PenWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3386)
+inline void VGCore::IVGOutline::PutPenWidth ( double pVal ) {
+    HRESULT _hr = put_PenWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3387)
+inline double VGCore::IVGOutline::GetMiterLimit ( ) {
+    double _result = 0;
+    HRESULT _hr = get_MiterLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3388)
+inline void VGCore::IVGOutline::PutMiterLimit ( double pVal ) {
+    HRESULT _hr = put_MiterLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3389)
+inline HRESULT VGCore::IVGOutline::SetNoOutline ( ) {
+    HRESULT _hr = raw_SetNoOutline();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3390)
+inline VGCore::IVGArrowHeadOptionsPtr VGCore::IVGOutline::GetStartArrowOptions ( ) {
+    struct IVGArrowHeadOptions * _result = 0;
+    HRESULT _hr = get_StartArrowOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(3391)
+inline void VGCore::IVGOutline::PutStartArrowOptions ( struct IVGArrowHeadOptions * ppVal ) {
+    HRESULT _hr = put_StartArrowOptions(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3392)
+inline VGCore::IVGArrowHeadOptionsPtr VGCore::IVGOutline::GetEndArrowOptions ( ) {
+    struct IVGArrowHeadOptions * _result = 0;
+    HRESULT _hr = get_EndArrowOptions(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGArrowHeadOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(3393)
+inline void VGCore::IVGOutline::PutEndArrowOptions ( struct IVGArrowHeadOptions * ppVal ) {
+    HRESULT _hr = put_EndArrowOptions(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3394)
+inline enum VGCore::cdrOutlineJustification VGCore::IVGOutline::GetJustification ( ) {
+    enum cdrOutlineJustification _result;
+    HRESULT _hr = get_Justification(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3395)
+inline void VGCore::IVGOutline::PutJustification ( enum cdrOutlineJustification pVal ) {
+    HRESULT _hr = put_Justification(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3396)
+inline HRESULT VGCore::IVGOutline::SetPropertiesEx ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit, enum cdrOutlineJustification Justification ) {
+    HRESULT _hr = raw_SetPropertiesEx(Width, Style, Color, StartArrow, EndArrow, BehindFill, ScaleWithShape, LineCaps, LineJoin, NibAngle, NibStretch, DashDotLength, PenWidth, MiterLimit, Justification);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3397)
+inline enum VGCore::cdrOutlineDashAdjust VGCore::IVGOutline::GetAdjustDashes ( ) {
+    enum cdrOutlineDashAdjust _result;
+    HRESULT _hr = get_AdjustDashes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3398)
+inline void VGCore::IVGOutline::PutAdjustDashes ( enum cdrOutlineDashAdjust pVal ) {
+    HRESULT _hr = put_AdjustDashes(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGHatchPattern wrapper method implementations
+//
+
+#pragma implementation_key(3399)
+inline double VGCore::IVGHatchPattern::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3400)
+inline void VGCore::IVGHatchPattern::PutAngle ( double pVal ) {
+    HRESULT _hr = put_Angle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3401)
+inline double VGCore::IVGHatchPattern::GetOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3402)
+inline void VGCore::IVGHatchPattern::PutOriginX ( double pVal ) {
+    HRESULT _hr = put_OriginX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3403)
+inline double VGCore::IVGHatchPattern::GetOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3404)
+inline void VGCore::IVGHatchPattern::PutOriginY ( double pVal ) {
+    HRESULT _hr = put_OriginY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3405)
+inline double VGCore::IVGHatchPattern::GetSpacing ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Spacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3406)
+inline void VGCore::IVGHatchPattern::PutSpacing ( double pVal ) {
+    HRESULT _hr = put_Spacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3407)
+inline double VGCore::IVGHatchPattern::GetShift ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Shift(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3408)
+inline void VGCore::IVGHatchPattern::PutShift ( double pVal ) {
+    HRESULT _hr = put_Shift(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3409)
+inline double VGCore::IVGHatchPattern::GetShiftPercent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_ShiftPercent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3410)
+inline void VGCore::IVGHatchPattern::PutShiftPercent ( double pVal ) {
+    HRESULT _hr = put_ShiftPercent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3411)
+inline VGCore::IVGOutlinePtr VGCore::IVGHatchPattern::GetOutline ( ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = get_Outline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(3412)
+inline long VGCore::IVGHatchPattern::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3413)
+inline HRESULT VGCore::IVGHatchPattern::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3414)
+inline HRESULT VGCore::IVGHatchPattern::SetOrigin ( double OriginX, double OriginY ) {
+    HRESULT _hr = raw_SetOrigin(OriginX, OriginY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3415)
+inline HRESULT VGCore::IVGHatchPattern::GetOrigin ( double * OriginX, double * OriginY ) {
+    HRESULT _hr = raw_GetOrigin(OriginX, OriginY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3416)
+inline HRESULT VGCore::IVGHatchPattern::SetProperties ( const _variant_t & Angle, double Spacing, const _variant_t & Shift, const _variant_t & OriginX, const _variant_t & OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth ) {
+    HRESULT _hr = raw_SetProperties(Angle, Spacing, Shift, OriginX, OriginY, Width, Color, Style, DashDotLength, PenWidth);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3417)
+inline HRESULT VGCore::IVGHatchPattern::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGHatchPatterns wrapper method implementations
+//
+
+#pragma implementation_key(3418)
+inline long VGCore::IVGHatchPatterns::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3419)
+inline VGCore::IVGHatchPatternPtr VGCore::IVGHatchPatterns::GetItem ( long Index ) {
+    struct IVGHatchPattern * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchPatternPtr(_result, false);
+}
+
+#pragma implementation_key(3420)
+inline IUnknownPtr VGCore::IVGHatchPatterns::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3421)
+inline HRESULT VGCore::IVGHatchPatterns::Reset ( ) {
+    HRESULT _hr = raw_Reset();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGImage wrapper method implementations
+//
+
+#pragma implementation_key(3422)
+inline enum VGCore::cdrImageType VGCore::IVGImage::GetType ( ) {
+    enum cdrImageType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3423)
+inline long VGCore::IVGImage::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3424)
+inline long VGCore::IVGImage::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3425)
+inline VGCore::IVGColorPtr VGCore::IVGImage::GetPixel ( long x, long y ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Pixel(x, y, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3426)
+inline VGCore::IVGImagePtr VGCore::IVGImage::GetCopy ( ) {
+    struct IVGImage * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImagePtr(_result, false);
+}
+
+#pragma implementation_key(3427)
+inline VARIANT_BOOL VGCore::IVGImage::GetReadOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ReadOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3428)
+inline VGCore::IVGImageTilesPtr VGCore::IVGImage::GetTiles ( ) {
+    struct IVGImageTiles * _result = 0;
+    HRESULT _hr = get_Tiles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGImageTilesPtr(_result, false);
+}
+
+#pragma implementation_key(3429)
+inline HRESULT VGCore::IVGImage::Blit ( long DestX, long DestY, long DestWidth, long DestHeight, struct IVGImage * SrcImage, long SrcX, long SrcY, long SrcWidth, long SrcHeight, enum cdrMergeMode MergeMode ) {
+    HRESULT _hr = raw_Blit(DestX, DestY, DestWidth, DestHeight, SrcImage, SrcX, SrcY, SrcWidth, SrcHeight, MergeMode);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3430)
+inline HRESULT VGCore::IVGImage::FillArea ( long x, long y, long Width, long Height, struct IVGColor * Color ) {
+    HRESULT _hr = raw_FillArea(x, y, Width, Height, Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3431)
+inline HRESULT VGCore::IVGImage::FlipArea ( long x, long y, long Width, long Height, enum cdrFlipAxes Axes ) {
+    HRESULT _hr = raw_FlipArea(x, y, Width, Height, Axes);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGTransparency wrapper method implementations
+//
+
+#pragma implementation_key(3432)
+inline IDispatchPtr VGCore::IVGTransparency::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3433)
+inline IDispatchPtr VGCore::IVGTransparency::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3434)
+inline enum VGCore::cdrTransparencyType VGCore::IVGTransparency::GetType ( ) {
+    enum cdrTransparencyType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3435)
+inline long VGCore::IVGTransparency::GetUniform ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Uniform(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3436)
+inline void VGCore::IVGTransparency::PutUniform ( long pVal ) {
+    HRESULT _hr = put_Uniform(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3437)
+inline VGCore::IVGFountainFillPtr VGCore::IVGTransparency::GetFountain ( ) {
+    struct IVGFountainFill * _result = 0;
+    HRESULT _hr = get_Fountain(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainFillPtr(_result, false);
+}
+
+#pragma implementation_key(3438)
+inline void VGCore::IVGTransparency::PutFountain ( struct IVGFountainFill * ppVal ) {
+    HRESULT _hr = put_Fountain(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3439)
+inline VGCore::IVGPatternFillPtr VGCore::IVGTransparency::GetPattern ( ) {
+    struct IVGPatternFill * _result = 0;
+    HRESULT _hr = get_Pattern(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternFillPtr(_result, false);
+}
+
+#pragma implementation_key(3440)
+inline void VGCore::IVGTransparency::PutPattern ( struct IVGPatternFill * ppVal ) {
+    HRESULT _hr = put_Pattern(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3441)
+inline VGCore::IVGTextureFillPtr VGCore::IVGTransparency::GetTexture ( ) {
+    struct IVGTextureFill * _result = 0;
+    HRESULT _hr = get_Texture(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextureFillPtr(_result, false);
+}
+
+#pragma implementation_key(3442)
+inline void VGCore::IVGTransparency::PutTexture ( struct IVGTextureFill * ppVal ) {
+    HRESULT _hr = put_Texture(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3443)
+inline long VGCore::IVGTransparency::GetStart ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Start(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3444)
+inline void VGCore::IVGTransparency::PutStart ( long pVal ) {
+    HRESULT _hr = put_Start(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3445)
+inline long VGCore::IVGTransparency::GetEnd ( ) {
+    long _result = 0;
+    HRESULT _hr = get_End(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3446)
+inline void VGCore::IVGTransparency::PutEnd ( long pVal ) {
+    HRESULT _hr = put_End(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3447)
+inline VARIANT_BOOL VGCore::IVGTransparency::GetFrozen ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Frozen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3448)
+inline HRESULT VGCore::IVGTransparency::ApplyNoTransparency ( ) {
+    HRESULT _hr = raw_ApplyNoTransparency();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3449)
+inline HRESULT VGCore::IVGTransparency::ApplyUniformTransparency ( long Value ) {
+    HRESULT _hr = raw_ApplyUniformTransparency(Value);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3450)
+inline VGCore::IVGFountainFillPtr VGCore::IVGTransparency::ApplyFountainTransparency ( long Start, long End, enum cdrFountainFillType Type, double Angle, long Steps, long EdgePad, long MidPoint, double CenterOffsetX, double CenterOffsetY ) {
+    struct IVGFountainFill * _result = 0;
+    HRESULT _hr = raw_ApplyFountainTransparency(Start, End, Type, Angle, Steps, EdgePad, MidPoint, CenterOffsetX, CenterOffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainFillPtr(_result, false);
+}
+
+#pragma implementation_key(3451)
+inline VGCore::IVGPatternFillPtr VGCore::IVGTransparency::ApplyPatternTransparency ( enum cdrPatternFillType Type, _bstr_t FileName, long PatternCanvasIndex, long Front, long Back, VARIANT_BOOL TransformWithShape ) {
+    struct IVGPatternFill * _result = 0;
+    HRESULT _hr = raw_ApplyPatternTransparency(Type, FileName, PatternCanvasIndex, Front, Back, TransformWithShape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternFillPtr(_result, false);
+}
+
+#pragma implementation_key(3452)
+inline VGCore::IVGTextureFillPtr VGCore::IVGTransparency::ApplyTextureTransparency ( _bstr_t TextureName, _bstr_t LibraryName, long Front, long Back ) {
+    struct IVGTextureFill * _result = 0;
+    HRESULT _hr = raw_ApplyTextureTransparency(TextureName, LibraryName, Front, Back, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextureFillPtr(_result, false);
+}
+
+#pragma implementation_key(3453)
+inline HRESULT VGCore::IVGTransparency::Freeze ( ) {
+    HRESULT _hr = raw_Freeze();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3454)
+inline HRESULT VGCore::IVGTransparency::Unfreeze ( ) {
+    HRESULT _hr = raw_Unfreeze();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3455)
+inline enum VGCore::cdrTransparencyAppliedTo VGCore::IVGTransparency::GetAppliedTo ( ) {
+    enum cdrTransparencyAppliedTo _result;
+    HRESULT _hr = get_AppliedTo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3456)
+inline void VGCore::IVGTransparency::PutAppliedTo ( enum cdrTransparencyAppliedTo pVal ) {
+    HRESULT _hr = put_AppliedTo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3457)
+inline enum VGCore::cdrMergeMode VGCore::IVGTransparency::GetMergeMode ( ) {
+    enum cdrMergeMode _result;
+    HRESULT _hr = get_MergeMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3458)
+inline void VGCore::IVGTransparency::PutMergeMode ( enum cdrMergeMode pVal ) {
+    HRESULT _hr = put_MergeMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3459)
+inline VARIANT_BOOL VGCore::IVGTransparency::UserAssign ( enum cdrTransparencyType TransparencyType, enum cdrPatternFillType PatternType, long ParentWindowHandle ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UserAssign(TransparencyType, PatternType, ParentWindowHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGDimension wrapper method implementations
+//
+
+#pragma implementation_key(3460)
+inline enum VGCore::cdrDimensionType VGCore::IVGDimension::GetType ( ) {
+    enum cdrDimensionType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3461)
+inline VGCore::IVGDimensionLinearPtr VGCore::IVGDimension::GetLinear ( ) {
+    struct IVGDimensionLinear * _result = 0;
+    HRESULT _hr = get_Linear(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDimensionLinearPtr(_result, false);
+}
+
+#pragma implementation_key(3462)
+inline VGCore::IVGDimensionAngularPtr VGCore::IVGDimension::GetAngular ( ) {
+    struct IVGDimensionAngular * _result = 0;
+    HRESULT _hr = get_Angular(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDimensionAngularPtr(_result, false);
+}
+
+#pragma implementation_key(3463)
+inline long VGCore::IVGDimension::GetPrecision ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Precision(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3464)
+inline void VGCore::IVGDimension::PutPrecision ( long pVal ) {
+    HRESULT _hr = put_Precision(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3465)
+inline VARIANT_BOOL VGCore::IVGDimension::GetBoxedText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BoxedText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3466)
+inline void VGCore::IVGDimension::PutBoxedText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BoxedText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3467)
+inline VARIANT_BOOL VGCore::IVGDimension::GetLeadingZero ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_LeadingZero(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3468)
+inline void VGCore::IVGDimension::PutLeadingZero ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_LeadingZero(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3469)
+inline VGCore::IVGShapePtr VGCore::IVGDimension::GetTextShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_TextShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3470)
+inline _bstr_t VGCore::IVGDimension::GetPrefix ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Prefix(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3471)
+inline void VGCore::IVGDimension::PutPrefix ( _bstr_t pVal ) {
+    HRESULT _hr = put_Prefix(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3472)
+inline _bstr_t VGCore::IVGDimension::GetSuffix ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Suffix(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3473)
+inline void VGCore::IVGDimension::PutSuffix ( _bstr_t pVal ) {
+    HRESULT _hr = put_Suffix(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3474)
+inline VGCore::IVGOutlinePtr VGCore::IVGDimension::GetOutline ( ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = get_Outline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(3475)
+inline VARIANT_BOOL VGCore::IVGDimension::GetTextCentered ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TextCentered(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3476)
+inline void VGCore::IVGDimension::PutTextCentered ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TextCentered(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3477)
+inline VARIANT_BOOL VGCore::IVGDimension::GetShowUnits ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShowUnits(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3478)
+inline void VGCore::IVGDimension::PutShowUnits ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShowUnits(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3479)
+inline enum VGCore::cdrDimensionPlacement VGCore::IVGDimension::GetPlacement ( ) {
+    enum cdrDimensionPlacement _result;
+    HRESULT _hr = get_Placement(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3480)
+inline void VGCore::IVGDimension::PutPlacement ( enum cdrDimensionPlacement pVal ) {
+    HRESULT _hr = put_Placement(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3481)
+inline VARIANT_BOOL VGCore::IVGDimension::GetHorizontalText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HorizontalText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3482)
+inline void VGCore::IVGDimension::PutHorizontalText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_HorizontalText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3483)
+inline VARIANT_BOOL VGCore::IVGDimension::GetDynamicText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DynamicText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3484)
+inline void VGCore::IVGDimension::PutDynamicText ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DynamicText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3485)
+inline double VGCore::IVGDimension::GetDistanceFromObject ( ) {
+    double _result = 0;
+    HRESULT _hr = get_DistanceFromObject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3486)
+inline VARIANT_BOOL VGCore::IVGDimension::GetUseDistanceFromObject ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseDistanceFromObject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3487)
+inline void VGCore::IVGDimension::PutUseDistanceFromObject ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseDistanceFromObject(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3488)
+inline HRESULT VGCore::IVGDimension::SetDistanceFromObject ( double Distance ) {
+    HRESULT _hr = raw_SetDistanceFromObject(Distance);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3489)
+inline double VGCore::IVGDimension::GetOverhang ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Overhang(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3490)
+inline VARIANT_BOOL VGCore::IVGDimension::GetUseOverhang ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseOverhang(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3491)
+inline void VGCore::IVGDimension::PutUseOverhang ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseOverhang(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3492)
+inline HRESULT VGCore::IVGDimension::SetOverhang ( double Overhang ) {
+    HRESULT _hr = raw_SetOverhang(Overhang);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3493)
+inline double VGCore::IVGDimension::GetTextLabelGap ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TextLabelGap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3494)
+inline VARIANT_BOOL VGCore::IVGDimension::GetUseTextLabelGap ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseTextLabelGap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3495)
+inline void VGCore::IVGDimension::PutUseTextLabelGap ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseTextLabelGap(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3496)
+inline HRESULT VGCore::IVGDimension::SetTextLabelGap ( double Gap ) {
+    HRESULT _hr = raw_SetTextLabelGap(Gap);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3497)
+inline VARIANT_BOOL VGCore::IVGDimension::GetExtensionLinesVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ExtensionLinesVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3498)
+inline void VGCore::IVGDimension::PutExtensionLinesVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ExtensionLinesVisible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3499)
+inline VARIANT_BOOL VGCore::IVGDimension::GetInnerExtensionLinesVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_InnerExtensionLinesVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3500)
+inline void VGCore::IVGDimension::PutInnerExtensionLinesVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_InnerExtensionLinesVisible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3501)
+inline VARIANT_BOOL VGCore::IVGDimension::GetGapOnFreeExtensionVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_GapOnFreeExtensionVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3502)
+inline void VGCore::IVGDimension::PutGapOnFreeExtensionVisible ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_GapOnFreeExtensionVisible(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGCommentAnnotation wrapper method implementations
+//
+
+#pragma implementation_key(3503)
+inline VARIANT_BOOL VGCore::IVGCommentAnnotation::GetEndArrowVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_EndArrowVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3504)
+inline void VGCore::IVGCommentAnnotation::PutEndArrowVisible ( VARIANT_BOOL pRet ) {
+    HRESULT _hr = put_EndArrowVisible(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3505)
+inline VGCore::IVGCurvePtr VGCore::IVGCommentAnnotation::GetCurve ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Curve(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(3506)
+inline void VGCore::IVGCommentAnnotation::PutCurve ( struct IVGCurve * pRet ) {
+    HRESULT _hr = put_Curve(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3507)
+inline long VGCore::IVGCommentAnnotation::GetOutlineWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_OutlineWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3508)
+inline void VGCore::IVGCommentAnnotation::PutOutlineWidth ( long pRet ) {
+    HRESULT _hr = put_OutlineWidth(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3509)
+inline VGCore::IVGColorPtr VGCore::IVGCommentAnnotation::GetFillColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_FillColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3510)
+inline void VGCore::IVGCommentAnnotation::PutFillColor ( struct IVGColor * pRet ) {
+    HRESULT _hr = put_FillColor(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3511)
+inline VGCore::IVGColorPtr VGCore::IVGCommentAnnotation::GetOutlineColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_OutlineColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3512)
+inline void VGCore::IVGCommentAnnotation::PutOutlineColor ( struct IVGColor * pRet ) {
+    HRESULT _hr = put_OutlineColor(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3513)
+inline enum VGCore::cdrCommentAnnotationType VGCore::IVGCommentAnnotation::GetType ( ) {
+    enum cdrCommentAnnotationType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3514)
+inline VARIANT_BOOL VGCore::IVGCommentAnnotation::GetStartArrowVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_StartArrowVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3515)
+inline void VGCore::IVGCommentAnnotation::PutStartArrowVisible ( VARIANT_BOOL pRet ) {
+    HRESULT _hr = put_StartArrowVisible(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3516)
+inline HRESULT VGCore::IVGCommentAnnotation::Move ( double DeltaX, double DeltaY ) {
+    HRESULT _hr = raw_Move(DeltaX, DeltaY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3517)
+inline double VGCore::IVGCommentAnnotation::GetSizeWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3518)
+inline void VGCore::IVGCommentAnnotation::PutSizeWidth ( double pVal ) {
+    HRESULT _hr = put_SizeWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3519)
+inline double VGCore::IVGCommentAnnotation::GetSizeHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3520)
+inline void VGCore::IVGCommentAnnotation::PutSizeHeight ( double pVal ) {
+    HRESULT _hr = put_SizeHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3521)
+inline double VGCore::IVGCommentAnnotation::GetLeftX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LeftX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3522)
+inline void VGCore::IVGCommentAnnotation::PutLeftX ( double pVal ) {
+    HRESULT _hr = put_LeftX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3523)
+inline double VGCore::IVGCommentAnnotation::GetRightX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RightX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3524)
+inline void VGCore::IVGCommentAnnotation::PutRightX ( double pVal ) {
+    HRESULT _hr = put_RightX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3525)
+inline double VGCore::IVGCommentAnnotation::GetTopY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TopY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3526)
+inline void VGCore::IVGCommentAnnotation::PutTopY ( double pVal ) {
+    HRESULT _hr = put_TopY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3527)
+inline double VGCore::IVGCommentAnnotation::GetBottomY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BottomY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3528)
+inline void VGCore::IVGCommentAnnotation::PutBottomY ( double pVal ) {
+    HRESULT _hr = put_BottomY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3529)
+inline double VGCore::IVGCommentAnnotation::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3530)
+inline void VGCore::IVGCommentAnnotation::PutCenterX ( double pVal ) {
+    HRESULT _hr = put_CenterX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3531)
+inline double VGCore::IVGCommentAnnotation::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3532)
+inline void VGCore::IVGCommentAnnotation::PutCenterY ( double pVal ) {
+    HRESULT _hr = put_CenterY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3533)
+inline HRESULT VGCore::IVGCommentAnnotation::SetPosition ( enum cdrReferencePoint ReferencePoint, double x, double y ) {
+    HRESULT _hr = raw_SetPosition(ReferencePoint, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3534)
+inline HRESULT VGCore::IVGCommentAnnotation::GetPosition ( enum cdrReferencePoint ReferencePoint, double * x, double * y ) {
+    HRESULT _hr = raw_GetPosition(ReferencePoint, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3535)
+inline HRESULT VGCore::IVGCommentAnnotation::SetSize ( enum cdrReferencePoint ReferencePoint, double Width, double Height ) {
+    HRESULT _hr = raw_SetSize(ReferencePoint, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3536)
+inline HRESULT VGCore::IVGCommentAnnotation::GetSize ( double * Width, double * Height ) {
+    HRESULT _hr = raw_GetSize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3537)
+inline HRESULT VGCore::IVGCommentAnnotation::GetBoundingBox ( double * x, double * y, double * Width, double * Height ) {
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3538)
+inline HRESULT VGCore::IVGCommentAnnotation::SetBoundingBox ( double x, double y, double Width, double Height, VARIANT_BOOL KeepAspect, enum cdrReferencePoint ReferencePoint ) {
+    HRESULT _hr = raw_SetBoundingBox(x, y, Width, Height, KeepAspect, ReferencePoint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGColorContext wrapper method implementations
+//
+
+#pragma implementation_key(3539)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorContext::GetRGBColorProfile ( ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_RGBColorProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3540)
+inline void VGCore::IVGColorContext::PutRGBColorProfile ( struct IVGColorProfile * ppVal ) {
+    HRESULT _hr = put_RGBColorProfile(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3541)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorContext::GetCMYKColorProfile ( ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_CMYKColorProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3542)
+inline void VGCore::IVGColorContext::PutCMYKColorProfile ( struct IVGColorProfile * ppVal ) {
+    HRESULT _hr = put_CMYKColorProfile(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3543)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorContext::GetGrayscaleColorProfile ( ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_GrayscaleColorProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3544)
+inline void VGCore::IVGColorContext::PutGrayscaleColorProfile ( struct IVGColorProfile * ppVal ) {
+    HRESULT _hr = put_GrayscaleColorProfile(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3545)
+inline enum VGCore::clrRenderingIntent VGCore::IVGColorContext::GetRenderingIntent ( ) {
+    enum clrRenderingIntent _result;
+    HRESULT _hr = get_RenderingIntent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3546)
+inline void VGCore::IVGColorContext::PutRenderingIntent ( enum clrRenderingIntent pVal ) {
+    HRESULT _hr = put_RenderingIntent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3547)
+inline enum VGCore::clrColorModel VGCore::IVGColorContext::GetBlendingColorModel ( ) {
+    enum clrColorModel _result;
+    HRESULT _hr = get_BlendingColorModel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3548)
+inline void VGCore::IVGColorContext::PutBlendingColorModel ( enum clrColorModel pVal ) {
+    HRESULT _hr = put_BlendingColorModel(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3549)
+inline VGCore::IVGColorContextPtr VGCore::IVGColorContext::GetCopy ( ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(3550)
+inline HRESULT VGCore::IVGColorContext::CopyAssign ( struct IVGColorContext * ColorContext ) {
+    HRESULT _hr = raw_CopyAssign(ColorContext);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3551)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorContext::GetColorProfile ( enum clrColorModel ColorModel ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_ColorProfile(ColorModel, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3552)
+inline void VGCore::IVGColorContext::PutColorProfile ( enum clrColorModel ColorModel, struct IVGColorProfile * ppVal ) {
+    HRESULT _hr = put_ColorProfile(ColorModel, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3553)
+inline VARIANT_BOOL VGCore::IVGColorContext::Merge ( struct IVGColorContext * ColorContext ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Merge(ColorContext, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3554)
+inline VARIANT_BOOL VGCore::IVGColorContext::IsSame ( struct IVGColorContext * ColorContext ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsSame(ColorContext, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3555)
+inline VGCore::IVGColorProfilesPtr VGCore::IVGColorContext::GetColorProfiles ( ) {
+    struct IVGColorProfiles * _result = 0;
+    HRESULT _hr = get_ColorProfiles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilesPtr(_result, false);
+}
+
+#pragma implementation_key(3556)
+inline VARIANT_BOOL VGCore::IVGColorContext::GetReadOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ReadOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3557)
+inline _bstr_t VGCore::IVGColorContext::GetColorProfileNameList ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ColorProfileNameList(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface IVGColorProfile wrapper method implementations
+//
+
+#pragma implementation_key(3558)
+inline _bstr_t VGCore::IVGColorProfile::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3559)
+inline _bstr_t VGCore::IVGColorProfile::GetFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3560)
+inline _bstr_t VGCore::IVGColorProfile::GetManufacturer ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Manufacturer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3561)
+inline _bstr_t VGCore::IVGColorProfile::GetDeviceModel ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DeviceModel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3562)
+inline enum VGCore::clrDeviceType VGCore::IVGColorProfile::GetDeviceType ( ) {
+    enum clrDeviceType _result;
+    HRESULT _hr = get_DeviceType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3563)
+inline VARIANT_BOOL VGCore::IVGColorProfile::GetSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Selected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3564)
+inline HRESULT VGCore::IVGColorProfile::Select ( ) {
+    HRESULT _hr = raw_Select();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3565)
+inline VARIANT_BOOL VGCore::IVGColorProfile::GetGeneric ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Generic(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3566)
+inline VARIANT_BOOL VGCore::IVGColorProfile::GetInstalled ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Installed(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3567)
+inline _bstr_t VGCore::IVGColorProfile::GetID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3568)
+inline enum VGCore::clrColorModel VGCore::IVGColorProfile::GetColorModel ( ) {
+    enum clrColorModel _result;
+    HRESULT _hr = get_ColorModel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3569)
+inline VGCore::IVGColorContextPtr VGCore::IVGColorProfile::CreateColorContext ( enum clrRenderingIntent RenderingIntent ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = raw_CreateColorContext(RenderingIntent, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(3570)
+inline VARIANT_BOOL VGCore::IVGColorProfile::IsSame ( struct IVGColorProfile * ColorProfile ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsSame(ColorProfile, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGColorProfiles wrapper method implementations
+//
+
+#pragma implementation_key(3571)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorProfiles::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3572)
+inline long VGCore::IVGColorProfiles::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3573)
+inline IUnknownPtr VGCore::IVGColorProfiles::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3574)
+inline enum VGCore::clrDeviceType VGCore::IVGColorProfiles::GetDeviceType ( ) {
+    enum clrDeviceType _result;
+    HRESULT _hr = get_DeviceType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3575)
+inline VARIANT_BOOL VGCore::IVGColorProfiles::SelectByName ( _bstr_t Name ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_SelectByName(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3576)
+inline VARIANT_BOOL VGCore::IVGColorProfiles::Install ( _bstr_t FileName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Install(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3577)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorProfiles::GetGenericProfile ( ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_GenericProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+//
+// interface IVGProofColorSettings wrapper method implementations
+//
+
+#pragma implementation_key(3578)
+inline VGCore::IVGColorContextPtr VGCore::IVGProofColorSettings::GetColorContext ( ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = get_ColorContext(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(3579)
+inline void VGCore::IVGProofColorSettings::PutColorContext ( struct IVGColorContext * ppVal ) {
+    HRESULT _hr = put_ColorContext(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3580)
+inline VARIANT_BOOL VGCore::IVGProofColorSettings::GetShowOutOfGamutWarning ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShowOutOfGamutWarning(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3581)
+inline void VGCore::IVGProofColorSettings::PutShowOutOfGamutWarning ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShowOutOfGamutWarning(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3582)
+inline VGCore::IVGColorPtr VGCore::IVGProofColorSettings::GetOutOfGamutColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_OutOfGamutColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3583)
+inline void VGCore::IVGProofColorSettings::PutOutOfGamutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_OutOfGamutColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3584)
+inline double VGCore::IVGProofColorSettings::GetOutOfGamutTransparency ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OutOfGamutTransparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3585)
+inline void VGCore::IVGProofColorSettings::PutOutOfGamutTransparency ( double pVal ) {
+    HRESULT _hr = put_OutOfGamutTransparency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3586)
+inline VARIANT_BOOL VGCore::IVGProofColorSettings::GetPreserveColorValues ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PreserveColorValues(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3587)
+inline void VGCore::IVGProofColorSettings::PutPreserveColorValues ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PreserveColorValues(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3588)
+inline VGCore::IVGProofColorSettingsPtr VGCore::IVGProofColorSettings::GetCopy ( ) {
+    struct IVGProofColorSettings * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGProofColorSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(3589)
+inline HRESULT VGCore::IVGProofColorSettings::CopyAssign ( struct IVGProofColorSettings * Source ) {
+    HRESULT _hr = raw_CopyAssign(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGStructExportOptions wrapper method implementations
+//
+
+#pragma implementation_key(3590)
+inline void VGCore::IVGStructExportOptions::PutSizeX ( long pVal ) {
+    HRESULT _hr = put_SizeX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3591)
+inline long VGCore::IVGStructExportOptions::GetSizeX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SizeX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3592)
+inline void VGCore::IVGStructExportOptions::PutSizeY ( long pVal ) {
+    HRESULT _hr = put_SizeY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3593)
+inline long VGCore::IVGStructExportOptions::GetSizeY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SizeY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3594)
+inline void VGCore::IVGStructExportOptions::PutResolutionX ( long pVal ) {
+    HRESULT _hr = put_ResolutionX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3595)
+inline long VGCore::IVGStructExportOptions::GetResolutionX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResolutionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3596)
+inline void VGCore::IVGStructExportOptions::PutResolutionY ( long pVal ) {
+    HRESULT _hr = put_ResolutionY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3597)
+inline long VGCore::IVGStructExportOptions::GetResolutionY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ResolutionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3598)
+inline void VGCore::IVGStructExportOptions::PutAntiAliasingType ( enum cdrAntiAliasingType pVal ) {
+    HRESULT _hr = put_AntiAliasingType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3599)
+inline enum VGCore::cdrAntiAliasingType VGCore::IVGStructExportOptions::GetAntiAliasingType ( ) {
+    enum cdrAntiAliasingType _result;
+    HRESULT _hr = get_AntiAliasingType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3600)
+inline void VGCore::IVGStructExportOptions::PutOverwrite ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Overwrite(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3601)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetOverwrite ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Overwrite(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3602)
+inline void VGCore::IVGStructExportOptions::PutImageType ( enum cdrImageType pVal ) {
+    HRESULT _hr = put_ImageType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3603)
+inline enum VGCore::cdrImageType VGCore::IVGStructExportOptions::GetImageType ( ) {
+    enum cdrImageType _result;
+    HRESULT _hr = get_ImageType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3604)
+inline void VGCore::IVGStructExportOptions::PutDithered ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Dithered(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3605)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetDithered ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Dithered(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3606)
+inline void VGCore::IVGStructExportOptions::PutTransparent ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Transparent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3607)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetTransparent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Transparent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3608)
+inline void VGCore::IVGStructExportOptions::PutUseColorProfile ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseColorProfile(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3609)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetUseColorProfile ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseColorProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3610)
+inline void VGCore::IVGStructExportOptions::PutCompression ( enum cdrCompressionType pVal ) {
+    HRESULT _hr = put_Compression(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3611)
+inline enum VGCore::cdrCompressionType VGCore::IVGStructExportOptions::GetCompression ( ) {
+    enum cdrCompressionType _result;
+    HRESULT _hr = get_Compression(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3612)
+inline void VGCore::IVGStructExportOptions::PutMaintainLayers ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MaintainLayers(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3613)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetMaintainLayers ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MaintainLayers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3614)
+inline void VGCore::IVGStructExportOptions::PutMaintainAspect ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MaintainAspect(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3615)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetMaintainAspect ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MaintainAspect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3616)
+inline VGCore::IVGRectPtr VGCore::IVGStructExportOptions::GetExportArea ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_ExportArea(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(3617)
+inline void VGCore::IVGStructExportOptions::PutRefExportArea ( struct IVGRect * * ppVal ) {
+    HRESULT _hr = putref_ExportArea(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3618)
+inline void VGCore::IVGStructExportOptions::PutMatted ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Matted(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3619)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetMatted ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Matted(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3620)
+inline VGCore::IVGColorPtr VGCore::IVGStructExportOptions::GetMatteColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_MatteColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3621)
+inline void VGCore::IVGStructExportOptions::PutMatteColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_MatteColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3622)
+inline void VGCore::IVGStructExportOptions::PutMatteMaskedOnly ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MatteMaskedOnly(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3623)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetMatteMaskedOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MatteMaskedOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3624)
+inline void VGCore::IVGStructExportOptions::PutAlwaysOverprintBlack ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AlwaysOverprintBlack(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3625)
+inline VARIANT_BOOL VGCore::IVGStructExportOptions::GetAlwaysOverprintBlack ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AlwaysOverprintBlack(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3626)
+inline VGCore::IVGProofColorSettingsPtr VGCore::IVGStructExportOptions::GetProofColorSettings ( ) {
+    struct IVGProofColorSettings * _result = 0;
+    HRESULT _hr = get_ProofColorSettings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGProofColorSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(3627)
+inline void VGCore::IVGStructExportOptions::PutProofColorSettings ( struct IVGProofColorSettings * ppVal ) {
+    HRESULT _hr = put_ProofColorSettings(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGColorManager wrapper method implementations
+//
+
+#pragma implementation_key(3628)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetScannerCalibrated ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ScannerCalibrated(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3629)
+inline void VGCore::IVGColorManager::PutScannerCalibrated ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ScannerCalibrated(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3630)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetSeparationPrinterCalibrated ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SeparationPrinterCalibrated(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3631)
+inline void VGCore::IVGColorManager::PutSeparationPrinterCalibrated ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_SeparationPrinterCalibrated(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3632)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetCompositePrinterCalibrated ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CompositePrinterCalibrated(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3633)
+inline enum VGCore::clrCompPrnCalibration VGCore::IVGColorManager::GetCompositePrinterCalibration ( ) {
+    enum clrCompPrnCalibration _result;
+    HRESULT _hr = get_CompositePrinterCalibration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3634)
+inline void VGCore::IVGColorManager::PutCompositePrinterCalibration ( enum clrCompPrnCalibration pVal ) {
+    HRESULT _hr = put_CompositePrinterCalibration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3635)
+inline enum VGCore::clrMonitorCalibration VGCore::IVGColorManager::GetMonitorCalibration ( ) {
+    enum clrMonitorCalibration _result;
+    HRESULT _hr = get_MonitorCalibration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3636)
+inline void VGCore::IVGColorManager::PutMonitorCalibration ( enum clrMonitorCalibration pVal ) {
+    HRESULT _hr = put_MonitorCalibration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3637)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetCompositePrinterSimulatesSeparation ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CompositePrinterSimulatesSeparation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3638)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetShowOutOfGamut ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShowOutOfGamut(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3639)
+inline void VGCore::IVGColorManager::PutShowOutOfGamut ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShowOutOfGamut(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3640)
+inline VGCore::IVGColorPtr VGCore::IVGColorManager::GetOutOfGamutColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_OutOfGamutColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3641)
+inline void VGCore::IVGColorManager::PutOutOfGamutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_OutOfGamutColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3642)
+inline long VGCore::IVGColorManager::GetOutOfGamutTransparency ( ) {
+    long _result = 0;
+    HRESULT _hr = get_OutOfGamutTransparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3643)
+inline void VGCore::IVGColorManager::PutOutOfGamutTransparency ( long pVal ) {
+    HRESULT _hr = put_OutOfGamutTransparency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3644)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetCMYKInPercents ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CMYKInPercents(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3645)
+inline void VGCore::IVGColorManager::PutCMYKInPercents ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_CMYKInPercents(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3646)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetCMYKGamutForSpotColors ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_CMYKGamutForSpotColors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3647)
+inline void VGCore::IVGColorManager::PutCMYKGamutForSpotColors ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_CMYKGamutForSpotColors(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3648)
+inline enum VGCore::clrRenderingIntent VGCore::IVGColorManager::GetRenderingIntent ( ) {
+    enum clrRenderingIntent _result;
+    HRESULT _hr = get_RenderingIntent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3649)
+inline void VGCore::IVGColorManager::PutRenderingIntent ( enum clrRenderingIntent pVal ) {
+    HRESULT _hr = put_RenderingIntent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3650)
+inline enum VGCore::clrColorEngine VGCore::IVGColorManager::GetColorEngine ( ) {
+    enum clrColorEngine _result;
+    HRESULT _hr = get_ColorEngine(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3651)
+inline void VGCore::IVGColorManager::PutColorEngine ( enum clrColorEngine pVal ) {
+    HRESULT _hr = put_ColorEngine(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3652)
+inline long VGCore::IVGColorManager::GetStyleCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_StyleCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3653)
+inline _bstr_t VGCore::IVGColorManager::GetStyleByIndex ( long Index ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_StyleByIndex(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3654)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorManager::GetCurrentProfile ( enum clrDeviceType DeviceType ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_CurrentProfile(DeviceType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3655)
+inline VGCore::IVGColorProfilesPtr VGCore::IVGColorManager::GetInstalledProfiles ( enum clrDeviceType DeviceType ) {
+    struct IVGColorProfiles * _result = 0;
+    HRESULT _hr = get_InstalledProfiles(DeviceType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilesPtr(_result, false);
+}
+
+#pragma implementation_key(3656)
+inline VARIANT_BOOL VGCore::IVGColorManager::LoadStyle ( _bstr_t StyleName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_LoadStyle(StyleName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3657)
+inline VARIANT_BOOL VGCore::IVGColorManager::DeleteStyle ( _bstr_t StyleName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_DeleteStyle(StyleName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3658)
+inline VARIANT_BOOL VGCore::IVGColorManager::SaveStyle ( _bstr_t StyleName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_SaveStyle(StyleName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3659)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetIsICM2Available ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsICM2Available(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3660)
+inline _bstr_t VGCore::IVGColorManager::GetUnsavedStyleName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_UnsavedStyleName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3661)
+inline _bstr_t VGCore::IVGColorManager::GetGenericProfileName ( enum clrDeviceType DeviceType ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_GenericProfileName(DeviceType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3662)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetIsCompositePrinterCMYK ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsCompositePrinterCMYK(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3663)
+inline enum VGCore::clrImportColorCorrection VGCore::IVGColorManager::GetColorCorrectionOnImport ( ) {
+    enum clrImportColorCorrection _result;
+    HRESULT _hr = get_ColorCorrectionOnImport(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3664)
+inline void VGCore::IVGColorManager::PutColorCorrectionOnImport ( enum clrImportColorCorrection pVal ) {
+    HRESULT _hr = put_ColorCorrectionOnImport(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3665)
+inline enum VGCore::clrExportColorCorrection VGCore::IVGColorManager::GetColorCorrectionOnExport ( ) {
+    enum clrExportColorCorrection _result;
+    HRESULT _hr = get_ColorCorrectionOnExport(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3666)
+inline void VGCore::IVGColorManager::PutColorCorrectionOnExport ( enum clrExportColorCorrection pVal ) {
+    HRESULT _hr = put_ColorCorrectionOnExport(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3667)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorManager::GetDefaultImportProfile ( ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_DefaultImportProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3668)
+inline void VGCore::IVGColorManager::PutRefDefaultImportProfile ( struct IVGColorProfile * * ppVal ) {
+    HRESULT _hr = putref_DefaultImportProfile(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3669)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorManager::GetCustomImportProfile ( ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_CustomImportProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3670)
+inline void VGCore::IVGColorManager::PutRefCustomImportProfile ( struct IVGColorProfile * * ppVal ) {
+    HRESULT _hr = putref_CustomImportProfile(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3671)
+inline VGCore::IVGColorProfilePtr VGCore::IVGColorManager::GetCustomExportProfile ( ) {
+    struct IVGColorProfile * _result = 0;
+    HRESULT _hr = get_CustomExportProfile(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilePtr(_result, false);
+}
+
+#pragma implementation_key(3672)
+inline void VGCore::IVGColorManager::PutRefCustomExportProfile ( struct IVGColorProfile * * ppVal ) {
+    HRESULT _hr = putref_CustomExportProfile(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3673)
+inline VGCore::IVGColorProfilesPtr VGCore::IVGColorManager::GetMonitorColorProfiles ( ) {
+    struct IVGColorProfiles * _result = 0;
+    HRESULT _hr = get_MonitorColorProfiles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilesPtr(_result, false);
+}
+
+#pragma implementation_key(3674)
+inline VGCore::IVGColorProfilesPtr VGCore::IVGColorManager::GetProfilesByColorModel ( enum clrColorModel ColorModel ) {
+    struct IVGColorProfiles * _result = 0;
+    HRESULT _hr = raw_GetProfilesByColorModel(ColorModel, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilesPtr(_result, false);
+}
+
+#pragma implementation_key(3675)
+inline VGCore::IVGColorProfilesPtr VGCore::IVGColorManager::GetProfilesForDevice ( enum clrDeviceType DeviceType, _bstr_t DeviceName ) {
+    struct IVGColorProfiles * _result = 0;
+    HRESULT _hr = raw_GetProfilesForDevice(DeviceType, DeviceName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilesPtr(_result, false);
+}
+
+#pragma implementation_key(3676)
+inline VGCore::IVGColorContextPtr VGCore::IVGColorManager::GetDefaultColorContext ( ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = get_DefaultColorContext(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(3677)
+inline VARIANT_BOOL VGCore::IVGColorManager::ColorEnginePresent ( enum clrColorEngine ColorEngine ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ColorEnginePresent(ColorEngine, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3678)
+inline VARIANT_BOOL VGCore::IVGColorManager::CanDeleteStyle ( _bstr_t StyleName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CanDeleteStyle(StyleName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3679)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetMapGrayToCMYKBlack ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MapGrayToCMYKBlack(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3680)
+inline void VGCore::IVGColorManager::PutMapGrayToCMYKBlack ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MapGrayToCMYKBlack(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3681)
+inline VARIANT_BOOL VGCore::IVGColorManager::GetPreservePureBlack ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PreservePureBlack(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3682)
+inline void VGCore::IVGColorManager::PutPreservePureBlack ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PreservePureBlack(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3683)
+inline enum VGCore::clrColorModel VGCore::IVGColorManager::GetSpotColorDefinition ( ) {
+    enum clrColorModel _result;
+    HRESULT _hr = get_SpotColorDefinition(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3684)
+inline void VGCore::IVGColorManager::PutSpotColorDefinition ( enum clrColorModel pVal ) {
+    HRESULT _hr = put_SpotColorDefinition(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3685)
+inline VGCore::IVGColorProfilesPtr VGCore::IVGColorManager::GetColorProfiles ( ) {
+    struct IVGColorProfiles * _result = 0;
+    HRESULT _hr = get_ColorProfiles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorProfilesPtr(_result, false);
+}
+
+#pragma implementation_key(3686)
+inline VGCore::IVGColorManagementPolicyPtr VGCore::IVGColorManager::GetPolicyForOpen ( ) {
+    struct IVGColorManagementPolicy * _result = 0;
+    HRESULT _hr = get_PolicyForOpen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorManagementPolicyPtr(_result, false);
+}
+
+#pragma implementation_key(3687)
+inline VGCore::IVGColorManagementPolicyPtr VGCore::IVGColorManager::GetPolicyForImport ( ) {
+    struct IVGColorManagementPolicy * _result = 0;
+    HRESULT _hr = get_PolicyForImport(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorManagementPolicyPtr(_result, false);
+}
+
+//
+// interface IVGStructCreateOptions wrapper method implementations
+//
+
+#pragma implementation_key(3688)
+inline VGCore::IVGColorContextPtr VGCore::IVGStructCreateOptions::GetColorContext ( ) {
+    struct IVGColorContext * _result = 0;
+    HRESULT _hr = get_ColorContext(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorContextPtr(_result, false);
+}
+
+#pragma implementation_key(3689)
+inline void VGCore::IVGStructCreateOptions::PutColorContext ( struct IVGColorContext * ppVal ) {
+    HRESULT _hr = put_ColorContext(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3690)
+inline _bstr_t VGCore::IVGStructCreateOptions::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3691)
+inline void VGCore::IVGStructCreateOptions::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3692)
+inline double VGCore::IVGStructCreateOptions::GetPageWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PageWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3693)
+inline void VGCore::IVGStructCreateOptions::PutPageWidth ( double pVal ) {
+    HRESULT _hr = put_PageWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3694)
+inline double VGCore::IVGStructCreateOptions::GetPageHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PageHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3695)
+inline void VGCore::IVGStructCreateOptions::PutPageHeight ( double pVal ) {
+    HRESULT _hr = put_PageHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3696)
+inline enum VGCore::cdrUnit VGCore::IVGStructCreateOptions::GetUnits ( ) {
+    enum cdrUnit _result;
+    HRESULT _hr = get_Units(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3697)
+inline void VGCore::IVGStructCreateOptions::PutUnits ( enum cdrUnit pVal ) {
+    HRESULT _hr = put_Units(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3698)
+inline double VGCore::IVGStructCreateOptions::GetResolution ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Resolution(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3699)
+inline void VGCore::IVGStructCreateOptions::PutResolution ( double pVal ) {
+    HRESULT _hr = put_Resolution(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGPalette wrapper method implementations
+//
+
+#pragma implementation_key(3700)
+inline IDispatchPtr VGCore::IVGPalette::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3701)
+inline IDispatchPtr VGCore::IVGPalette::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3702)
+inline _bstr_t VGCore::IVGPalette::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3703)
+inline void VGCore::IVGPalette::PutName ( _bstr_t Name ) {
+    HRESULT _hr = put_Name(Name);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3704)
+inline HRESULT VGCore::IVGPalette::Close ( ) {
+    HRESULT _hr = raw_Close();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3705)
+inline enum VGCore::cdrPaletteType VGCore::IVGPalette::GetType ( ) {
+    enum cdrPaletteType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3706)
+inline VGCore::IVGColorsPtr VGCore::IVGPalette::Colors ( ) {
+    struct IVGColors * _result = 0;
+    HRESULT _hr = raw_Colors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorsPtr(_result, false);
+}
+
+#pragma implementation_key(3707)
+inline VGCore::IVGColorPtr VGCore::IVGPalette::GetColor ( long Index ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3708)
+inline void VGCore::IVGPalette::PutColor ( long Index, struct IVGColor * Color ) {
+    HRESULT _hr = put_Color(Index, Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3709)
+inline HRESULT VGCore::IVGPalette::AddColor ( struct IVGColor * Color ) {
+    HRESULT _hr = raw_AddColor(Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3710)
+inline HRESULT VGCore::IVGPalette::InsertColor ( long Index, struct IVGColor * Color ) {
+    HRESULT _hr = raw_InsertColor(Index, Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3711)
+inline HRESULT VGCore::IVGPalette::RemoveColor ( long Index ) {
+    HRESULT _hr = raw_RemoveColor(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3712)
+inline long VGCore::IVGPalette::GetIndexOfColor ( struct IVGColor * Color ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetIndexOfColor(Color, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3713)
+inline VARIANT_BOOL VGCore::IVGPalette::GetDuplicatePresent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DuplicatePresent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3714)
+inline long VGCore::IVGPalette::GetColorCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColorCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3715)
+inline HRESULT VGCore::IVGPalette::Save ( ) {
+    HRESULT _hr = raw_Save();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3716)
+inline enum VGCore::cdrPaletteID VGCore::IVGPalette::GetPaletteID ( ) {
+    enum cdrPaletteID _result;
+    HRESULT _hr = get_PaletteID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3717)
+inline _bstr_t VGCore::IVGPalette::GetFileName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FileName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3718)
+inline long VGCore::IVGPalette::MatchColor ( struct IVGColor * Color ) {
+    long _result = 0;
+    HRESULT _hr = raw_MatchColor(Color, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3719)
+inline long VGCore::IVGPalette::FindColor ( _bstr_t Name ) {
+    long _result = 0;
+    HRESULT _hr = raw_FindColor(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3720)
+inline HRESULT VGCore::IVGPalette::SaveAs ( _bstr_t FileName, _bstr_t Name, enum cdrPaletteVersion Version ) {
+    HRESULT _hr = raw_SaveAs(FileName, Name, Version);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3721)
+inline VGCore::IVGDocumentPtr VGCore::IVGPalette::GetDocument ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Document(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(3722)
+inline _bstr_t VGCore::IVGPalette::GetIdentifier ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Identifier(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3723)
+inline VARIANT_BOOL VGCore::IVGPalette::GetIsEmpty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEmpty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3724)
+inline VARIANT_BOOL VGCore::IVGPalette::GetLocked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Locked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3725)
+inline VARIANT_BOOL VGCore::IVGPalette::GetDefault ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Default(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3726)
+inline VARIANT_BOOL VGCore::IVGPalette::GetIsOpen ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsOpen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3727)
+inline HRESULT VGCore::IVGPalette::Open ( ) {
+    HRESULT _hr = raw_Open();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3728)
+inline HRESULT VGCore::IVGPalette::MakeDefault ( ) {
+    HRESULT _hr = raw_MakeDefault();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3729)
+inline VARIANT_BOOL VGCore::IVGPalette::Delete ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Delete(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGColors wrapper method implementations
+//
+
+#pragma implementation_key(3730)
+inline IDispatchPtr VGCore::IVGColors::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3731)
+inline VGCore::IVGPalettePtr VGCore::IVGColors::GetParent ( ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3732)
+inline VGCore::IVGColorPtr VGCore::IVGColors::GetItem ( long Index ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3733)
+inline IUnknownPtr VGCore::IVGColors::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3734)
+inline long VGCore::IVGColors::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGPalettes wrapper method implementations
+//
+
+#pragma implementation_key(3735)
+inline IDispatchPtr VGCore::IVGPalettes::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3736)
+inline IDispatchPtr VGCore::IVGPalettes::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(3737)
+inline VGCore::IVGPalettePtr VGCore::IVGPalettes::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3738)
+inline IUnknownPtr VGCore::IVGPalettes::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3739)
+inline long VGCore::IVGPalettes::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3740)
+inline VGCore::IVGPalettePtr VGCore::IVGPalettes::Open ( _bstr_t FileName ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = raw_Open(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3741)
+inline VGCore::IVGPalettePtr VGCore::IVGPalettes::OpenFixed ( enum cdrPaletteID PaletteID ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = raw_OpenFixed(PaletteID, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3742)
+inline VGCore::IVGPalettePtr VGCore::IVGPalettes::CreateFromDocument ( _bstr_t Name, _bstr_t FileName, VARIANT_BOOL Overwrite ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = raw_CreateFromDocument(Name, FileName, Overwrite, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3743)
+inline VGCore::IVGPalettePtr VGCore::IVGPalettes::CreateFromSelection ( _bstr_t Name, _bstr_t FileName, VARIANT_BOOL Overwrite ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = raw_CreateFromSelection(Name, FileName, Overwrite, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3744)
+inline VGCore::IVGPalettePtr VGCore::IVGPalettes::Create ( _bstr_t Name, _bstr_t FileName, VARIANT_BOOL Overwrite ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = raw_Create(Name, FileName, Overwrite, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+//
+// interface IVGPaletteManager wrapper method implementations
+//
+
+#pragma implementation_key(3745)
+inline long VGCore::IVGPaletteManager::GetPaletteCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_PaletteCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3746)
+inline VGCore::IVGPalettePtr VGCore::IVGPaletteManager::GetPalette ( const _variant_t & IndexOrName ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = raw_GetPalette(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3747)
+inline VGCore::IVGPalettePtr VGCore::IVGPaletteManager::GetDefaultPalette ( ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = get_DefaultPalette(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+#pragma implementation_key(3748)
+inline VGCore::IVGPalettesPtr VGCore::IVGPaletteManager::GetOpenPalettes ( ) {
+    struct IVGPalettes * _result = 0;
+    HRESULT _hr = get_OpenPalettes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettesPtr(_result, false);
+}
+
+#pragma implementation_key(3749)
+inline IUnknownPtr VGCore::IVGPaletteManager::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3750)
+inline HRESULT VGCore::IVGPaletteManager::LoadAllPalettes ( ) {
+    HRESULT _hr = raw_LoadAllPalettes();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3751)
+inline VGCore::IVGPalettePtr VGCore::IVGPaletteManager::LoadPalette ( _bstr_t FileName ) {
+    struct IVGPalette * _result = 0;
+    HRESULT _hr = raw_LoadPalette(FileName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPalettePtr(_result, false);
+}
+
+//
+// interface IVGTraceSettings wrapper method implementations
+//
+
+#pragma implementation_key(3752)
+inline enum VGCore::cdrTraceType VGCore::IVGTraceSettings::GetTraceType ( ) {
+    enum cdrTraceType _result;
+    HRESULT _hr = get_TraceType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3753)
+inline void VGCore::IVGTraceSettings::PutTraceType ( enum cdrTraceType pVal ) {
+    HRESULT _hr = put_TraceType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3754)
+inline short VGCore::IVGTraceSettings::GetSmoothing ( ) {
+    short _result = 0;
+    HRESULT _hr = get_Smoothing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3755)
+inline void VGCore::IVGTraceSettings::PutSmoothing ( short pVal ) {
+    HRESULT _hr = put_Smoothing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3756)
+inline short VGCore::IVGTraceSettings::GetDetailLevel ( ) {
+    short _result = 0;
+    HRESULT _hr = get_DetailLevel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3757)
+inline void VGCore::IVGTraceSettings::PutDetailLevel ( short pVal ) {
+    HRESULT _hr = put_DetailLevel(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3758)
+inline enum VGCore::cdrColorType VGCore::IVGTraceSettings::GetColorMode ( ) {
+    enum cdrColorType _result;
+    HRESULT _hr = get_ColorMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3759)
+inline enum VGCore::cdrPaletteID VGCore::IVGTraceSettings::GetPaletteID ( ) {
+    enum cdrPaletteID _result;
+    HRESULT _hr = get_PaletteID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3760)
+inline long VGCore::IVGTraceSettings::GetColorCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColorCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3761)
+inline VGCore::IVGColorPtr VGCore::IVGTraceSettings::GetColor ( long Index ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3762)
+inline VARIANT_BOOL VGCore::IVGTraceSettings::GetDeleteOriginalObject ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DeleteOriginalObject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3763)
+inline void VGCore::IVGTraceSettings::PutDeleteOriginalObject ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DeleteOriginalObject(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3764)
+inline VARIANT_BOOL VGCore::IVGTraceSettings::GetRemoveBackground ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RemoveBackground(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3765)
+inline void VGCore::IVGTraceSettings::PutRemoveBackground ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RemoveBackground(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3766)
+inline VARIANT_BOOL VGCore::IVGTraceSettings::GetRemoveEntireBackColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RemoveEntireBackColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3767)
+inline void VGCore::IVGTraceSettings::PutRemoveEntireBackColor ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RemoveEntireBackColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3768)
+inline enum VGCore::cdrTraceBackgroundMode VGCore::IVGTraceSettings::GetBackgroundRemovalMode ( ) {
+    enum cdrTraceBackgroundMode _result;
+    HRESULT _hr = get_BackgroundRemovalMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3769)
+inline void VGCore::IVGTraceSettings::PutBackgroundRemovalMode ( enum cdrTraceBackgroundMode pVal ) {
+    HRESULT _hr = put_BackgroundRemovalMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3770)
+inline VGCore::IVGColorPtr VGCore::IVGTraceSettings::GetBackgroundColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_BackgroundColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3771)
+inline long VGCore::IVGTraceSettings::GetCurveCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_CurveCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3772)
+inline long VGCore::IVGTraceSettings::GetNodeCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_NodeCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3773)
+inline long VGCore::IVGTraceSettings::GetBitmapWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_BitmapWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3774)
+inline long VGCore::IVGTraceSettings::GetBitmapHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_BitmapHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3775)
+inline long VGCore::IVGTraceSettings::SetColorCount ( long ColorCount ) {
+    long _result = 0;
+    HRESULT _hr = raw_SetColorCount(ColorCount, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3776)
+inline VGCore::IVGShapeRangePtr VGCore::IVGTraceSettings::Finish ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Finish(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3777)
+inline VARIANT_BOOL VGCore::IVGTraceSettings::ShowDialog ( long ParentWindowHandle ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ShowDialog(ParentWindowHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3778)
+inline HRESULT VGCore::IVGTraceSettings::ApplyChanges ( ) {
+    HRESULT _hr = raw_ApplyChanges();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3779)
+inline HRESULT VGCore::IVGTraceSettings::SetColorMode ( enum cdrColorType ColorMode, enum cdrPaletteID PaletteID ) {
+    HRESULT _hr = raw_SetColorMode(ColorMode, PaletteID);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3780)
+inline short VGCore::IVGTraceSettings::GetDetailLevelPercent ( ) {
+    short _result = 0;
+    HRESULT _hr = get_DetailLevelPercent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3781)
+inline void VGCore::IVGTraceSettings::PutDetailLevelPercent ( short pVal ) {
+    HRESULT _hr = put_DetailLevelPercent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3782)
+inline short VGCore::IVGTraceSettings::GetMaxDetailLevel ( ) {
+    short _result = 0;
+    HRESULT _hr = get_MaxDetailLevel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3783)
+inline short VGCore::IVGTraceSettings::GetMinDetailLevel ( ) {
+    short _result = 0;
+    HRESULT _hr = get_MinDetailLevel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3784)
+inline short VGCore::IVGTraceSettings::GetCornerSmoothness ( ) {
+    short _result = 0;
+    HRESULT _hr = get_CornerSmoothness(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3785)
+inline void VGCore::IVGTraceSettings::PutCornerSmoothness ( short pVal ) {
+    HRESULT _hr = put_CornerSmoothness(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3786)
+inline VARIANT_BOOL VGCore::IVGTraceSettings::GetMergeAdjacentObjects ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MergeAdjacentObjects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3787)
+inline void VGCore::IVGTraceSettings::PutMergeAdjacentObjects ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MergeAdjacentObjects(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3788)
+inline VARIANT_BOOL VGCore::IVGTraceSettings::GetRemoveOverlap ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RemoveOverlap(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3789)
+inline void VGCore::IVGTraceSettings::PutRemoveOverlap ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RemoveOverlap(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3790)
+inline VARIANT_BOOL VGCore::IVGTraceSettings::GetGroupObjectsByColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_GroupObjectsByColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3791)
+inline void VGCore::IVGTraceSettings::PutGroupObjectsByColor ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_GroupObjectsByColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGShapeRange wrapper method implementations
+//
+
+#pragma implementation_key(3792)
+inline VGCore::IVGApplicationPtr VGCore::IVGShapeRange::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(3793)
+inline VGCore::IVGApplicationPtr VGCore::IVGShapeRange::GetParent ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(3794)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3795)
+inline IUnknownPtr VGCore::IVGShapeRange::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3796)
+inline long VGCore::IVGShapeRange::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3797)
+inline HRESULT VGCore::IVGShapeRange::Add ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_Add(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3798)
+inline HRESULT VGCore::IVGShapeRange::Remove ( long Index ) {
+    HRESULT _hr = raw_Remove(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3799)
+inline long VGCore::IVGShapeRange::IndexOf ( struct IVGShape * Shape ) {
+    long _result = 0;
+    HRESULT _hr = raw_IndexOf(Shape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3800)
+inline HRESULT VGCore::IVGShapeRange::AddToSelection ( ) {
+    HRESULT _hr = raw_AddToSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3801)
+inline HRESULT VGCore::IVGShapeRange::ConvertToCurves ( ) {
+    HRESULT _hr = raw_ConvertToCurves();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3802)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::ConvertToBitmap ( long BitDepth, VARIANT_BOOL Grayscale, VARIANT_BOOL Dithered, VARIANT_BOOL TransparentBG, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL MultiChannel, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_ConvertToBitmap(BitDepth, Grayscale, Dithered, TransparentBG, Resolution, AntiAliasing, UseColorProfile, MultiChannel, AlwaysOverprintBlack, OverprintBlackLimit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3803)
+inline HRESULT VGCore::IVGShapeRange::Copy ( ) {
+    HRESULT _hr = raw_Copy();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3804)
+inline HRESULT VGCore::IVGShapeRange::Cut ( ) {
+    HRESULT _hr = raw_Cut();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3805)
+inline HRESULT VGCore::IVGShapeRange::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3806)
+inline HRESULT VGCore::IVGShapeRange::GetPosition ( double * PositionX, double * PositionY ) {
+    HRESULT _hr = raw_GetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3807)
+inline HRESULT VGCore::IVGShapeRange::GetSize ( double * Width, double * Height ) {
+    HRESULT _hr = raw_GetSize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3808)
+inline HRESULT VGCore::IVGShapeRange::Move ( double DeltaX, double DeltaY ) {
+    HRESULT _hr = raw_Move(DeltaX, DeltaY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3809)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::Duplicate ( double OffsetX, double OffsetY ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Duplicate(OffsetX, OffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3810)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::Clone ( double OffsetX, double OffsetY ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Clone(OffsetX, OffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3811)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::Group ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Group(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3812)
+inline HRESULT VGCore::IVGShapeRange::RemoveAll ( ) {
+    HRESULT _hr = raw_RemoveAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3813)
+inline HRESULT VGCore::IVGShapeRange::OrderToFront ( ) {
+    HRESULT _hr = raw_OrderToFront();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3814)
+inline HRESULT VGCore::IVGShapeRange::OrderToBack ( ) {
+    HRESULT _hr = raw_OrderToBack();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3815)
+inline HRESULT VGCore::IVGShapeRange::OrderForwardOne ( ) {
+    HRESULT _hr = raw_OrderForwardOne();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3816)
+inline HRESULT VGCore::IVGShapeRange::OrderBackOne ( ) {
+    HRESULT _hr = raw_OrderBackOne();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3817)
+inline HRESULT VGCore::IVGShapeRange::OrderFrontOf ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_OrderFrontOf(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3818)
+inline HRESULT VGCore::IVGShapeRange::OrderBackOf ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_OrderBackOf(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3819)
+inline HRESULT VGCore::IVGShapeRange::OrderReverse ( ) {
+    HRESULT _hr = raw_OrderReverse();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3820)
+inline HRESULT VGCore::IVGShapeRange::Rotate ( double Angle ) {
+    HRESULT _hr = raw_Rotate(Angle);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3821)
+inline HRESULT VGCore::IVGShapeRange::RotateEx ( double Angle, double CenterX, double CenterY ) {
+    HRESULT _hr = raw_RotateEx(Angle, CenterX, CenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3822)
+inline HRESULT VGCore::IVGShapeRange::Skew ( double AngleX, double AngleY ) {
+    HRESULT _hr = raw_Skew(AngleX, AngleY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3823)
+inline HRESULT VGCore::IVGShapeRange::SkewEx ( double AngleX, double AngleY, double CenterX, double CenterY ) {
+    HRESULT _hr = raw_SkewEx(AngleX, AngleY, CenterX, CenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3824)
+inline HRESULT VGCore::IVGShapeRange::UngroupAll ( ) {
+    HRESULT _hr = raw_UngroupAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3825)
+inline HRESULT VGCore::IVGShapeRange::Flip ( enum cdrFlipAxes Axes ) {
+    HRESULT _hr = raw_Flip(Axes);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3826)
+inline double VGCore::IVGShapeRange::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3827)
+inline void VGCore::IVGShapeRange::PutPositionX ( double pVal ) {
+    HRESULT _hr = put_PositionX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3828)
+inline double VGCore::IVGShapeRange::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3829)
+inline void VGCore::IVGShapeRange::PutPositionY ( double pVal ) {
+    HRESULT _hr = put_PositionY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3830)
+inline double VGCore::IVGShapeRange::GetSizeWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3831)
+inline void VGCore::IVGShapeRange::PutSizeWidth ( double pVal ) {
+    HRESULT _hr = put_SizeWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3832)
+inline double VGCore::IVGShapeRange::GetSizeHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3833)
+inline void VGCore::IVGShapeRange::PutSizeHeight ( double pVal ) {
+    HRESULT _hr = put_SizeHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3834)
+inline double VGCore::IVGShapeRange::GetRotationCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationCenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3835)
+inline void VGCore::IVGShapeRange::PutRotationCenterX ( double pVal ) {
+    HRESULT _hr = put_RotationCenterX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3836)
+inline double VGCore::IVGShapeRange::GetRotationCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationCenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3837)
+inline void VGCore::IVGShapeRange::PutRotationCenterY ( double pVal ) {
+    HRESULT _hr = put_RotationCenterY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3838)
+inline HRESULT VGCore::IVGShapeRange::AddToPowerClip ( struct IVGShape * Shape, enum cdrTriState CenterInContainer ) {
+    HRESULT _hr = raw_AddToPowerClip(Shape, CenterInContainer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3839)
+inline HRESULT VGCore::IVGShapeRange::RemoveFromContainer ( long Level ) {
+    HRESULT _hr = raw_RemoveFromContainer(Level);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3840)
+inline HRESULT VGCore::IVGShapeRange::AddRange ( struct IVGShapeRange * ShapeRange ) {
+    HRESULT _hr = raw_AddRange(ShapeRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3841)
+inline HRESULT VGCore::IVGShapeRange::SetPosition ( double PositionX, double PositionY ) {
+    HRESULT _hr = raw_SetPosition(PositionX, PositionY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3842)
+inline HRESULT VGCore::IVGShapeRange::SetSize ( double Width, double Height ) {
+    HRESULT _hr = raw_SetSize(Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3843)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::ConvertToBitmapEx ( enum cdrImageType Mode, VARIANT_BOOL Dithered, VARIANT_BOOL Transparent, long Resolution, enum cdrAntiAliasingType AntiAliasing, VARIANT_BOOL UseColorProfile, VARIANT_BOOL AlwaysOverprintBlack, long OverprintBlackLimit ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_ConvertToBitmapEx(Mode, Dithered, Transparent, Resolution, AntiAliasing, UseColorProfile, AlwaysOverprintBlack, OverprintBlackLimit, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3844)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::Combine ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Combine(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3845)
+inline HRESULT VGCore::IVGShapeRange::SetBoundingBox ( double x, double y, double Width, double Height, VARIANT_BOOL KeepAspect, enum cdrReferencePoint ReferencePoint ) {
+    HRESULT _hr = raw_SetBoundingBox(x, y, Width, Height, KeepAspect, ReferencePoint);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3846)
+inline HRESULT VGCore::IVGShapeRange::ApplyNoFill ( ) {
+    HRESULT _hr = raw_ApplyNoFill();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3847)
+inline HRESULT VGCore::IVGShapeRange::ApplyUniformFill ( struct IVGColor * Color ) {
+    HRESULT _hr = raw_ApplyUniformFill(Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3848)
+inline HRESULT VGCore::IVGShapeRange::ApplyFountainFill ( struct IVGColor * StartColor, struct IVGColor * EndColor, enum cdrFountainFillType Type, double Angle, long Steps, long EdgePad, long MidPoint, enum cdrFountainFillBlendType BlendType, double CenterOffsetX, double CenterOffsetY ) {
+    HRESULT _hr = raw_ApplyFountainFill(StartColor, EndColor, Type, Angle, Steps, EdgePad, MidPoint, BlendType, CenterOffsetX, CenterOffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3849)
+inline HRESULT VGCore::IVGShapeRange::ApplyPatternFill ( enum cdrPatternFillType Type, _bstr_t FileName, long PatternCanvasIndex, struct IVGColor * FrontColor, struct IVGColor * EndColor, VARIANT_BOOL TransformWithShape ) {
+    HRESULT _hr = raw_ApplyPatternFill(Type, FileName, PatternCanvasIndex, FrontColor, EndColor, TransformWithShape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3850)
+inline HRESULT VGCore::IVGShapeRange::ApplyTextureFill ( _bstr_t TextureName, _bstr_t LibraryName ) {
+    HRESULT _hr = raw_ApplyTextureFill(TextureName, LibraryName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3851)
+inline HRESULT VGCore::IVGShapeRange::ApplyPostscriptFill ( const _variant_t & IndexOrName ) {
+    HRESULT _hr = raw_ApplyPostscriptFill(IndexOrName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3852)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::ConvertOutlineToObject ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_ConvertOutlineToObject(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3853)
+inline HRESULT VGCore::IVGShapeRange::SetOutlineProperties ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit ) {
+    HRESULT _hr = raw_SetOutlineProperties(Width, Style, Color, StartArrow, EndArrow, BehindFill, ScaleWithShape, LineCaps, LineJoin, NibAngle, NibStretch, DashDotLength, PenWidth, MiterLimit);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3854)
+inline HRESULT VGCore::IVGShapeRange::CreateSelection ( ) {
+    HRESULT _hr = raw_CreateSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3855)
+inline HRESULT VGCore::IVGShapeRange::RemoveFromSelection ( ) {
+    HRESULT _hr = raw_RemoveFromSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3856)
+inline HRESULT VGCore::IVGShapeRange::SetRotationCenter ( double x, double y ) {
+    HRESULT _hr = raw_SetRotationCenter(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3857)
+inline HRESULT VGCore::IVGShapeRange::Stretch ( double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize ) {
+    HRESULT _hr = raw_Stretch(StretchX, StretchY, StretchCharactersSize);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3858)
+inline HRESULT VGCore::IVGShapeRange::StretchEx ( double CenterX, double CenterY, double StretchX, double StretchY, VARIANT_BOOL StretchCharactersSize ) {
+    HRESULT _hr = raw_StretchEx(CenterX, CenterY, StretchX, StretchY, StretchCharactersSize);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3859)
+inline HRESULT VGCore::IVGShapeRange::SetSizeEx ( double CenterX, double CenterY, double Width, double Height ) {
+    HRESULT _hr = raw_SetSizeEx(CenterX, CenterY, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3860)
+inline HRESULT VGCore::IVGShapeRange::GetBoundingBox ( double * x, double * y, double * Width, double * Height, VARIANT_BOOL UseOutline ) {
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height, UseOutline);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3861)
+inline HRESULT VGCore::IVGShapeRange::RestoreCloneLink ( enum cdrCloneLinkType LinkToRestore ) {
+    HRESULT _hr = raw_RestoreCloneLink(LinkToRestore);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3862)
+inline HRESULT VGCore::IVGShapeRange::ClearEffect ( enum cdrEffectType Type ) {
+    HRESULT _hr = raw_ClearEffect(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3863)
+inline HRESULT VGCore::IVGShapeRange::RemoveRange ( struct IVGShapeRange * Range ) {
+    HRESULT _hr = raw_RemoveRange(Range);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3864)
+inline HRESULT VGCore::IVGShapeRange::DeleteItem ( long Index ) {
+    HRESULT _hr = raw_DeleteItem(Index);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3865)
+inline _variant_t VGCore::IVGShapeRange::CustomCommand ( _bstr_t ComponentID, _bstr_t CommandID, SAFEARRAY * * Parameters ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_CustomCommand(ComponentID, CommandID, Parameters, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(3866)
+inline HRESULT VGCore::IVGShapeRange::AlignToShape ( enum cdrAlignType Type, struct IVGShape * Shape, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToShape(Type, Shape, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3867)
+inline HRESULT VGCore::IVGShapeRange::AlignToShapeRange ( enum cdrAlignType Type, struct IVGShapeRange * ShapeRange, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToShapeRange(Type, ShapeRange, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3868)
+inline HRESULT VGCore::IVGShapeRange::AlignToPage ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToPage(Type, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3869)
+inline HRESULT VGCore::IVGShapeRange::AlignToPageCenter ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToPageCenter(Type, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3870)
+inline HRESULT VGCore::IVGShapeRange::AlignToGrid ( enum cdrAlignType Type, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToGrid(Type, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3871)
+inline HRESULT VGCore::IVGShapeRange::AlignToPoint ( enum cdrAlignType Type, double x, double y, enum cdrTextAlignOrigin TextAlignOrigin ) {
+    HRESULT _hr = raw_AlignToPoint(Type, x, y, TextAlignOrigin);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3872)
+inline HRESULT VGCore::IVGShapeRange::Distribute ( enum cdrDistributeType Type, VARIANT_BOOL PageExtent ) {
+    HRESULT _hr = raw_Distribute(Type, PageExtent);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3873)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::ConvertToSymbol ( _bstr_t Name ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_ConvertToSymbol(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3874)
+inline HRESULT VGCore::IVGShapeRange::Ungroup ( ) {
+    HRESULT _hr = raw_Ungroup();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3875)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::UngroupEx ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_UngroupEx(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3876)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::UngroupAllEx ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_UngroupAllEx(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3877)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::Range ( SAFEARRAY * * IndexArray ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Range(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3878)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::All ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3879)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::AllExcluding ( SAFEARRAY * * IndexArray ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_AllExcluding(IndexArray, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3880)
+inline HRESULT VGCore::IVGShapeRange::BreakApart ( ) {
+    HRESULT _hr = raw_BreakApart();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3881)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::BreakApartEx ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_BreakApartEx(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3882)
+inline HRESULT VGCore::IVGShapeRange::MoveToLayer ( struct IVGLayer * Layer ) {
+    HRESULT _hr = raw_MoveToLayer(Layer);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3883)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::CopyToLayer ( struct IVGLayer * Layer ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_CopyToLayer(Layer, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3884)
+inline HRESULT VGCore::IVGShapeRange::ClearTransformations ( ) {
+    HRESULT _hr = raw_ClearTransformations();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3885)
+inline HRESULT VGCore::IVGShapeRange::Lock ( ) {
+    HRESULT _hr = raw_Lock();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3886)
+inline HRESULT VGCore::IVGShapeRange::Unlock ( ) {
+    HRESULT _hr = raw_Unlock();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3887)
+inline HRESULT VGCore::IVGShapeRange::AlignRangeToShape ( enum cdrAlignType Type, struct IVGShape * Shape ) {
+    HRESULT _hr = raw_AlignRangeToShape(Type, Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3888)
+inline HRESULT VGCore::IVGShapeRange::AlignRangeToShapeRange ( enum cdrAlignType Type, struct IVGShapeRange * ShapeRange ) {
+    HRESULT _hr = raw_AlignRangeToShapeRange(Type, ShapeRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3889)
+inline HRESULT VGCore::IVGShapeRange::AlignRangeToPage ( enum cdrAlignType Type ) {
+    HRESULT _hr = raw_AlignRangeToPage(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3890)
+inline HRESULT VGCore::IVGShapeRange::AlignRangeToPageCenter ( enum cdrAlignType Type ) {
+    HRESULT _hr = raw_AlignRangeToPageCenter(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3891)
+inline HRESULT VGCore::IVGShapeRange::AlignRangeToGrid ( enum cdrAlignType Type ) {
+    HRESULT _hr = raw_AlignRangeToGrid(Type);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3892)
+inline HRESULT VGCore::IVGShapeRange::AlignRangeToPoint ( enum cdrAlignType Type, double x, double y ) {
+    HRESULT _hr = raw_AlignRangeToPoint(Type, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3893)
+inline HRESULT VGCore::IVGShapeRange::ApplyEffectInvert ( ) {
+    HRESULT _hr = raw_ApplyEffectInvert();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3894)
+inline HRESULT VGCore::IVGShapeRange::ApplyEffectPosterize ( long Level ) {
+    HRESULT _hr = raw_ApplyEffectPosterize(Level);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3895)
+inline HRESULT VGCore::IVGShapeRange::ApplyEffectBCI ( long Brighness, long Contrast, long Intensity ) {
+    HRESULT _hr = raw_ApplyEffectBCI(Brighness, Contrast, Intensity);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3896)
+inline HRESULT VGCore::IVGShapeRange::ApplyEffectColorBalance ( long CyanRed, long MagentaGreen, long YellowBlue, VARIANT_BOOL ApplyToShadows, VARIANT_BOOL ApplyToMidtones, VARIANT_BOOL ApplyToHighlights, VARIANT_BOOL PreserveLuminance ) {
+    HRESULT _hr = raw_ApplyEffectColorBalance(CyanRed, MagentaGreen, YellowBlue, ApplyToShadows, ApplyToMidtones, ApplyToHighlights, PreserveLuminance);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3897)
+inline HRESULT VGCore::IVGShapeRange::ApplyEffectGamma ( double Gamma ) {
+    HRESULT _hr = raw_ApplyEffectGamma(Gamma);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3898)
+inline HRESULT VGCore::IVGShapeRange::ApplyEffectHSL ( const _variant_t & Hue, const _variant_t & Saturation, const _variant_t & Lightness ) {
+    HRESULT _hr = raw_ApplyEffectHSL(Hue, Saturation, Lightness);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3899)
+inline HRESULT VGCore::IVGShapeRange::AffineTransform ( double d11, double d12, double d21, double d22, double CenterX, double CenterY ) {
+    HRESULT _hr = raw_AffineTransform(d11, d12, d21, d22, CenterX, CenterY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3900)
+inline HRESULT VGCore::IVGShapeRange::ApplyFill ( struct IVGFill * Fill ) {
+    HRESULT _hr = raw_ApplyFill(Fill);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3901)
+inline HRESULT VGCore::IVGShapeRange::ApplyOutline ( struct IVGOutline * Outline ) {
+    HRESULT _hr = raw_ApplyOutline(Outline);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3902)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::GetReverseRange ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = get_ReverseRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3903)
+inline HRESULT VGCore::IVGShapeRange::Fillet ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Fillet(Radius, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3904)
+inline HRESULT VGCore::IVGShapeRange::Chamfer ( double DistanceA, double DistanceB, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Chamfer(DistanceA, DistanceB, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3905)
+inline HRESULT VGCore::IVGShapeRange::Scallop ( double Radius, VARIANT_BOOL CombineSmoothSegments ) {
+    HRESULT _hr = raw_Scallop(Radius, CombineSmoothSegments);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3906)
+inline HRESULT VGCore::IVGShapeRange::SetFillMode ( enum cdrFillMode Mode ) {
+    HRESULT _hr = raw_SetFillMode(Mode);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3907)
+inline HRESULT VGCore::IVGShapeRange::ApplyCustomHatchFill ( double Angle, double Spacing, double Shift, double OriginX, double OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew ) {
+    HRESULT _hr = raw_ApplyCustomHatchFill(Angle, Spacing, Shift, OriginX, OriginY, Width, Color, Style, DashDotLength, PenWidth, BackColor, TransformWithShape, ScaleLinesWithShape, UseWorldCoordinates, FillScale, LineScale, FillAngle, FillSkew);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3908)
+inline HRESULT VGCore::IVGShapeRange::ApplyHatchFill ( _bstr_t LibraryName, const _variant_t & HatchNameOrIndex, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew ) {
+    HRESULT _hr = raw_ApplyHatchFill(LibraryName, HatchNameOrIndex, BackColor, TransformWithShape, ScaleLinesWithShape, UseWorldCoordinates, FillScale, LineScale, FillAngle, FillSkew);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3909)
+inline double VGCore::IVGShapeRange::GetLeftX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LeftX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3910)
+inline double VGCore::IVGShapeRange::GetRightX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RightX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3911)
+inline double VGCore::IVGShapeRange::GetTopY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TopY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3912)
+inline double VGCore::IVGShapeRange::GetBottomY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BottomY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3913)
+inline VGCore::IVGShapesPtr VGCore::IVGShapeRange::GetShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_Shapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(3914)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::GetFirstShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FirstShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3915)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::GetLastShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_LastShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3916)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::StepAndRepeat ( long NumCopies, double DistanceX, double DistanceY, enum cdrDistanceMode ModeX, enum cdrDirection DirectionX, enum cdrDistanceMode ModeY, enum cdrDirection DirectionY ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_StepAndRepeat(NumCopies, DistanceX, DistanceY, ModeX, DirectionX, ModeY, DirectionY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3917)
+inline VARIANT_BOOL VGCore::IVGShapeRange::Exists ( struct IVGShape * Shape ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Exists(Shape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3918)
+inline VARIANT_BOOL VGCore::IVGShapeRange::ExistsAnyOfType ( SAFEARRAY * * TypeList ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ExistsAnyOfType(TypeList, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3919)
+inline long VGCore::IVGShapeRange::CountAnyOfType ( SAFEARRAY * * TypeList ) {
+    long _result = 0;
+    HRESULT _hr = raw_CountAnyOfType(TypeList, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3920)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::FindAnyOfType ( SAFEARRAY * * TypeList ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_FindAnyOfType(TypeList, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3921)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::GetLinkedShapes ( enum cdrShapeLinkType LinkType ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_GetLinkedShapes(LinkType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3922)
+inline VGCore::IVGRectPtr VGCore::IVGShapeRange::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(3923)
+inline HRESULT VGCore::IVGShapeRange::GetPositionEx ( enum cdrReferencePoint ReferencePoint, double * x, double * y ) {
+    HRESULT _hr = raw_GetPositionEx(ReferencePoint, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3924)
+inline HRESULT VGCore::IVGShapeRange::SetPositionEx ( enum cdrReferencePoint ReferencePoint, double x, double y ) {
+    HRESULT _hr = raw_SetPositionEx(ReferencePoint, x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3925)
+inline double VGCore::IVGShapeRange::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3926)
+inline void VGCore::IVGShapeRange::PutCenterX ( double pVal ) {
+    HRESULT _hr = put_CenterX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3927)
+inline double VGCore::IVGShapeRange::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3928)
+inline void VGCore::IVGShapeRange::PutCenterY ( double pVal ) {
+    HRESULT _hr = put_CenterY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3929)
+inline void VGCore::IVGShapeRange::PutLeftX ( double pVal ) {
+    HRESULT _hr = put_LeftX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3930)
+inline void VGCore::IVGShapeRange::PutRightX ( double pVal ) {
+    HRESULT _hr = put_RightX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3931)
+inline void VGCore::IVGShapeRange::PutTopY ( double pVal ) {
+    HRESULT _hr = put_TopY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3932)
+inline void VGCore::IVGShapeRange::PutBottomY ( double pVal ) {
+    HRESULT _hr = put_BottomY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3933)
+inline VARIANT_BOOL VGCore::IVGShapeRange::CopyPropertiesFrom ( struct IVGShape * Source, enum cdrCopyProperties Properties ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CopyPropertiesFrom(Source, Properties, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3934)
+inline enum VGCore::cdrOverprintState VGCore::IVGShapeRange::GetOverprintFillState ( ) {
+    enum cdrOverprintState _result;
+    HRESULT _hr = raw_GetOverprintFillState(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3935)
+inline enum VGCore::cdrOverprintState VGCore::IVGShapeRange::GetOverprintOutlineState ( ) {
+    enum cdrOverprintState _result;
+    HRESULT _hr = raw_GetOverprintOutlineState(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3936)
+inline HRESULT VGCore::IVGShapeRange::Sort ( _bstr_t CompareExpression, long StartIndex, long EndIndex, const _variant_t & Data ) {
+    HRESULT _hr = raw_Sort(CompareExpression, StartIndex, EndIndex, Data);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3937)
+inline HRESULT VGCore::IVGShapeRange::SetPixelAlignedRendering ( VARIANT_BOOL PixelAligned ) {
+    HRESULT _hr = raw_SetPixelAlignedRendering(PixelAligned);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3938)
+inline VGCore::IVGDocumentPtr VGCore::IVGShapeRange::CreateDocumentFrom ( VARIANT_BOOL TemporaryDocument ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = raw_CreateDocumentFrom(TemporaryDocument, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(3939)
+inline HRESULT VGCore::IVGShapeRange::AlignAndDistribute ( enum cdrAlignDistributeH MethodH, enum cdrAlignDistributeV MethodV, enum cdrAlignShapesTo AlignTo, enum cdrDistributeArea DistributeArea, VARIANT_BOOL UseOutline, enum cdrTextAlignOrigin TextAlignOrigin, double PointX, double PointY, struct IVGRect * DistributeRect ) {
+    HRESULT _hr = raw_AlignAndDistribute(MethodH, MethodV, AlignTo, DistributeArea, UseOutline, TextAlignOrigin, PointX, PointY, DistributeRect);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3940)
+inline HRESULT VGCore::IVGShapeRange::SetOutlinePropertiesEx ( double Width, struct IVGOutlineStyle * Style, struct IVGColor * Color, struct IVGArrowHead * StartArrow, struct IVGArrowHead * EndArrow, enum cdrTriState BehindFill, enum cdrTriState ScaleWithShape, enum cdrOutlineLineCaps LineCaps, enum cdrOutlineLineJoin LineJoin, double NibAngle, long NibStretch, double DashDotLength, double PenWidth, double MiterLimit, enum cdrOutlineJustification Justification ) {
+    HRESULT _hr = raw_SetOutlinePropertiesEx(Width, Style, Color, StartArrow, EndArrow, BehindFill, ScaleWithShape, LineCaps, LineJoin, NibAngle, NibStretch, DashDotLength, PenWidth, MiterLimit, Justification);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3941)
+inline VGCore::IVGShapePtr VGCore::IVGShapeRange::CreateBoundary ( double x, double y, VARIANT_BOOL PlaceOnTop, VARIANT_BOOL DeleteSource ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_CreateBoundary(x, y, PlaceOnTop, DeleteSource, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3942)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::EqualDivide ( long Divisions, double Gap, VARIANT_BOOL Group, VARIANT_BOOL Combine, VARIANT_BOOL DeleteSource ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_EqualDivide(Divisions, Gap, Group, Combine, DeleteSource, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3943)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::Project ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Project(Plane, ReferencePoint, ApplyToDuplicate, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3944)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::Unproject ( enum cdrProjectPlane Plane, enum cdrReferencePoint ReferencePoint, VARIANT_BOOL ApplyToDuplicate ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Unproject(Plane, ReferencePoint, ApplyToDuplicate, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3945)
+inline HRESULT VGCore::IVGShapeRange::Show ( ) {
+    HRESULT _hr = raw_Show();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3946)
+inline HRESULT VGCore::IVGShapeRange::Hide ( ) {
+    HRESULT _hr = raw_Hide();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3947)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::GetToolShapes ( _bstr_t ShapeGuid ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_GetToolShapes(ShapeGuid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3948)
+inline HRESULT VGCore::IVGShapeRange::ModifyToolShapeProperties ( struct IVGProperties * ShapePropertiesToModify ) {
+    HRESULT _hr = raw_ModifyToolShapeProperties(ShapePropertiesToModify);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3949)
+inline VGCore::IVGShapeRangePtr VGCore::IVGShapeRange::CreateParallelCurves ( long Count, double distanceBetweenCurves ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_CreateParallelCurves(Count, distanceBetweenCurves, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(3950)
+inline SAFEARRAY * VGCore::IVGShapeRange::GetColorTypes ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetColorTypes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3951)
+inline SAFEARRAY * VGCore::IVGShapeRange::GetColors ( long MaxBitmapColors ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetColors(MaxBitmapColors, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3952)
+inline HRESULT VGCore::IVGShapeRange::FlattenEffects ( ) {
+    HRESULT _hr = raw_FlattenEffects();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGPowerClip wrapper method implementations
+//
+
+#pragma implementation_key(3953)
+inline VGCore::IVGApplicationPtr VGCore::IVGPowerClip::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(3954)
+inline VGCore::IVGShapePtr VGCore::IVGPowerClip::GetParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(3955)
+inline VGCore::IVGShapesPtr VGCore::IVGPowerClip::GetShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_Shapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(3956)
+inline VARIANT_BOOL VGCore::IVGPowerClip::GetContentsLocked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ContentsLocked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3957)
+inline void VGCore::IVGPowerClip::PutContentsLocked ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ContentsLocked(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3958)
+inline HRESULT VGCore::IVGPowerClip::EnterEditMode ( ) {
+    HRESULT _hr = raw_EnterEditMode();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3959)
+inline HRESULT VGCore::IVGPowerClip::LeaveEditMode ( ) {
+    HRESULT _hr = raw_LeaveEditMode();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3960)
+inline VGCore::IVGShapeRangePtr VGCore::IVGPowerClip::ExtractShapes ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_ExtractShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+//
+// interface IVGFill wrapper method implementations
+//
+
+#pragma implementation_key(3961)
+inline enum VGCore::cdrFillType VGCore::IVGFill::GetType ( ) {
+    enum cdrFillType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3962)
+inline VGCore::IVGColorPtr VGCore::IVGFill::GetUniformColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_UniformColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(3963)
+inline void VGCore::IVGFill::PutUniformColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_UniformColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3964)
+inline VGCore::IVGFountainFillPtr VGCore::IVGFill::GetFountain ( ) {
+    struct IVGFountainFill * _result = 0;
+    HRESULT _hr = get_Fountain(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainFillPtr(_result, false);
+}
+
+#pragma implementation_key(3965)
+inline void VGCore::IVGFill::PutFountain ( struct IVGFountainFill * ppVal ) {
+    HRESULT _hr = put_Fountain(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3966)
+inline VGCore::IVGPatternFillPtr VGCore::IVGFill::GetPattern ( ) {
+    struct IVGPatternFill * _result = 0;
+    HRESULT _hr = get_Pattern(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternFillPtr(_result, false);
+}
+
+#pragma implementation_key(3967)
+inline void VGCore::IVGFill::PutPattern ( struct IVGPatternFill * ppVal ) {
+    HRESULT _hr = put_Pattern(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3968)
+inline VGCore::IVGTextureFillPtr VGCore::IVGFill::GetTexture ( ) {
+    struct IVGTextureFill * _result = 0;
+    HRESULT _hr = get_Texture(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextureFillPtr(_result, false);
+}
+
+#pragma implementation_key(3969)
+inline void VGCore::IVGFill::PutTexture ( struct IVGTextureFill * ppVal ) {
+    HRESULT _hr = put_Texture(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3970)
+inline VGCore::IVGPostScriptFillPtr VGCore::IVGFill::GetPostScript ( ) {
+    struct IVGPostScriptFill * _result = 0;
+    HRESULT _hr = get_PostScript(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPostScriptFillPtr(_result, false);
+}
+
+#pragma implementation_key(3971)
+inline void VGCore::IVGFill::PutPostScript ( struct IVGPostScriptFill * ppVal ) {
+    HRESULT _hr = put_PostScript(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3972)
+inline HRESULT VGCore::IVGFill::ApplyNoFill ( ) {
+    HRESULT _hr = raw_ApplyNoFill();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3973)
+inline HRESULT VGCore::IVGFill::ApplyUniformFill ( struct IVGColor * Color ) {
+    HRESULT _hr = raw_ApplyUniformFill(Color);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3974)
+inline VGCore::IVGFountainFillPtr VGCore::IVGFill::ApplyFountainFill ( struct IVGColor * StartColor, struct IVGColor * EndColor, enum cdrFountainFillType Type, double Angle, long Steps, long EdgePad, long MidPoint, enum cdrFountainFillBlendType BlendType, double CenterOffsetX, double CenterOffsetY ) {
+    struct IVGFountainFill * _result = 0;
+    HRESULT _hr = raw_ApplyFountainFill(StartColor, EndColor, Type, Angle, Steps, EdgePad, MidPoint, BlendType, CenterOffsetX, CenterOffsetY, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFountainFillPtr(_result, false);
+}
+
+#pragma implementation_key(3975)
+inline VGCore::IVGPatternFillPtr VGCore::IVGFill::ApplyPatternFill ( enum cdrPatternFillType Type, _bstr_t FileName, long PatternCanvasIndex, struct IVGColor * FrontColor, struct IVGColor * EndColor, VARIANT_BOOL TransformWithShape ) {
+    struct IVGPatternFill * _result = 0;
+    HRESULT _hr = raw_ApplyPatternFill(Type, FileName, PatternCanvasIndex, FrontColor, EndColor, TransformWithShape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPatternFillPtr(_result, false);
+}
+
+#pragma implementation_key(3976)
+inline VGCore::IVGTextureFillPtr VGCore::IVGFill::ApplyTextureFill ( _bstr_t TextureName, _bstr_t LibraryName ) {
+    struct IVGTextureFill * _result = 0;
+    HRESULT _hr = raw_ApplyTextureFill(TextureName, LibraryName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextureFillPtr(_result, false);
+}
+
+#pragma implementation_key(3977)
+inline VGCore::IVGPostScriptFillPtr VGCore::IVGFill::ApplyPostscriptFill ( const _variant_t & IndexOrName ) {
+    struct IVGPostScriptFill * _result = 0;
+    HRESULT _hr = raw_ApplyPostscriptFill(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPostScriptFillPtr(_result, false);
+}
+
+#pragma implementation_key(3978)
+inline VGCore::IVGFillPtr VGCore::IVGFill::GetCopy ( ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(3979)
+inline HRESULT VGCore::IVGFill::CopyAssign ( struct IVGFill * SourceFill ) {
+    HRESULT _hr = raw_CopyAssign(SourceFill);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3980)
+inline VARIANT_BOOL VGCore::IVGFill::UserAssign ( enum cdrFillType FillType, enum cdrPatternFillType PatternType, long ParentWindowHandle ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UserAssign(FillType, PatternType, ParentWindowHandle, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3981)
+inline VGCore::IVGPSScreenOptionsPtr VGCore::IVGFill::GetPSScreen ( ) {
+    struct IVGPSScreenOptions * _result = 0;
+    HRESULT _hr = get_PSScreen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPSScreenOptionsPtr(_result, false);
+}
+
+#pragma implementation_key(3982)
+inline VGCore::IVGHatchFillPtr VGCore::IVGFill::GetHatch ( ) {
+    struct IVGHatchFill * _result = 0;
+    HRESULT _hr = get_Hatch(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchFillPtr(_result, false);
+}
+
+#pragma implementation_key(3983)
+inline void VGCore::IVGFill::PutHatch ( struct IVGHatchFill * ppVal ) {
+    HRESULT _hr = put_Hatch(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(3984)
+inline VARIANT_BOOL VGCore::IVGFill::CompareWith ( struct IVGFill * Fill ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CompareWith(Fill, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3985)
+inline VGCore::IVGHatchFillPtr VGCore::IVGFill::ApplyCustomHatchFill ( double Angle, double Spacing, double Shift, double OriginX, double OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew ) {
+    struct IVGHatchFill * _result = 0;
+    HRESULT _hr = raw_ApplyCustomHatchFill(Angle, Spacing, Shift, OriginX, OriginY, Width, Color, Style, DashDotLength, PenWidth, BackColor, TransformWithShape, ScaleLinesWithShape, UseWorldCoordinates, FillScale, LineScale, FillAngle, FillSkew, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchFillPtr(_result, false);
+}
+
+#pragma implementation_key(3986)
+inline VGCore::IVGHatchFillPtr VGCore::IVGFill::ApplyHatchFill ( _bstr_t LibraryName, const _variant_t & HatchNameOrIndex, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew ) {
+    struct IVGHatchFill * _result = 0;
+    HRESULT _hr = raw_ApplyHatchFill(LibraryName, HatchNameOrIndex, BackColor, TransformWithShape, ScaleLinesWithShape, UseWorldCoordinates, FillScale, LineScale, FillAngle, FillSkew, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchFillPtr(_result, false);
+}
+
+#pragma implementation_key(3987)
+inline _bstr_t VGCore::IVGFill::ToString ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_ToString(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3988)
+inline VARIANT_BOOL VGCore::IVGFill::StringAssign ( _bstr_t FillString ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_StringAssign(FillString, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGHatchFills wrapper method implementations
+//
+
+#pragma implementation_key(3989)
+inline VGCore::IVGFillPtr VGCore::IVGHatchFills::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(3990)
+inline long VGCore::IVGHatchFills::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3991)
+inline IUnknownPtr VGCore::IVGHatchFills::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(3992)
+inline VGCore::IVGFillPtr VGCore::IVGHatchFills::Find ( _bstr_t Name ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = raw_Find(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+//
+// interface IVGHatchLibrary wrapper method implementations
+//
+
+#pragma implementation_key(3993)
+inline _bstr_t VGCore::IVGHatchLibrary::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(3994)
+inline VGCore::IVGHatchFillsPtr VGCore::IVGHatchLibrary::GetFills ( ) {
+    struct IVGHatchFills * _result = 0;
+    HRESULT _hr = get_Fills(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchFillsPtr(_result, false);
+}
+
+#pragma implementation_key(3995)
+inline VARIANT_BOOL VGCore::IVGHatchLibrary::GetActive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Active(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3996)
+inline long VGCore::IVGHatchLibrary::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(3997)
+inline HRESULT VGCore::IVGHatchLibrary::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(3998)
+inline _bstr_t VGCore::IVGHatchLibrary::GetDisplayName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DisplayName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface IVGHatchFill wrapper method implementations
+//
+
+#pragma implementation_key(3999)
+inline VGCore::IVGColorPtr VGCore::IVGHatchFill::GetBackColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_BackColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4000)
+inline void VGCore::IVGHatchFill::PutBackColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_BackColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4001)
+inline VARIANT_BOOL VGCore::IVGHatchFill::GetHasBackground ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasBackground(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4002)
+inline VARIANT_BOOL VGCore::IVGHatchFill::GetTransformWithShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TransformWithShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4003)
+inline void VGCore::IVGHatchFill::PutTransformWithShape ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TransformWithShape(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4004)
+inline VARIANT_BOOL VGCore::IVGHatchFill::GetScaleLinesWithShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ScaleLinesWithShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4005)
+inline void VGCore::IVGHatchFill::PutScaleLinesWithShape ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ScaleLinesWithShape(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4006)
+inline VARIANT_BOOL VGCore::IVGHatchFill::GetUseWorldCoordinates ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseWorldCoordinates(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4007)
+inline void VGCore::IVGHatchFill::PutUseWorldCoordinates ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseWorldCoordinates(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4008)
+inline _bstr_t VGCore::IVGHatchFill::GetLibraryName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LibraryName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4009)
+inline _bstr_t VGCore::IVGHatchFill::GetHatchName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_HatchName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4010)
+inline VGCore::IVGHatchPatternsPtr VGCore::IVGHatchFill::GetPatterns ( ) {
+    struct IVGHatchPatterns * _result = 0;
+    HRESULT _hr = get_Patterns(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchPatternsPtr(_result, false);
+}
+
+#pragma implementation_key(4011)
+inline double VGCore::IVGHatchFill::GetFillScaleX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FillScaleX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4012)
+inline void VGCore::IVGHatchFill::PutFillScaleX ( double pVal ) {
+    HRESULT _hr = put_FillScaleX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4013)
+inline double VGCore::IVGHatchFill::GetFillScaleY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FillScaleY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4014)
+inline void VGCore::IVGHatchFill::PutFillScaleY ( double pVal ) {
+    HRESULT _hr = put_FillScaleY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4015)
+inline double VGCore::IVGHatchFill::GetRotationAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4016)
+inline void VGCore::IVGHatchFill::PutRotationAngle ( double pVal ) {
+    HRESULT _hr = put_RotationAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4017)
+inline double VGCore::IVGHatchFill::GetSkewAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SkewAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4018)
+inline void VGCore::IVGHatchFill::PutSkewAngle ( double pVal ) {
+    HRESULT _hr = put_SkewAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4019)
+inline HRESULT VGCore::IVGHatchFill::SetNoBackColor ( ) {
+    HRESULT _hr = raw_SetNoBackColor();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4020)
+inline HRESULT VGCore::IVGHatchFill::SetFillScale ( double FillScale ) {
+    HRESULT _hr = raw_SetFillScale(FillScale);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4021)
+inline double VGCore::IVGHatchFill::GetFillScale ( ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetFillScale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4022)
+inline HRESULT VGCore::IVGHatchFill::SetLineScale ( double LineScale ) {
+    HRESULT _hr = raw_SetLineScale(LineScale);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4023)
+inline double VGCore::IVGHatchFill::GetLineScale ( ) {
+    double _result = 0;
+    HRESULT _hr = raw_GetLineScale(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4024)
+inline VGCore::IVGHatchPatternPtr VGCore::IVGHatchFill::AddPattern ( double Angle, double Spacing, double Shift, double OriginX, double OriginY, double Width, struct IVGColor * Color, struct IVGOutlineStyle * Style, double DashDotLength, double PenWidth ) {
+    struct IVGHatchPattern * _result = 0;
+    HRESULT _hr = raw_AddPattern(Angle, Spacing, Shift, OriginX, OriginY, Width, Color, Style, DashDotLength, PenWidth, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchPatternPtr(_result, false);
+}
+
+#pragma implementation_key(4025)
+inline HRESULT VGCore::IVGHatchFill::AddToLibrary ( _bstr_t LibraryName, _bstr_t HatchName ) {
+    HRESULT _hr = raw_AddToLibrary(LibraryName, HatchName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4026)
+inline HRESULT VGCore::IVGHatchFill::Select ( _bstr_t LibraryName, const _variant_t & HatchNameOrIndex, struct IVGColor * BackColor, VARIANT_BOOL TransformWithShape, VARIANT_BOOL ScaleLinesWithShape, VARIANT_BOOL UseWorldCoordinates, double FillScale, double LineScale, double FillAngle, double FillSkew ) {
+    HRESULT _hr = raw_Select(LibraryName, HatchNameOrIndex, BackColor, TransformWithShape, ScaleLinesWithShape, UseWorldCoordinates, FillScale, LineScale, FillAngle, FillSkew);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4027)
+inline VARIANT_BOOL VGCore::IVGHatchFill::GetIsFromLibrary ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsFromLibrary(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4028)
+inline long VGCore::IVGHatchFill::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4029)
+inline VGCore::IVGHatchLibraryPtr VGCore::IVGHatchFill::GetLibrary ( ) {
+    struct IVGHatchLibrary * _result = 0;
+    HRESULT _hr = get_Library(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchLibraryPtr(_result, false);
+}
+
+//
+// interface IVGStructFontProperties wrapper method implementations
+//
+
+#pragma implementation_key(4030)
+inline void VGCore::IVGStructFontProperties::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4031)
+inline _bstr_t VGCore::IVGStructFontProperties::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4032)
+inline void VGCore::IVGStructFontProperties::PutStyle ( enum cdrFontStyle pVal ) {
+    HRESULT _hr = put_Style(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4033)
+inline enum VGCore::cdrFontStyle VGCore::IVGStructFontProperties::GetStyle ( ) {
+    enum cdrFontStyle _result;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4034)
+inline void VGCore::IVGStructFontProperties::PutSize ( float pVal ) {
+    HRESULT _hr = put_Size(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4035)
+inline float VGCore::IVGStructFontProperties::GetSize ( ) {
+    float _result = 0;
+    HRESULT _hr = get_Size(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4036)
+inline void VGCore::IVGStructFontProperties::PutUnderline ( enum cdrFontLine pVal ) {
+    HRESULT _hr = put_Underline(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4037)
+inline enum VGCore::cdrFontLine VGCore::IVGStructFontProperties::GetUnderline ( ) {
+    enum cdrFontLine _result;
+    HRESULT _hr = get_Underline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4038)
+inline void VGCore::IVGStructFontProperties::PutOverscore ( enum cdrFontLine pVal ) {
+    HRESULT _hr = put_Overscore(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4039)
+inline enum VGCore::cdrFontLine VGCore::IVGStructFontProperties::GetOverscore ( ) {
+    enum cdrFontLine _result;
+    HRESULT _hr = get_Overscore(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4040)
+inline void VGCore::IVGStructFontProperties::PutStrikethru ( enum cdrFontLine pVal ) {
+    HRESULT _hr = put_Strikethru(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4041)
+inline enum VGCore::cdrFontLine VGCore::IVGStructFontProperties::GetStrikethru ( ) {
+    enum cdrFontLine _result;
+    HRESULT _hr = get_Strikethru(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4042)
+inline void VGCore::IVGStructFontProperties::PutUppercase ( enum cdrFontCase pVal ) {
+    HRESULT _hr = put_Uppercase(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4043)
+inline enum VGCore::cdrFontCase VGCore::IVGStructFontProperties::GetUppercase ( ) {
+    enum cdrFontCase _result;
+    HRESULT _hr = get_Uppercase(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4044)
+inline void VGCore::IVGStructFontProperties::PutPosition ( enum cdrFontPosition pVal ) {
+    HRESULT _hr = put_Position(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4045)
+inline enum VGCore::cdrFontPosition VGCore::IVGStructFontProperties::GetPosition ( ) {
+    enum cdrFontPosition _result;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4046)
+inline void VGCore::IVGStructFontProperties::PutRangeKerning ( long pVal ) {
+    HRESULT _hr = put_RangeKerning(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4047)
+inline long VGCore::IVGStructFontProperties::GetRangeKerning ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RangeKerning(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4048)
+inline void VGCore::IVGStructFontProperties::PutFill ( struct IVGFill * ppVal ) {
+    HRESULT _hr = put_Fill(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4049)
+inline VGCore::IVGFillPtr VGCore::IVGStructFontProperties::GetFill ( ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = get_Fill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(4050)
+inline void VGCore::IVGStructFontProperties::PutOutline ( struct IVGOutline * ppVal ) {
+    HRESULT _hr = put_Outline(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4051)
+inline VGCore::IVGOutlinePtr VGCore::IVGStructFontProperties::GetOutline ( ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = get_Outline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+//
+// interface IVGHatchLibraries wrapper method implementations
+//
+
+#pragma implementation_key(4052)
+inline VGCore::IVGHatchLibraryPtr VGCore::IVGHatchLibraries::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGHatchLibrary * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchLibraryPtr(_result, false);
+}
+
+#pragma implementation_key(4053)
+inline long VGCore::IVGHatchLibraries::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4054)
+inline VGCore::IVGHatchLibraryPtr VGCore::IVGHatchLibraries::Find ( _bstr_t Name ) {
+    struct IVGHatchLibrary * _result = 0;
+    HRESULT _hr = raw_Find(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchLibraryPtr(_result, false);
+}
+
+#pragma implementation_key(4055)
+inline IUnknownPtr VGCore::IVGHatchLibraries::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4056)
+inline VGCore::IVGHatchLibraryPtr VGCore::IVGHatchLibraries::GetActiveLibrary ( ) {
+    struct IVGHatchLibrary * _result = 0;
+    HRESULT _hr = get_ActiveLibrary(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchLibraryPtr(_result, false);
+}
+
+#pragma implementation_key(4057)
+inline VGCore::IVGHatchLibraryPtr VGCore::IVGHatchLibraries::GetDefaultLibrary ( ) {
+    struct IVGHatchLibrary * _result = 0;
+    HRESULT _hr = get_DefaultLibrary(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGHatchLibraryPtr(_result, false);
+}
+
+//
+// interface IVGText wrapper method implementations
+//
+
+#pragma implementation_key(4058)
+inline enum VGCore::cdrTextType VGCore::IVGText::GetType ( ) {
+    enum cdrTextType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4059)
+inline long VGCore::IVGText::GetFramesInLink ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FramesInLink(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4060)
+inline long VGCore::IVGText::GetUnusedFramesInLink ( ) {
+    long _result = 0;
+    HRESULT _hr = get_UnusedFramesInLink(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4061)
+inline VARIANT_BOOL VGCore::IVGText::GetOverflow ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Overflow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4062)
+inline VGCore::IVGStructFontPropertiesPtr VGCore::IVGText::GetFontProperties ( enum cdrTextFrames Frames ) {
+    struct IVGStructFontProperties * _result = 0;
+    HRESULT _hr = get_FontProperties(Frames, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructFontPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(4063)
+inline void VGCore::IVGText::PutFontProperties ( enum cdrTextFrames Frames, struct IVGStructFontProperties * ppVal ) {
+    HRESULT _hr = put_FontProperties(Frames, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4064)
+inline VGCore::IVGStructFontPropertiesPtr VGCore::IVGText::GetFontPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType ) {
+    struct IVGStructFontProperties * _result = 0;
+    HRESULT _hr = get_FontPropertiesInRange(StartIndex, Count, IndexingType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructFontPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(4065)
+inline void VGCore::IVGText::PutFontPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructFontProperties * ppVal ) {
+    HRESULT _hr = put_FontPropertiesInRange(StartIndex, Count, IndexingType, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4066)
+inline VGCore::IVGStructAlignPropertiesPtr VGCore::IVGText::GetAlignProperties ( enum cdrTextFrames Frames ) {
+    struct IVGStructAlignProperties * _result = 0;
+    HRESULT _hr = get_AlignProperties(Frames, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructAlignPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(4067)
+inline void VGCore::IVGText::PutAlignProperties ( enum cdrTextFrames Frames, struct IVGStructAlignProperties * ppVal ) {
+    HRESULT _hr = put_AlignProperties(Frames, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4068)
+inline VGCore::IVGStructAlignPropertiesPtr VGCore::IVGText::GetAlignPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType ) {
+    struct IVGStructAlignProperties * _result = 0;
+    HRESULT _hr = get_AlignPropertiesInRange(StartIndex, Count, IndexingType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructAlignPropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(4069)
+inline void VGCore::IVGText::PutAlignPropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructAlignProperties * ppVal ) {
+    HRESULT _hr = put_AlignPropertiesInRange(StartIndex, Count, IndexingType, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4070)
+inline VGCore::IVGStructSpacePropertiesPtr VGCore::IVGText::GetSpaceProperties ( enum cdrTextFrames Frames ) {
+    struct IVGStructSpaceProperties * _result = 0;
+    HRESULT _hr = get_SpaceProperties(Frames, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructSpacePropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(4071)
+inline void VGCore::IVGText::PutSpaceProperties ( enum cdrTextFrames Frames, struct IVGStructSpaceProperties * ppVal ) {
+    HRESULT _hr = put_SpaceProperties(Frames, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4072)
+inline VGCore::IVGStructSpacePropertiesPtr VGCore::IVGText::GetSpacePropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType ) {
+    struct IVGStructSpaceProperties * _result = 0;
+    HRESULT _hr = get_SpacePropertiesInRange(StartIndex, Count, IndexingType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructSpacePropertiesPtr(_result, false);
+}
+
+#pragma implementation_key(4073)
+inline void VGCore::IVGText::PutSpacePropertiesInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructSpaceProperties * ppVal ) {
+    HRESULT _hr = put_SpacePropertiesInRange(StartIndex, Count, IndexingType, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4074)
+inline VGCore::IVGStructHyphenationSettingsPtr VGCore::IVGText::GetHyphenationSettings ( enum cdrTextFrames Frames ) {
+    struct IVGStructHyphenationSettings * _result = 0;
+    HRESULT _hr = get_HyphenationSettings(Frames, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructHyphenationSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(4075)
+inline void VGCore::IVGText::PutHyphenationSettings ( enum cdrTextFrames Frames, struct IVGStructHyphenationSettings * ppVal ) {
+    HRESULT _hr = put_HyphenationSettings(Frames, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4076)
+inline VGCore::IVGStructHyphenationSettingsPtr VGCore::IVGText::GetHyphenationSettingsInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType ) {
+    struct IVGStructHyphenationSettings * _result = 0;
+    HRESULT _hr = get_HyphenationSettingsInRange(StartIndex, Count, IndexingType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStructHyphenationSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(4077)
+inline void VGCore::IVGText::PutHyphenationSettingsInRange ( long StartIndex, long Count, enum cdrTextIndexingType IndexingType, struct IVGStructHyphenationSettings * ppVal ) {
+    HRESULT _hr = put_HyphenationSettingsInRange(StartIndex, Count, IndexingType, ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4078)
+inline _bstr_t VGCore::IVGText::GetContents ( enum cdrTextFrames Frames ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Contents(Frames, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4079)
+inline void VGCore::IVGText::PutContents ( enum cdrTextFrames Frames, _bstr_t pVal ) {
+    HRESULT _hr = put_Contents(Frames, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4080)
+inline VGCore::IVGEffectPtr VGCore::IVGText::FitToPath ( struct IVGShape * Path ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = raw_FitToPath(Path, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4081)
+inline long VGCore::IVGText::Find ( _bstr_t Text, VARIANT_BOOL CaseSensitive, long StartIndex, VARIANT_BOOL WrapAround, enum cdrTextIndexingType IndexingType ) {
+    long _result = 0;
+    HRESULT _hr = raw_Find(Text, CaseSensitive, StartIndex, WrapAround, IndexingType, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4082)
+inline HRESULT VGCore::IVGText::Replace ( _bstr_t OldText, _bstr_t NewText, VARIANT_BOOL CaseSensitive, long StartIndex, VARIANT_BOOL ReplaceAll, VARIANT_BOOL WrapAround, enum cdrTextIndexingType IndexingType ) {
+    HRESULT _hr = raw_Replace(OldText, NewText, CaseSensitive, StartIndex, ReplaceAll, WrapAround, IndexingType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4083)
+inline HRESULT VGCore::IVGText::ImportFromFile ( _bstr_t FileName, long StartIndex, enum cdrTextIndexingType IndexingType ) {
+    HRESULT _hr = raw_ImportFromFile(FileName, StartIndex, IndexingType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4084)
+inline HRESULT VGCore::IVGText::ExportToFile ( _bstr_t FileName, long StartIndex, long Count, enum cdrTextIndexingType IndexingType ) {
+    HRESULT _hr = raw_ExportToFile(FileName, StartIndex, Count, IndexingType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4085)
+inline HRESULT VGCore::IVGText::ConvertToArtistic ( ) {
+    HRESULT _hr = raw_ConvertToArtistic();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4086)
+inline HRESULT VGCore::IVGText::ConvertToParagraph ( ) {
+    HRESULT _hr = raw_ConvertToParagraph();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4087)
+inline VARIANT_BOOL VGCore::IVGText::GetIsHTMLCompatible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsHTMLCompatible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4088)
+inline VARIANT_BOOL VGCore::IVGText::MakeHTMLCompatible ( VARIANT_BOOL HTML ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_MakeHTMLCompatible(HTML, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4089)
+inline VGCore::IVGTextRangePtr VGCore::IVGText::GetStory ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Story(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4090)
+inline VGCore::IVGTextRangePtr VGCore::IVGText::GetSelection ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Selection(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4091)
+inline VGCore::IVGTextRangePtr VGCore::IVGText::Range ( long Start, long End ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_Range(Start, End, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4092)
+inline VARIANT_BOOL VGCore::IVGText::GetIsEditing ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEditing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4093)
+inline HRESULT VGCore::IVGText::BeginEdit ( ) {
+    HRESULT _hr = raw_BeginEdit();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4094)
+inline VGCore::IVGTextFramePtr VGCore::IVGText::GetFrame ( ) {
+    struct IVGTextFrame * _result = 0;
+    HRESULT _hr = get_Frame(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramePtr(_result, false);
+}
+
+#pragma implementation_key(4095)
+inline VGCore::IVGTextFramesPtr VGCore::IVGText::GetFrames ( ) {
+    struct IVGTextFrames * _result = 0;
+    HRESULT _hr = get_Frames(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramesPtr(_result, false);
+}
+
+#pragma implementation_key(4096)
+inline VARIANT_BOOL VGCore::IVGText::GetIsArtisticText ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsArtisticText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4097)
+inline HRESULT VGCore::IVGText::FitTextToFrame ( ) {
+    HRESULT _hr = raw_FitTextToFrame();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGEffect wrapper method implementations
+//
+
+#pragma implementation_key(4098)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffect::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4099)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffect::GetParent ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4100)
+inline enum VGCore::cdrEffectType VGCore::IVGEffect::GetType ( ) {
+    enum cdrEffectType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4101)
+inline VGCore::IVGEffectBlendPtr VGCore::IVGEffect::GetBlend ( ) {
+    struct IVGEffectBlend * _result = 0;
+    HRESULT _hr = get_Blend(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectBlendPtr(_result, false);
+}
+
+#pragma implementation_key(4102)
+inline VGCore::IVGEffectControlPathPtr VGCore::IVGEffect::GetControlPath ( ) {
+    struct IVGEffectControlPath * _result = 0;
+    HRESULT _hr = get_ControlPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectControlPathPtr(_result, false);
+}
+
+#pragma implementation_key(4103)
+inline VGCore::IVGEffectExtrudePtr VGCore::IVGEffect::GetExtrude ( ) {
+    struct IVGEffectExtrude * _result = 0;
+    HRESULT _hr = get_Extrude(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectExtrudePtr(_result, false);
+}
+
+#pragma implementation_key(4104)
+inline VGCore::IVGEffectEnvelopePtr VGCore::IVGEffect::GetEnvelope ( ) {
+    struct IVGEffectEnvelope * _result = 0;
+    HRESULT _hr = get_Envelope(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectEnvelopePtr(_result, false);
+}
+
+#pragma implementation_key(4105)
+inline VGCore::IVGEffectTextOnPathPtr VGCore::IVGEffect::GetTextOnPath ( ) {
+    struct IVGEffectTextOnPath * _result = 0;
+    HRESULT _hr = get_TextOnPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectTextOnPathPtr(_result, false);
+}
+
+#pragma implementation_key(4106)
+inline VGCore::IVGEffectDropShadowPtr VGCore::IVGEffect::GetDropShadow ( ) {
+    struct IVGEffectDropShadow * _result = 0;
+    HRESULT _hr = get_DropShadow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectDropShadowPtr(_result, false);
+}
+
+#pragma implementation_key(4107)
+inline VGCore::IVGEffectContourPtr VGCore::IVGEffect::GetContour ( ) {
+    struct IVGEffectContour * _result = 0;
+    HRESULT _hr = get_Contour(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectContourPtr(_result, false);
+}
+
+#pragma implementation_key(4108)
+inline VGCore::IVGEffectDistortionPtr VGCore::IVGEffect::GetDistortion ( ) {
+    struct IVGEffectDistortion * _result = 0;
+    HRESULT _hr = get_Distortion(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectDistortionPtr(_result, false);
+}
+
+#pragma implementation_key(4109)
+inline VGCore::IVGEffectLensPtr VGCore::IVGEffect::GetLens ( ) {
+    struct IVGEffectLens * _result = 0;
+    HRESULT _hr = get_Lens(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectLensPtr(_result, false);
+}
+
+#pragma implementation_key(4110)
+inline VGCore::IVGEffectPerspectivePtr VGCore::IVGEffect::GetPerspective ( ) {
+    struct IVGEffectPerspective * _result = 0;
+    HRESULT _hr = get_Perspective(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPerspectivePtr(_result, false);
+}
+
+#pragma implementation_key(4111)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffect::GetClones ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_Clones(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4112)
+inline VGCore::IVGEffectPtr VGCore::IVGEffect::GetCloneParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_CloneParent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4113)
+inline HRESULT VGCore::IVGEffect::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4114)
+inline VGCore::IVGShapeRangePtr VGCore::IVGEffect::Separate ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Separate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(4115)
+inline VGCore::IVGCustomEffectPtr VGCore::IVGEffect::GetCustom ( ) {
+    struct IVGCustomEffect * _result = 0;
+    HRESULT _hr = get_Custom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCustomEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4116)
+inline VGCore::IVGEffectInnerShadowPtr VGCore::IVGEffect::GetInnerShadow ( ) {
+    struct IVGEffectInnerShadow * _result = 0;
+    HRESULT _hr = get_InnerShadow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectInnerShadowPtr(_result, false);
+}
+
+//
+// interface IVGEffects wrapper method implementations
+//
+
+#pragma implementation_key(4117)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffects::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4118)
+inline VGCore::IVGShapePtr VGCore::IVGEffects::GetParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4119)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetItem ( long Index ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4120)
+inline IUnknownPtr VGCore::IVGEffects::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4121)
+inline long VGCore::IVGEffects::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4122)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffects::GetBlendEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_BlendEffects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4123)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffects::GetCustomEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_CustomEffects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4124)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffects::GetDistortionEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_DistortionEffects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4125)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffects::GetEnvelopeEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_EnvelopeEffects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4126)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffects::GetPerspectiveEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_PerspectiveEffects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4127)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetContourEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_ContourEffect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4128)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetControlPathEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_ControlPathEffect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4129)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetDropShadowEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_DropShadowEffect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4130)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetExtrudeEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_ExtrudeEffect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4131)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetLensEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_LensEffect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4132)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetTextOnPathEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_TextOnPathEffect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4133)
+inline VGCore::IVGEffectPtr VGCore::IVGEffects::GetInnerShadowEffect ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_InnerShadowEffect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+//
+// interface IVGEffectBlend wrapper method implementations
+//
+
+#pragma implementation_key(4134)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectBlend::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4135)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectBlend::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4136)
+inline VGCore::IVGShapePtr VGCore::IVGEffectBlend::GetStartShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_StartShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4137)
+inline void VGCore::IVGEffectBlend::PutStartShape ( struct IVGShape * ppVal ) {
+    HRESULT _hr = put_StartShape(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4138)
+inline VGCore::IVGShapePtr VGCore::IVGEffectBlend::GetEndShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_EndShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4139)
+inline void VGCore::IVGEffectBlend::PutEndShape ( struct IVGShape * ppVal ) {
+    HRESULT _hr = put_EndShape(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4140)
+inline VGCore::IVGShapePtr VGCore::IVGEffectBlend::GetBlendGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_BlendGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4141)
+inline VGCore::IVGShapePtr VGCore::IVGEffectBlend::GetPath ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Path(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4142)
+inline void VGCore::IVGEffectBlend::PutPath ( struct IVGShape * ppVal ) {
+    HRESULT _hr = put_Path(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4143)
+inline double VGCore::IVGEffectBlend::GetStartShapeOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_StartShapeOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4144)
+inline void VGCore::IVGEffectBlend::PutStartShapeOffset ( double pVal ) {
+    HRESULT _hr = put_StartShapeOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4145)
+inline double VGCore::IVGEffectBlend::GetEndShapeOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_EndShapeOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4146)
+inline void VGCore::IVGEffectBlend::PutEndShapeOffset ( double pVal ) {
+    HRESULT _hr = put_EndShapeOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4147)
+inline enum VGCore::cdrBlendMode VGCore::IVGEffectBlend::GetMode ( ) {
+    enum cdrBlendMode _result;
+    HRESULT _hr = get_Mode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4148)
+inline void VGCore::IVGEffectBlend::PutMode ( enum cdrBlendMode pVal ) {
+    HRESULT _hr = put_Mode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4149)
+inline long VGCore::IVGEffectBlend::GetSteps ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Steps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4150)
+inline void VGCore::IVGEffectBlend::PutSteps ( long pVal ) {
+    HRESULT _hr = put_Steps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4151)
+inline double VGCore::IVGEffectBlend::GetSpacing ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Spacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4152)
+inline void VGCore::IVGEffectBlend::PutSpacing ( double pVal ) {
+    HRESULT _hr = put_Spacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4153)
+inline double VGCore::IVGEffectBlend::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4154)
+inline void VGCore::IVGEffectBlend::PutAngle ( double pVal ) {
+    HRESULT _hr = put_Angle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4155)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::GetLoop ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Loop(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4156)
+inline void VGCore::IVGEffectBlend::PutLoop ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Loop(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4157)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::GetFullPath ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FullPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4158)
+inline void VGCore::IVGEffectBlend::PutFullPath ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FullPath(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4159)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::GetRotateShapes ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RotateShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4160)
+inline void VGCore::IVGEffectBlend::PutRotateShapes ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RotateShapes(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4161)
+inline enum VGCore::cdrFountainFillBlendType VGCore::IVGEffectBlend::GetColorBlendType ( ) {
+    enum cdrFountainFillBlendType _result;
+    HRESULT _hr = get_ColorBlendType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4162)
+inline void VGCore::IVGEffectBlend::PutColorBlendType ( enum cdrFountainFillBlendType pVal ) {
+    HRESULT _hr = put_ColorBlendType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4163)
+inline long VGCore::IVGEffectBlend::GetSpacingAcceleration ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SpacingAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4164)
+inline void VGCore::IVGEffectBlend::PutSpacingAcceleration ( long pVal ) {
+    HRESULT _hr = put_SpacingAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4165)
+inline long VGCore::IVGEffectBlend::GetColorAcceleration ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColorAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4166)
+inline void VGCore::IVGEffectBlend::PutColorAcceleration ( long pVal ) {
+    HRESULT _hr = put_ColorAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4167)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::GetLinkAcceleration ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_LinkAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4168)
+inline void VGCore::IVGEffectBlend::PutLinkAcceleration ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_LinkAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4169)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::GetAccelerateSize ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AccelerateSize(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4170)
+inline void VGCore::IVGEffectBlend::PutAccelerateSize ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AccelerateSize(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4171)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::GetMapNodes ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MapNodes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4172)
+inline void VGCore::IVGEffectBlend::PutMapNodes ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MapNodes(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4173)
+inline VGCore::IVGSnapPointPtr VGCore::IVGEffectBlend::GetStartPoint ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_StartPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(4174)
+inline void VGCore::IVGEffectBlend::PutStartPoint ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_StartPoint(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4175)
+inline VGCore::IVGSnapPointPtr VGCore::IVGEffectBlend::GetEndPoint ( ) {
+    struct IVGSnapPoint * _result = 0;
+    HRESULT _hr = get_EndPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSnapPointPtr(_result, false);
+}
+
+#pragma implementation_key(4176)
+inline void VGCore::IVGEffectBlend::PutEndPoint ( struct IVGSnapPoint * ppVal ) {
+    HRESULT _hr = put_EndPoint(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4177)
+inline VGCore::IVGShapePtr VGCore::IVGEffectBlend::Split ( long StepNo ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = raw_Split(StepNo, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4178)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::FuseStart ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_FuseStart(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4179)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::FuseEnd ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_FuseEnd(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4180)
+inline VARIANT_BOOL VGCore::IVGEffectBlend::CopyFrom ( struct IVGEffectBlend * Source ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CopyFrom(Source, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGEffectControlPath wrapper method implementations
+//
+
+#pragma implementation_key(4181)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectControlPath::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4182)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectControlPath::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4183)
+inline VGCore::IVGEffectsPtr VGCore::IVGEffectControlPath::GetEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_Effects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+//
+// interface IVGEffectEnvelope wrapper method implementations
+//
+
+#pragma implementation_key(4184)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectEnvelope::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4185)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectEnvelope::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4186)
+inline VGCore::IVGCurvePtr VGCore::IVGEffectEnvelope::GetContainer ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Container(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(4187)
+inline void VGCore::IVGEffectEnvelope::PutContainer ( struct IVGCurve * pVal ) {
+    HRESULT _hr = put_Container(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4188)
+inline enum VGCore::cdrEnvelopeMode VGCore::IVGEffectEnvelope::GetMode ( ) {
+    enum cdrEnvelopeMode _result;
+    HRESULT _hr = get_Mode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4189)
+inline void VGCore::IVGEffectEnvelope::PutMode ( enum cdrEnvelopeMode pVal ) {
+    HRESULT _hr = put_Mode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4190)
+inline VARIANT_BOOL VGCore::IVGEffectEnvelope::GetKeepLines ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_KeepLines(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4191)
+inline void VGCore::IVGEffectEnvelope::PutKeepLines ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_KeepLines(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4192)
+inline HRESULT VGCore::IVGEffectEnvelope::Select ( long PresetIndex ) {
+    HRESULT _hr = raw_Select(PresetIndex);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4193)
+inline HRESULT VGCore::IVGEffectEnvelope::CopyFrom ( struct IVGEffectEnvelope * Source ) {
+    HRESULT _hr = raw_CopyFrom(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4194)
+inline VARIANT_BOOL VGCore::IVGEffectEnvelope::CreateFrom ( struct IVGShape * Shape ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CreateFrom(Shape, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4195)
+inline VARIANT_BOOL VGCore::IVGEffectEnvelope::CopyFromShape ( struct IVGShape * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CopyFromShape(Source, Mode, KeepLines, CopyMode, CornerIndices, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4196)
+inline VARIANT_BOOL VGCore::IVGEffectEnvelope::CopyFromCurve ( struct IVGCurve * Source, enum cdrEnvelopeMode Mode, VARIANT_BOOL KeepLines, enum cdrEnvelopeCopyMode CopyMode, const _variant_t & CornerIndices ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_CopyFromCurve(Source, Mode, KeepLines, CopyMode, CornerIndices, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4197)
+inline _variant_t VGCore::IVGEffectEnvelope::GetCornerIndices ( ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = get_CornerIndices(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(4198)
+inline void VGCore::IVGEffectEnvelope::PutCornerIndices ( const _variant_t & pVal ) {
+    HRESULT _hr = put_CornerIndices(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectTextOnPath wrapper method implementations
+//
+
+#pragma implementation_key(4199)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectTextOnPath::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4200)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectTextOnPath::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4201)
+inline VGCore::IVGShapePtr VGCore::IVGEffectTextOnPath::GetText ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Text(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4202)
+inline void VGCore::IVGEffectTextOnPath::PutText ( struct IVGShape * ppVal ) {
+    HRESULT _hr = put_Text(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4203)
+inline VGCore::IVGShapePtr VGCore::IVGEffectTextOnPath::GetPath ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Path(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4204)
+inline void VGCore::IVGEffectTextOnPath::PutPath ( struct IVGShape * ppVal ) {
+    HRESULT _hr = put_Path(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4205)
+inline double VGCore::IVGEffectTextOnPath::GetDistanceFromPath ( ) {
+    double _result = 0;
+    HRESULT _hr = get_DistanceFromPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4206)
+inline void VGCore::IVGEffectTextOnPath::PutDistanceFromPath ( double pVal ) {
+    HRESULT _hr = put_DistanceFromPath(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4207)
+inline double VGCore::IVGEffectTextOnPath::GetOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Offset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4208)
+inline void VGCore::IVGEffectTextOnPath::PutOffset ( double pVal ) {
+    HRESULT _hr = put_Offset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4209)
+inline enum VGCore::cdrFittedOrientation VGCore::IVGEffectTextOnPath::GetOrientation ( ) {
+    enum cdrFittedOrientation _result;
+    HRESULT _hr = get_Orientation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4210)
+inline void VGCore::IVGEffectTextOnPath::PutOrientation ( enum cdrFittedOrientation pVal ) {
+    HRESULT _hr = put_Orientation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4211)
+inline enum VGCore::cdrFittedPlacement VGCore::IVGEffectTextOnPath::GetPlacement ( ) {
+    enum cdrFittedPlacement _result;
+    HRESULT _hr = get_Placement(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4212)
+inline void VGCore::IVGEffectTextOnPath::PutPlacement ( enum cdrFittedPlacement pVal ) {
+    HRESULT _hr = put_Placement(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4213)
+inline VARIANT_BOOL VGCore::IVGEffectTextOnPath::GetPlaceOnOtherSide ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_PlaceOnOtherSide(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4214)
+inline void VGCore::IVGEffectTextOnPath::PutPlaceOnOtherSide ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_PlaceOnOtherSide(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4215)
+inline enum VGCore::cdrFittedQuadrant VGCore::IVGEffectTextOnPath::GetQuadrant ( ) {
+    enum cdrFittedQuadrant _result;
+    HRESULT _hr = get_Quadrant(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4216)
+inline void VGCore::IVGEffectTextOnPath::PutQuadrant ( enum cdrFittedQuadrant pVal ) {
+    HRESULT _hr = put_Quadrant(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4217)
+inline enum VGCore::cdrFittedVertPlacement VGCore::IVGEffectTextOnPath::GetVertPlacement ( ) {
+    enum cdrFittedVertPlacement _result;
+    HRESULT _hr = get_VertPlacement(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4218)
+inline void VGCore::IVGEffectTextOnPath::PutVertPlacement ( enum cdrFittedVertPlacement pVal ) {
+    HRESULT _hr = put_VertPlacement(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectDropShadow wrapper method implementations
+//
+
+#pragma implementation_key(4219)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectDropShadow::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4220)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectDropShadow::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4221)
+inline double VGCore::IVGEffectDropShadow::GetOffsetX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OffsetX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4222)
+inline void VGCore::IVGEffectDropShadow::PutOffsetX ( double pVal ) {
+    HRESULT _hr = put_OffsetX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4223)
+inline double VGCore::IVGEffectDropShadow::GetOffsetY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OffsetY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4224)
+inline void VGCore::IVGEffectDropShadow::PutOffsetY ( double pVal ) {
+    HRESULT _hr = put_OffsetY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4225)
+inline long VGCore::IVGEffectDropShadow::GetOpacity ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Opacity(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4226)
+inline void VGCore::IVGEffectDropShadow::PutOpacity ( long pVal ) {
+    HRESULT _hr = put_Opacity(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4227)
+inline long VGCore::IVGEffectDropShadow::GetFeather ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Feather(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4228)
+inline void VGCore::IVGEffectDropShadow::PutFeather ( long pVal ) {
+    HRESULT _hr = put_Feather(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4229)
+inline enum VGCore::cdrFeatherType VGCore::IVGEffectDropShadow::GetFeatherType ( ) {
+    enum cdrFeatherType _result;
+    HRESULT _hr = get_FeatherType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4230)
+inline void VGCore::IVGEffectDropShadow::PutFeatherType ( enum cdrFeatherType pVal ) {
+    HRESULT _hr = put_FeatherType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4231)
+inline enum VGCore::cdrEdgeType VGCore::IVGEffectDropShadow::GetFeatherEdge ( ) {
+    enum cdrEdgeType _result;
+    HRESULT _hr = get_FeatherEdge(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4232)
+inline void VGCore::IVGEffectDropShadow::PutFeatherEdge ( enum cdrEdgeType pVal ) {
+    HRESULT _hr = put_FeatherEdge(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4233)
+inline enum VGCore::cdrDropShadowType VGCore::IVGEffectDropShadow::GetType ( ) {
+    enum cdrDropShadowType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4234)
+inline void VGCore::IVGEffectDropShadow::PutType ( enum cdrDropShadowType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4235)
+inline double VGCore::IVGEffectDropShadow::GetPerspectiveAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PerspectiveAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4236)
+inline void VGCore::IVGEffectDropShadow::PutPerspectiveAngle ( double pVal ) {
+    HRESULT _hr = put_PerspectiveAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4237)
+inline double VGCore::IVGEffectDropShadow::GetPerspectiveStretch ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PerspectiveStretch(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4238)
+inline void VGCore::IVGEffectDropShadow::PutPerspectiveStretch ( double pVal ) {
+    HRESULT _hr = put_PerspectiveStretch(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4239)
+inline long VGCore::IVGEffectDropShadow::GetFade ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Fade(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4240)
+inline void VGCore::IVGEffectDropShadow::PutFade ( long pVal ) {
+    HRESULT _hr = put_Fade(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4241)
+inline VGCore::IVGColorPtr VGCore::IVGEffectDropShadow::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4242)
+inline void VGCore::IVGEffectDropShadow::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4243)
+inline HRESULT VGCore::IVGEffectDropShadow::SetOffset ( double OffsetX, double OffsetY ) {
+    HRESULT _hr = raw_SetOffset(OffsetX, OffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4244)
+inline VGCore::IVGShapePtr VGCore::IVGEffectDropShadow::GetShadowGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ShadowGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4245)
+inline enum VGCore::cdrMergeMode VGCore::IVGEffectDropShadow::GetMergeMode ( ) {
+    enum cdrMergeMode _result;
+    HRESULT _hr = get_MergeMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4246)
+inline void VGCore::IVGEffectDropShadow::PutMergeMode ( enum cdrMergeMode pVal ) {
+    HRESULT _hr = put_MergeMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectContour wrapper method implementations
+//
+
+#pragma implementation_key(4247)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectContour::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4248)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectContour::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4249)
+inline enum VGCore::cdrContourDirection VGCore::IVGEffectContour::GetDirection ( ) {
+    enum cdrContourDirection _result;
+    HRESULT _hr = get_Direction(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4250)
+inline void VGCore::IVGEffectContour::PutDirection ( enum cdrContourDirection pVal ) {
+    HRESULT _hr = put_Direction(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4251)
+inline double VGCore::IVGEffectContour::GetOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Offset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4252)
+inline void VGCore::IVGEffectContour::PutOffset ( double pVal ) {
+    HRESULT _hr = put_Offset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4253)
+inline long VGCore::IVGEffectContour::GetSteps ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Steps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4254)
+inline void VGCore::IVGEffectContour::PutSteps ( long pVal ) {
+    HRESULT _hr = put_Steps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4255)
+inline enum VGCore::cdrFountainFillBlendType VGCore::IVGEffectContour::GetColorBlendType ( ) {
+    enum cdrFountainFillBlendType _result;
+    HRESULT _hr = get_ColorBlendType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4256)
+inline void VGCore::IVGEffectContour::PutColorBlendType ( enum cdrFountainFillBlendType pVal ) {
+    HRESULT _hr = put_ColorBlendType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4257)
+inline VGCore::IVGColorPtr VGCore::IVGEffectContour::GetOutlineColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_OutlineColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4258)
+inline void VGCore::IVGEffectContour::PutOutlineColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_OutlineColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4259)
+inline VGCore::IVGColorPtr VGCore::IVGEffectContour::GetFillColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_FillColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4260)
+inline void VGCore::IVGEffectContour::PutFillColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_FillColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4261)
+inline VGCore::IVGColorPtr VGCore::IVGEffectContour::GetFillColorTo ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_FillColorTo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4262)
+inline void VGCore::IVGEffectContour::PutFillColorTo ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_FillColorTo(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4263)
+inline VARIANT_BOOL VGCore::IVGEffectContour::GetLinkAcceleration ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_LinkAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4264)
+inline void VGCore::IVGEffectContour::PutLinkAcceleration ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_LinkAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4265)
+inline long VGCore::IVGEffectContour::GetColorAcceleration ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColorAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4266)
+inline void VGCore::IVGEffectContour::PutColorAcceleration ( long pVal ) {
+    HRESULT _hr = put_ColorAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4267)
+inline long VGCore::IVGEffectContour::GetSpacingAcceleration ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SpacingAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4268)
+inline void VGCore::IVGEffectContour::PutSpacingAcceleration ( long pVal ) {
+    HRESULT _hr = put_SpacingAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4269)
+inline VGCore::IVGShapePtr VGCore::IVGEffectContour::GetContourGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ContourGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4270)
+inline enum VGCore::cdrContourEndCapType VGCore::IVGEffectContour::GetEndCapType ( ) {
+    enum cdrContourEndCapType _result;
+    HRESULT _hr = get_EndCapType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4271)
+inline void VGCore::IVGEffectContour::PutEndCapType ( enum cdrContourEndCapType pVal ) {
+    HRESULT _hr = put_EndCapType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4272)
+inline enum VGCore::cdrContourCornerType VGCore::IVGEffectContour::GetCornerType ( ) {
+    enum cdrContourCornerType _result;
+    HRESULT _hr = get_CornerType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4273)
+inline void VGCore::IVGEffectContour::PutCornerType ( enum cdrContourCornerType pVal ) {
+    HRESULT _hr = put_CornerType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4274)
+inline double VGCore::IVGEffectContour::GetMiterLimit ( ) {
+    double _result = 0;
+    HRESULT _hr = get_MiterLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4275)
+inline void VGCore::IVGEffectContour::PutMiterLimit ( double pVal ) {
+    HRESULT _hr = put_MiterLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectLens wrapper method implementations
+//
+
+#pragma implementation_key(4276)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectLens::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4277)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectLens::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4278)
+inline HRESULT VGCore::IVGEffectLens::Freeze ( ) {
+    HRESULT _hr = raw_Freeze();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4279)
+inline HRESULT VGCore::IVGEffectLens::Unfreeze ( ) {
+    HRESULT _hr = raw_Unfreeze();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4280)
+inline VGCore::IVGShapeRangePtr VGCore::IVGEffectLens::Ungroup ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_Ungroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(4281)
+inline VGCore::IVGShapesPtr VGCore::IVGEffectLens::GetShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_Shapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(4282)
+inline VARIANT_BOOL VGCore::IVGEffectLens::GetFrozen ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Frozen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4283)
+inline enum VGCore::cdrLensType VGCore::IVGEffectLens::GetType ( ) {
+    enum cdrLensType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4284)
+inline void VGCore::IVGEffectLens::PutType ( enum cdrLensType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4285)
+inline long VGCore::IVGEffectLens::GetRate ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Rate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4286)
+inline void VGCore::IVGEffectLens::PutRate ( long pVal ) {
+    HRESULT _hr = put_Rate(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4287)
+inline VGCore::IVGColorPtr VGCore::IVGEffectLens::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4288)
+inline void VGCore::IVGEffectLens::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4289)
+inline VGCore::IVGColorPtr VGCore::IVGEffectLens::GetOutlineColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_OutlineColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4290)
+inline void VGCore::IVGEffectLens::PutOutlineColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_OutlineColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4291)
+inline VGCore::IVGColorPtr VGCore::IVGEffectLens::GetFillColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_FillColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4292)
+inline void VGCore::IVGEffectLens::PutFillColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_FillColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4293)
+inline VGCore::IVGColorPtr VGCore::IVGEffectLens::GetFromColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_FromColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4294)
+inline void VGCore::IVGEffectLens::PutFromColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_FromColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4295)
+inline VGCore::IVGColorPtr VGCore::IVGEffectLens::GetToColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_ToColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4296)
+inline void VGCore::IVGEffectLens::PutToColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_ToColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4297)
+inline VARIANT_BOOL VGCore::IVGEffectLens::GetUseOutlineColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseOutlineColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4298)
+inline void VGCore::IVGEffectLens::PutUseOutlineColor ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseOutlineColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4299)
+inline VARIANT_BOOL VGCore::IVGEffectLens::GetUseFillColor ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseFillColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4300)
+inline void VGCore::IVGEffectLens::PutUseFillColor ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseFillColor(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4301)
+inline enum VGCore::cdrFountainFillBlendType VGCore::IVGEffectLens::GetColorMapPalette ( ) {
+    enum cdrFountainFillBlendType _result;
+    HRESULT _hr = get_ColorMapPalette(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4302)
+inline void VGCore::IVGEffectLens::PutColorMapPalette ( enum cdrFountainFillBlendType pVal ) {
+    HRESULT _hr = put_ColorMapPalette(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4303)
+inline double VGCore::IVGEffectLens::GetMagnification ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Magnification(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4304)
+inline void VGCore::IVGEffectLens::PutMagnification ( double pVal ) {
+    HRESULT _hr = put_Magnification(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4305)
+inline VARIANT_BOOL VGCore::IVGEffectLens::GetUseViewPoint ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseViewPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4306)
+inline void VGCore::IVGEffectLens::PutUseViewPoint ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseViewPoint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4307)
+inline double VGCore::IVGEffectLens::GetViewPointX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_ViewPointX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4308)
+inline void VGCore::IVGEffectLens::PutViewPointX ( double pVal ) {
+    HRESULT _hr = put_ViewPointX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4309)
+inline double VGCore::IVGEffectLens::GetViewPointY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_ViewPointY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4310)
+inline void VGCore::IVGEffectLens::PutViewPointY ( double pVal ) {
+    HRESULT _hr = put_ViewPointY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4311)
+inline VARIANT_BOOL VGCore::IVGEffectLens::GetRemoveFace ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_RemoveFace(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4312)
+inline void VGCore::IVGEffectLens::PutRemoveFace ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_RemoveFace(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4313)
+inline long VGCore::IVGEffectLens::GetPaletteRotation ( ) {
+    long _result = 0;
+    HRESULT _hr = get_PaletteRotation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4314)
+inline void VGCore::IVGEffectLens::PutPaletteRotation ( long pVal ) {
+    HRESULT _hr = put_PaletteRotation(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectPerspective wrapper method implementations
+//
+
+#pragma implementation_key(4315)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectPerspective::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4316)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectPerspective::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4317)
+inline VARIANT_BOOL VGCore::IVGEffectPerspective::GetUseHorizVanishingPoint ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseHorizVanishingPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4318)
+inline void VGCore::IVGEffectPerspective::PutUseHorizVanishingPoint ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseHorizVanishingPoint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4319)
+inline VARIANT_BOOL VGCore::IVGEffectPerspective::GetUseVertVanishingPoint ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseVertVanishingPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4320)
+inline void VGCore::IVGEffectPerspective::PutUseVertVanishingPoint ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseVertVanishingPoint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4321)
+inline double VGCore::IVGEffectPerspective::GetHorizVanishingPointX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_HorizVanishingPointX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4322)
+inline void VGCore::IVGEffectPerspective::PutHorizVanishingPointX ( double pVal ) {
+    HRESULT _hr = put_HorizVanishingPointX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4323)
+inline double VGCore::IVGEffectPerspective::GetHorizVanishingPointY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_HorizVanishingPointY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4324)
+inline void VGCore::IVGEffectPerspective::PutHorizVanishingPointY ( double pVal ) {
+    HRESULT _hr = put_HorizVanishingPointY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4325)
+inline double VGCore::IVGEffectPerspective::GetVertVanishingPointX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_VertVanishingPointX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4326)
+inline void VGCore::IVGEffectPerspective::PutVertVanishingPointX ( double pVal ) {
+    HRESULT _hr = put_VertVanishingPointX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4327)
+inline double VGCore::IVGEffectPerspective::GetVertVanishingPointY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_VertVanishingPointY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4328)
+inline void VGCore::IVGEffectPerspective::PutVertVanishingPointY ( double pVal ) {
+    HRESULT _hr = put_VertVanishingPointY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectInnerShadow wrapper method implementations
+//
+
+#pragma implementation_key(4329)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectInnerShadow::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4330)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectInnerShadow::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4331)
+inline double VGCore::IVGEffectInnerShadow::GetOffsetX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OffsetX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4332)
+inline void VGCore::IVGEffectInnerShadow::PutOffsetX ( double pVal ) {
+    HRESULT _hr = put_OffsetX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4333)
+inline double VGCore::IVGEffectInnerShadow::GetOffsetY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OffsetY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4334)
+inline void VGCore::IVGEffectInnerShadow::PutOffsetY ( double pVal ) {
+    HRESULT _hr = put_OffsetY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4335)
+inline long VGCore::IVGEffectInnerShadow::GetOpacity ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Opacity(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4336)
+inline void VGCore::IVGEffectInnerShadow::PutOpacity ( long pVal ) {
+    HRESULT _hr = put_Opacity(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4337)
+inline long VGCore::IVGEffectInnerShadow::GetFeather ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Feather(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4338)
+inline void VGCore::IVGEffectInnerShadow::PutFeather ( long pVal ) {
+    HRESULT _hr = put_Feather(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4339)
+inline enum VGCore::cdrFeatherType VGCore::IVGEffectInnerShadow::GetFeatherType ( ) {
+    enum cdrFeatherType _result;
+    HRESULT _hr = get_FeatherType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4340)
+inline void VGCore::IVGEffectInnerShadow::PutFeatherType ( enum cdrFeatherType pVal ) {
+    HRESULT _hr = put_FeatherType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4341)
+inline enum VGCore::cdrEdgeType VGCore::IVGEffectInnerShadow::GetFeatherEdge ( ) {
+    enum cdrEdgeType _result;
+    HRESULT _hr = get_FeatherEdge(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4342)
+inline void VGCore::IVGEffectInnerShadow::PutFeatherEdge ( enum cdrEdgeType pVal ) {
+    HRESULT _hr = put_FeatherEdge(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4343)
+inline VGCore::IVGColorPtr VGCore::IVGEffectInnerShadow::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4344)
+inline void VGCore::IVGEffectInnerShadow::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4345)
+inline HRESULT VGCore::IVGEffectInnerShadow::SetOffset ( double OffsetX, double OffsetY ) {
+    HRESULT _hr = raw_SetOffset(OffsetX, OffsetY);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4346)
+inline VGCore::IVGShapePtr VGCore::IVGEffectInnerShadow::GetShadowGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ShadowGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4347)
+inline enum VGCore::cdrMergeMode VGCore::IVGEffectInnerShadow::GetMergeMode ( ) {
+    enum cdrMergeMode _result;
+    HRESULT _hr = get_MergeMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4348)
+inline void VGCore::IVGEffectInnerShadow::PutMergeMode ( enum cdrMergeMode pVal ) {
+    HRESULT _hr = put_MergeMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4349)
+inline double VGCore::IVGEffectInnerShadow::GetDepth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Depth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4350)
+inline void VGCore::IVGEffectInnerShadow::PutDepth ( double pVal ) {
+    HRESULT _hr = put_Depth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectExtrude wrapper method implementations
+//
+
+#pragma implementation_key(4351)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectExtrude::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4352)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectExtrude::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4353)
+inline enum VGCore::cdrExtrudeType VGCore::IVGEffectExtrude::GetType ( ) {
+    enum cdrExtrudeType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4354)
+inline void VGCore::IVGEffectExtrude::PutType ( enum cdrExtrudeType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4355)
+inline VGCore::IVGExtrudeVanishingPointPtr VGCore::IVGEffectExtrude::GetVanishingPoint ( ) {
+    struct IVGExtrudeVanishingPoint * _result = 0;
+    HRESULT _hr = get_VanishingPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGExtrudeVanishingPointPtr(_result, false);
+}
+
+#pragma implementation_key(4356)
+inline void VGCore::IVGEffectExtrude::PutVanishingPoint ( struct IVGExtrudeVanishingPoint * ppVal ) {
+    HRESULT _hr = put_VanishingPoint(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4357)
+inline long VGCore::IVGEffectExtrude::GetDepth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Depth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4358)
+inline void VGCore::IVGEffectExtrude::PutDepth ( long pVal ) {
+    HRESULT _hr = put_Depth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4359)
+inline double VGCore::IVGEffectExtrude::GetAngleX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AngleX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4360)
+inline void VGCore::IVGEffectExtrude::PutAngleX ( double pVal ) {
+    HRESULT _hr = put_AngleX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4361)
+inline double VGCore::IVGEffectExtrude::GetAngleY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AngleY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4362)
+inline void VGCore::IVGEffectExtrude::PutAngleY ( double pVal ) {
+    HRESULT _hr = put_AngleY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4363)
+inline double VGCore::IVGEffectExtrude::GetAngleZ ( ) {
+    double _result = 0;
+    HRESULT _hr = get_AngleZ(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4364)
+inline void VGCore::IVGEffectExtrude::PutAngleZ ( double pVal ) {
+    HRESULT _hr = put_AngleZ(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4365)
+inline enum VGCore::cdrExtrudeShading VGCore::IVGEffectExtrude::GetShading ( ) {
+    enum cdrExtrudeShading _result;
+    HRESULT _hr = get_Shading(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4366)
+inline void VGCore::IVGEffectExtrude::PutShading ( enum cdrExtrudeShading pVal ) {
+    HRESULT _hr = put_Shading(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4367)
+inline VGCore::IVGColorPtr VGCore::IVGEffectExtrude::GetBaseColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_BaseColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4368)
+inline void VGCore::IVGEffectExtrude::PutBaseColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_BaseColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4369)
+inline VGCore::IVGColorPtr VGCore::IVGEffectExtrude::GetShadingColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_ShadingColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4370)
+inline void VGCore::IVGEffectExtrude::PutShadingColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_ShadingColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4371)
+inline VARIANT_BOOL VGCore::IVGEffectExtrude::GetUseBevel ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseBevel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4372)
+inline void VGCore::IVGEffectExtrude::PutUseBevel ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseBevel(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4373)
+inline VARIANT_BOOL VGCore::IVGEffectExtrude::GetShowBevelOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShowBevelOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4374)
+inline void VGCore::IVGEffectExtrude::PutShowBevelOnly ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShowBevelOnly(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4375)
+inline double VGCore::IVGEffectExtrude::GetBevelDepth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BevelDepth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4376)
+inline void VGCore::IVGEffectExtrude::PutBevelDepth ( double pVal ) {
+    HRESULT _hr = put_BevelDepth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4377)
+inline double VGCore::IVGEffectExtrude::GetBevelAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BevelAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4378)
+inline void VGCore::IVGEffectExtrude::PutBevelAngle ( double pVal ) {
+    HRESULT _hr = put_BevelAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4379)
+inline VARIANT_BOOL VGCore::IVGEffectExtrude::GetUseExtrudeColorForBevel ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseExtrudeColorForBevel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4380)
+inline void VGCore::IVGEffectExtrude::PutUseExtrudeColorForBevel ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseExtrudeColorForBevel(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4381)
+inline VGCore::IVGColorPtr VGCore::IVGEffectExtrude::GetBevelColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_BevelColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4382)
+inline void VGCore::IVGEffectExtrude::PutBevelColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_BevelColor(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4383)
+inline VARIANT_BOOL VGCore::IVGEffectExtrude::GetLightPresent ( long Index ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_LightPresent(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4384)
+inline void VGCore::IVGEffectExtrude::PutLightPresent ( long Index, VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_LightPresent(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4385)
+inline enum VGCore::cdrExtrudeLightPosition VGCore::IVGEffectExtrude::GetLightPosition ( long Index ) {
+    enum cdrExtrudeLightPosition _result;
+    HRESULT _hr = get_LightPosition(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4386)
+inline void VGCore::IVGEffectExtrude::PutLightPosition ( long Index, enum cdrExtrudeLightPosition pVal ) {
+    HRESULT _hr = put_LightPosition(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4387)
+inline long VGCore::IVGEffectExtrude::GetLightIntensity ( long Index ) {
+    long _result = 0;
+    HRESULT _hr = get_LightIntensity(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4388)
+inline void VGCore::IVGEffectExtrude::PutLightIntensity ( long Index, long pVal ) {
+    HRESULT _hr = put_LightIntensity(Index, pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4389)
+inline VARIANT_BOOL VGCore::IVGEffectExtrude::GetUseFullColorRange ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseFullColorRange(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4390)
+inline void VGCore::IVGEffectExtrude::PutUseFullColorRange ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseFullColorRange(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4391)
+inline VARIANT_BOOL VGCore::IVGEffectExtrude::GetFaceVisible ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FaceVisible(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4392)
+inline VGCore::IVGShapePtr VGCore::IVGEffectExtrude::GetFaceShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FaceShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4393)
+inline VGCore::IVGShapePtr VGCore::IVGEffectExtrude::GetBevelGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_BevelGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4394)
+inline VGCore::IVGShapePtr VGCore::IVGEffectExtrude::GetExtrudeGroup ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_ExtrudeGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4395)
+inline HRESULT VGCore::IVGEffectExtrude::Rotate ( double AngleX, double AngleY, double AngleZ ) {
+    HRESULT _hr = raw_Rotate(AngleX, AngleY, AngleZ);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4396)
+inline HRESULT VGCore::IVGEffectExtrude::SetBevel ( double Depth, double Angle, VARIANT_BOOL ShowBevelOnly ) {
+    HRESULT _hr = raw_SetBevel(Depth, Angle, ShowBevelOnly);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4397)
+inline HRESULT VGCore::IVGEffectExtrude::SetLight ( long Index, enum cdrExtrudeLightPosition Position, long LightIntensity ) {
+    HRESULT _hr = raw_SetLight(Index, Position, LightIntensity);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4398)
+inline HRESULT VGCore::IVGEffectExtrude::CopyFrom ( struct IVGEffectExtrude * Source ) {
+    HRESULT _hr = raw_CopyFrom(Source);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGExtrudeVanishingPoint wrapper method implementations
+//
+
+#pragma implementation_key(4399)
+inline VGCore::IVGApplicationPtr VGCore::IVGExtrudeVanishingPoint::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4400)
+inline VGCore::IVGEffectExtrudePtr VGCore::IVGExtrudeVanishingPoint::GetParent ( ) {
+    struct IVGEffectExtrude * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectExtrudePtr(_result, false);
+}
+
+#pragma implementation_key(4401)
+inline enum VGCore::cdrExtrudeVPType VGCore::IVGExtrudeVanishingPoint::GetType ( ) {
+    enum cdrExtrudeVPType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4402)
+inline void VGCore::IVGExtrudeVanishingPoint::PutType ( enum cdrExtrudeVPType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4403)
+inline double VGCore::IVGExtrudeVanishingPoint::GetPositionX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4404)
+inline void VGCore::IVGExtrudeVanishingPoint::PutPositionX ( double pVal ) {
+    HRESULT _hr = put_PositionX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4405)
+inline double VGCore::IVGExtrudeVanishingPoint::GetPositionY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_PositionY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4406)
+inline void VGCore::IVGExtrudeVanishingPoint::PutPositionY ( double pVal ) {
+    HRESULT _hr = put_PositionY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4407)
+inline VGCore::IVGEffectsPtr VGCore::IVGExtrudeVanishingPoint::GetEffects ( ) {
+    struct IVGEffects * _result = 0;
+    HRESULT _hr = get_Effects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectsPtr(_result, false);
+}
+
+#pragma implementation_key(4408)
+inline VARIANT_BOOL VGCore::IVGExtrudeVanishingPoint::Share ( struct IVGEffectExtrude * Source ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Share(Source, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGEffectDistortion wrapper method implementations
+//
+
+#pragma implementation_key(4409)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectDistortion::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4410)
+inline VGCore::IVGEffectPtr VGCore::IVGEffectDistortion::GetParent ( ) {
+    struct IVGEffect * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPtr(_result, false);
+}
+
+#pragma implementation_key(4411)
+inline enum VGCore::cdrDistortionType VGCore::IVGEffectDistortion::GetType ( ) {
+    enum cdrDistortionType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4412)
+inline void VGCore::IVGEffectDistortion::PutType ( enum cdrDistortionType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4413)
+inline double VGCore::IVGEffectDistortion::GetOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4414)
+inline void VGCore::IVGEffectDistortion::PutOriginX ( double pVal ) {
+    HRESULT _hr = put_OriginX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4415)
+inline double VGCore::IVGEffectDistortion::GetOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4416)
+inline void VGCore::IVGEffectDistortion::PutOriginY ( double pVal ) {
+    HRESULT _hr = put_OriginY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4417)
+inline VGCore::IVGEffectPushPullDistortionPtr VGCore::IVGEffectDistortion::GetPushPull ( ) {
+    struct IVGEffectPushPullDistortion * _result = 0;
+    HRESULT _hr = get_PushPull(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectPushPullDistortionPtr(_result, false);
+}
+
+#pragma implementation_key(4418)
+inline void VGCore::IVGEffectDistortion::PutPushPull ( struct IVGEffectPushPullDistortion * ppVal ) {
+    HRESULT _hr = put_PushPull(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4419)
+inline VGCore::IVGEffectZipperDistortionPtr VGCore::IVGEffectDistortion::GetZipper ( ) {
+    struct IVGEffectZipperDistortion * _result = 0;
+    HRESULT _hr = get_Zipper(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectZipperDistortionPtr(_result, false);
+}
+
+#pragma implementation_key(4420)
+inline void VGCore::IVGEffectDistortion::PutZipper ( struct IVGEffectZipperDistortion * ppVal ) {
+    HRESULT _hr = put_Zipper(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4421)
+inline VGCore::IVGEffectTwisterDistortionPtr VGCore::IVGEffectDistortion::GetTwister ( ) {
+    struct IVGEffectTwisterDistortion * _result = 0;
+    HRESULT _hr = get_Twister(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectTwisterDistortionPtr(_result, false);
+}
+
+#pragma implementation_key(4422)
+inline void VGCore::IVGEffectDistortion::PutTwister ( struct IVGEffectTwisterDistortion * ppVal ) {
+    HRESULT _hr = put_Twister(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4423)
+inline HRESULT VGCore::IVGEffectDistortion::CenterDistortion ( ) {
+    HRESULT _hr = raw_CenterDistortion();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4424)
+inline VGCore::IVGEffectCustomDistortionPtr VGCore::IVGEffectDistortion::GetCustom ( ) {
+    struct IVGEffectCustomDistortion * _result = 0;
+    HRESULT _hr = get_Custom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectCustomDistortionPtr(_result, false);
+}
+
+//
+// interface IVGEffectPushPullDistortion wrapper method implementations
+//
+
+#pragma implementation_key(4425)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectPushPullDistortion::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4426)
+inline VGCore::IVGEffectDistortionPtr VGCore::IVGEffectPushPullDistortion::GetParent ( ) {
+    struct IVGEffectDistortion * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectDistortionPtr(_result, false);
+}
+
+#pragma implementation_key(4427)
+inline long VGCore::IVGEffectPushPullDistortion::GetAmplitude ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Amplitude(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4428)
+inline void VGCore::IVGEffectPushPullDistortion::PutAmplitude ( long pVal ) {
+    HRESULT _hr = put_Amplitude(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectZipperDistortion wrapper method implementations
+//
+
+#pragma implementation_key(4429)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectZipperDistortion::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4430)
+inline VGCore::IVGEffectDistortionPtr VGCore::IVGEffectZipperDistortion::GetParent ( ) {
+    struct IVGEffectDistortion * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectDistortionPtr(_result, false);
+}
+
+#pragma implementation_key(4431)
+inline long VGCore::IVGEffectZipperDistortion::GetAmplitude ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Amplitude(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4432)
+inline void VGCore::IVGEffectZipperDistortion::PutAmplitude ( long pVal ) {
+    HRESULT _hr = put_Amplitude(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4433)
+inline long VGCore::IVGEffectZipperDistortion::GetFrequency ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Frequency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4434)
+inline void VGCore::IVGEffectZipperDistortion::PutFrequency ( long pVal ) {
+    HRESULT _hr = put_Frequency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4435)
+inline VARIANT_BOOL VGCore::IVGEffectZipperDistortion::GetRandom ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Random(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4436)
+inline void VGCore::IVGEffectZipperDistortion::PutRandom ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Random(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4437)
+inline VARIANT_BOOL VGCore::IVGEffectZipperDistortion::GetSmooth ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Smooth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4438)
+inline void VGCore::IVGEffectZipperDistortion::PutSmooth ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Smooth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4439)
+inline VARIANT_BOOL VGCore::IVGEffectZipperDistortion::GetLocal ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Local(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4440)
+inline void VGCore::IVGEffectZipperDistortion::PutLocal ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Local(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGEffectTwisterDistortion wrapper method implementations
+//
+
+#pragma implementation_key(4441)
+inline VGCore::IVGApplicationPtr VGCore::IVGEffectTwisterDistortion::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4442)
+inline VGCore::IVGEffectDistortionPtr VGCore::IVGEffectTwisterDistortion::GetParent ( ) {
+    struct IVGEffectDistortion * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGEffectDistortionPtr(_result, false);
+}
+
+#pragma implementation_key(4443)
+inline double VGCore::IVGEffectTwisterDistortion::GetAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Angle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4444)
+inline void VGCore::IVGEffectTwisterDistortion::PutAngle ( double pVal ) {
+    HRESULT _hr = put_Angle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGTextRange wrapper method implementations
+//
+
+#pragma implementation_key(4445)
+inline _bstr_t VGCore::IVGTextRange::GetText ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Text(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4446)
+inline void VGCore::IVGTextRange::PutText ( _bstr_t ppVal ) {
+    HRESULT _hr = put_Text(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4447)
+inline _bstr_t VGCore::IVGTextRange::GetWideText ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_WideText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4448)
+inline void VGCore::IVGTextRange::PutWideText ( _bstr_t ppVal ) {
+    HRESULT _hr = put_WideText(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4449)
+inline VGCore::IVGTextCharactersPtr VGCore::IVGTextRange::GetCharacters ( ) {
+    struct IVGTextCharacters * _result = 0;
+    HRESULT _hr = get_Characters(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextCharactersPtr(_result, false);
+}
+
+#pragma implementation_key(4450)
+inline VGCore::IVGTextWordsPtr VGCore::IVGTextRange::GetWords ( ) {
+    struct IVGTextWords * _result = 0;
+    HRESULT _hr = get_Words(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextWordsPtr(_result, false);
+}
+
+#pragma implementation_key(4451)
+inline VGCore::IVGTextLinesPtr VGCore::IVGTextRange::GetLines ( ) {
+    struct IVGTextLines * _result = 0;
+    HRESULT _hr = get_Lines(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextLinesPtr(_result, false);
+}
+
+#pragma implementation_key(4452)
+inline VGCore::IVGTextParagraphsPtr VGCore::IVGTextRange::GetParagraphs ( ) {
+    struct IVGTextParagraphs * _result = 0;
+    HRESULT _hr = get_Paragraphs(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextParagraphsPtr(_result, false);
+}
+
+#pragma implementation_key(4453)
+inline long VGCore::IVGTextRange::GetStart ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Start(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4454)
+inline void VGCore::IVGTextRange::PutStart ( long pVal ) {
+    HRESULT _hr = put_Start(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4455)
+inline long VGCore::IVGTextRange::GetEnd ( ) {
+    long _result = 0;
+    HRESULT _hr = get_End(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4456)
+inline void VGCore::IVGTextRange::PutEnd ( long pVal ) {
+    HRESULT _hr = put_End(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4457)
+inline long VGCore::IVGTextRange::GetLength ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Length(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4458)
+inline void VGCore::IVGTextRange::PutLength ( long pVal ) {
+    HRESULT _hr = put_Length(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4459)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::Duplicate ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_Duplicate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4460)
+inline enum VGCore::cdrFontStyle VGCore::IVGTextRange::GetStyle ( ) {
+    enum cdrFontStyle _result;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4461)
+inline void VGCore::IVGTextRange::PutStyle ( enum cdrFontStyle pVal ) {
+    HRESULT _hr = put_Style(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4462)
+inline VARIANT_BOOL VGCore::IVGTextRange::GetBold ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Bold(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4463)
+inline void VGCore::IVGTextRange::PutBold ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Bold(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4464)
+inline VARIANT_BOOL VGCore::IVGTextRange::GetItalic ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Italic(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4465)
+inline void VGCore::IVGTextRange::PutItalic ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Italic(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4466)
+inline enum VGCore::cdrFontLine VGCore::IVGTextRange::GetUnderline ( ) {
+    enum cdrFontLine _result;
+    HRESULT _hr = get_Underline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4467)
+inline void VGCore::IVGTextRange::PutUnderline ( enum cdrFontLine pVal ) {
+    HRESULT _hr = put_Underline(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4468)
+inline enum VGCore::cdrFontLine VGCore::IVGTextRange::GetStrikethru ( ) {
+    enum cdrFontLine _result;
+    HRESULT _hr = get_Strikethru(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4469)
+inline void VGCore::IVGTextRange::PutStrikethru ( enum cdrFontLine pVal ) {
+    HRESULT _hr = put_Strikethru(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4470)
+inline enum VGCore::cdrFontLine VGCore::IVGTextRange::GetOverscore ( ) {
+    enum cdrFontLine _result;
+    HRESULT _hr = get_Overscore(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4471)
+inline void VGCore::IVGTextRange::PutOverscore ( enum cdrFontLine pVal ) {
+    HRESULT _hr = put_Overscore(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4472)
+inline _bstr_t VGCore::IVGTextRange::GetFont ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Font(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4473)
+inline void VGCore::IVGTextRange::PutFont ( _bstr_t pVal ) {
+    HRESULT _hr = put_Font(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4474)
+inline float VGCore::IVGTextRange::GetSize ( ) {
+    float _result = 0;
+    HRESULT _hr = get_Size(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4475)
+inline void VGCore::IVGTextRange::PutSize ( float pVal ) {
+    HRESULT _hr = put_Size(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4476)
+inline enum VGCore::cdrFontPosition VGCore::IVGTextRange::GetPosition ( ) {
+    enum cdrFontPosition _result;
+    HRESULT _hr = get_Position(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4477)
+inline void VGCore::IVGTextRange::PutPosition ( enum cdrFontPosition pVal ) {
+    HRESULT _hr = put_Position(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4478)
+inline enum VGCore::cdrFontCase VGCore::IVGTextRange::GetCase ( ) {
+    enum cdrFontCase _result;
+    HRESULT _hr = get_Case(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4479)
+inline void VGCore::IVGTextRange::PutCase ( enum cdrFontCase pVal ) {
+    HRESULT _hr = put_Case(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4480)
+inline float VGCore::IVGTextRange::GetCharAngle ( ) {
+    float _result = 0;
+    HRESULT _hr = get_CharAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4481)
+inline void VGCore::IVGTextRange::PutCharAngle ( float pVal ) {
+    HRESULT _hr = put_CharAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4482)
+inline enum VGCore::cdrAlignment VGCore::IVGTextRange::GetAlignment ( ) {
+    enum cdrAlignment _result;
+    HRESULT _hr = get_Alignment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4483)
+inline void VGCore::IVGTextRange::PutAlignment ( enum cdrAlignment pVal ) {
+    HRESULT _hr = put_Alignment(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4484)
+inline double VGCore::IVGTextRange::GetFirstLineIndent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FirstLineIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4485)
+inline void VGCore::IVGTextRange::PutFirstLineIndent ( double pVal ) {
+    HRESULT _hr = put_FirstLineIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4486)
+inline long VGCore::IVGTextRange::GetHorizShift ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HorizShift(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4487)
+inline void VGCore::IVGTextRange::PutHorizShift ( long pVal ) {
+    HRESULT _hr = put_HorizShift(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4488)
+inline long VGCore::IVGTextRange::GetVertShift ( ) {
+    long _result = 0;
+    HRESULT _hr = get_VertShift(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4489)
+inline void VGCore::IVGTextRange::PutVertShift ( long pVal ) {
+    HRESULT _hr = put_VertShift(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4490)
+inline double VGCore::IVGTextRange::GetLeftIndent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LeftIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4491)
+inline void VGCore::IVGTextRange::PutLeftIndent ( double pVal ) {
+    HRESULT _hr = put_LeftIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4492)
+inline double VGCore::IVGTextRange::GetRightIndent ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RightIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4493)
+inline void VGCore::IVGTextRange::PutRightIndent ( double pVal ) {
+    HRESULT _hr = put_RightIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4494)
+inline float VGCore::IVGTextRange::GetMinWordSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_MinWordSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4495)
+inline void VGCore::IVGTextRange::PutMinWordSpacing ( float pVal ) {
+    HRESULT _hr = put_MinWordSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4496)
+inline float VGCore::IVGTextRange::GetMaxWordSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_MaxWordSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4497)
+inline void VGCore::IVGTextRange::PutMaxWordSpacing ( float pVal ) {
+    HRESULT _hr = put_MaxWordSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4498)
+inline float VGCore::IVGTextRange::GetMaxCharSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_MaxCharSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4499)
+inline void VGCore::IVGTextRange::PutMaxCharSpacing ( float pVal ) {
+    HRESULT _hr = put_MaxCharSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4500)
+inline float VGCore::IVGTextRange::GetParaSpacingBefore ( ) {
+    float _result = 0;
+    HRESULT _hr = get_ParaSpacingBefore(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4501)
+inline void VGCore::IVGTextRange::PutParaSpacingBefore ( float pVal ) {
+    HRESULT _hr = put_ParaSpacingBefore(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4502)
+inline float VGCore::IVGTextRange::GetParaSpacingAfter ( ) {
+    float _result = 0;
+    HRESULT _hr = get_ParaSpacingAfter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4503)
+inline void VGCore::IVGTextRange::PutParaSpacingAfter ( float pVal ) {
+    HRESULT _hr = put_ParaSpacingAfter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4504)
+inline float VGCore::IVGTextRange::GetCharSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_CharSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4505)
+inline void VGCore::IVGTextRange::PutCharSpacing ( float pVal ) {
+    HRESULT _hr = put_CharSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4506)
+inline float VGCore::IVGTextRange::GetLineSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_LineSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4507)
+inline void VGCore::IVGTextRange::PutLineSpacing ( float pVal ) {
+    HRESULT _hr = put_LineSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4508)
+inline enum VGCore::cdrLineSpacingType VGCore::IVGTextRange::GetLineSpacingType ( ) {
+    enum cdrLineSpacingType _result;
+    HRESULT _hr = get_LineSpacingType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4509)
+inline float VGCore::IVGTextRange::GetWordSpacing ( ) {
+    float _result = 0;
+    HRESULT _hr = get_WordSpacing(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4510)
+inline void VGCore::IVGTextRange::PutWordSpacing ( float pVal ) {
+    HRESULT _hr = put_WordSpacing(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4511)
+inline enum VGCore::cdrTriState VGCore::IVGTextRange::GetAutoHyphenate ( ) {
+    enum cdrTriState _result;
+    HRESULT _hr = get_AutoHyphenate(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4512)
+inline void VGCore::IVGTextRange::PutAutoHyphenate ( enum cdrTriState pVal ) {
+    HRESULT _hr = put_AutoHyphenate(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4513)
+inline double VGCore::IVGTextRange::GetHyphenHotZone ( ) {
+    double _result = 0;
+    HRESULT _hr = get_HyphenHotZone(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4514)
+inline void VGCore::IVGTextRange::PutHyphenHotZone ( double pVal ) {
+    HRESULT _hr = put_HyphenHotZone(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4515)
+inline long VGCore::IVGTextRange::GetHyphenMinCharsBefore ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HyphenMinCharsBefore(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4516)
+inline void VGCore::IVGTextRange::PutHyphenMinCharsBefore ( long pVal ) {
+    HRESULT _hr = put_HyphenMinCharsBefore(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4517)
+inline long VGCore::IVGTextRange::GetHyphenMinCharsAfter ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HyphenMinCharsAfter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4518)
+inline void VGCore::IVGTextRange::PutHyphenMinCharsAfter ( long pVal ) {
+    HRESULT _hr = put_HyphenMinCharsAfter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4519)
+inline long VGCore::IVGTextRange::GetHyphenMinWordLength ( ) {
+    long _result = 0;
+    HRESULT _hr = get_HyphenMinWordLength(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4520)
+inline void VGCore::IVGTextRange::PutHyphenMinWordLength ( long pVal ) {
+    HRESULT _hr = put_HyphenMinWordLength(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4521)
+inline VARIANT_BOOL VGCore::IVGTextRange::GetHyphenateCapitals ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HyphenateCapitals(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4522)
+inline void VGCore::IVGTextRange::PutHyphenateCapitals ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_HyphenateCapitals(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4523)
+inline HRESULT VGCore::IVGTextRange::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4524)
+inline HRESULT VGCore::IVGTextRange::Select ( ) {
+    HRESULT _hr = raw_Select();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4525)
+inline HRESULT VGCore::IVGTextRange::Copy ( ) {
+    HRESULT _hr = raw_Copy();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4526)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::Paste ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_Paste(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4527)
+inline HRESULT VGCore::IVGTextRange::ChangeCase ( enum cdrTextChangeCase Case ) {
+    HRESULT _hr = raw_ChangeCase(Case);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4528)
+inline HRESULT VGCore::IVGTextRange::SetRange ( long Start, long End ) {
+    HRESULT _hr = raw_SetRange(Start, End);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4529)
+inline enum VGCore::cdrTextLanguage VGCore::IVGTextRange::GetLanguageID ( ) {
+    enum cdrTextLanguage _result;
+    HRESULT _hr = get_LanguageID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4530)
+inline void VGCore::IVGTextRange::PutLanguageID ( enum cdrTextLanguage pVal ) {
+    HRESULT _hr = put_LanguageID(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4531)
+inline enum VGCore::cdrTextCharSet VGCore::IVGTextRange::GetCharSet ( ) {
+    enum cdrTextCharSet _result;
+    HRESULT _hr = get_CharSet(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4532)
+inline void VGCore::IVGTextRange::PutCharSet ( enum cdrTextCharSet pVal ) {
+    HRESULT _hr = put_CharSet(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4533)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::InsertBefore ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_InsertBefore(Text, LanguageID, CharSet, Font, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4534)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::InsertBeforeWide ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_InsertBeforeWide(Text, LanguageID, CharSet, Font, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4535)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::InsertAfter ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_InsertAfter(Text, LanguageID, CharSet, Font, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4536)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::InsertAfterWide ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_InsertAfterWide(Text, LanguageID, CharSet, Font, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4537)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::Replace ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_Replace(Text, LanguageID, CharSet, Font, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4538)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::ReplaceWide ( _bstr_t Text, enum cdrTextLanguage LanguageID, enum cdrTextCharSet CharSet, _bstr_t Font ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_ReplaceWide(Text, LanguageID, CharSet, Font, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4539)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRange::Range ( long Start, long End ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = raw_Range(Start, End, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4540)
+inline HRESULT VGCore::IVGTextRange::SetLineSpacing ( enum cdrLineSpacingType Type, float LineSpacing, float ParaBefore, float ParaAfter ) {
+    HRESULT _hr = raw_SetLineSpacing(Type, LineSpacing, ParaBefore, ParaAfter);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4541)
+inline VGCore::IVGTextColumnsPtr VGCore::IVGTextRange::GetColumns ( ) {
+    struct IVGTextColumns * _result = 0;
+    HRESULT _hr = get_Columns(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextColumnsPtr(_result, false);
+}
+
+#pragma implementation_key(4542)
+inline VGCore::IVGTextFramesPtr VGCore::IVGTextRange::GetFrames ( ) {
+    struct IVGTextFrames * _result = 0;
+    HRESULT _hr = get_Frames(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramesPtr(_result, false);
+}
+
+#pragma implementation_key(4543)
+inline HRESULT VGCore::IVGTextRange::Collapse ( VARIANT_BOOL ToEnd ) {
+    HRESULT _hr = raw_Collapse(ToEnd);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4544)
+inline HRESULT VGCore::IVGTextRange::Combine ( struct IVGTextRange * Range ) {
+    HRESULT _hr = raw_Combine(Range);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4545)
+inline VARIANT_BOOL VGCore::IVGTextRange::InRange ( struct IVGTextRange * Range ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_InRange(Range, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4546)
+inline VARIANT_BOOL VGCore::IVGTextRange::IsSame ( struct IVGTextRange * Range ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsSame(Range, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4547)
+inline VGCore::IVGFillPtr VGCore::IVGTextRange::GetFill ( ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = get_Fill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(4548)
+inline VGCore::IVGOutlinePtr VGCore::IVGTextRange::GetOutline ( ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = get_Outline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(4549)
+inline long VGCore::IVGTextRange::GetRangeKerning ( ) {
+    long _result = 0;
+    HRESULT _hr = get_RangeKerning(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4550)
+inline void VGCore::IVGTextRange::PutRangeKerning ( long pVal ) {
+    HRESULT _hr = put_RangeKerning(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4551)
+inline VGCore::IVGTextTabPositionsPtr VGCore::IVGTextRange::GetTabs ( ) {
+    struct IVGTextTabPositions * _result = 0;
+    HRESULT _hr = get_Tabs(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextTabPositionsPtr(_result, false);
+}
+
+#pragma implementation_key(4552)
+inline enum VGCore::cdrTextEffect VGCore::IVGTextRange::GetEffect ( ) {
+    enum cdrTextEffect _result;
+    HRESULT _hr = get_Effect(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4553)
+inline long VGCore::IVGTextRange::GetDropCapLinesDropped ( ) {
+    long _result = 0;
+    HRESULT _hr = get_DropCapLinesDropped(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4554)
+inline void VGCore::IVGTextRange::PutDropCapLinesDropped ( long pVal ) {
+    HRESULT _hr = put_DropCapLinesDropped(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4555)
+inline double VGCore::IVGTextRange::GetDropCapDistanceFromText ( ) {
+    double _result = 0;
+    HRESULT _hr = get_DropCapDistanceFromText(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4556)
+inline void VGCore::IVGTextRange::PutDropCapDistanceFromText ( double pVal ) {
+    HRESULT _hr = put_DropCapDistanceFromText(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4557)
+inline VARIANT_BOOL VGCore::IVGTextRange::GetDropCapHangingIndent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DropCapHangingIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4558)
+inline void VGCore::IVGTextRange::PutDropCapHangingIndent ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DropCapHangingIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4559)
+inline _bstr_t VGCore::IVGTextRange::GetBulletFont ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_BulletFont(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4560)
+inline void VGCore::IVGTextRange::PutBulletFont ( _bstr_t pVal ) {
+    HRESULT _hr = put_BulletFont(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4561)
+inline _bstr_t VGCore::IVGTextRange::GetBulletSymbol ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_BulletSymbol(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4562)
+inline void VGCore::IVGTextRange::PutBulletSymbol ( _bstr_t pVal ) {
+    HRESULT _hr = put_BulletSymbol(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4563)
+inline float VGCore::IVGTextRange::GetBulletSize ( ) {
+    float _result = 0;
+    HRESULT _hr = get_BulletSize(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4564)
+inline void VGCore::IVGTextRange::PutBulletSize ( float pVal ) {
+    HRESULT _hr = put_BulletSize(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4565)
+inline float VGCore::IVGTextRange::GetBulletBaselineShift ( ) {
+    float _result = 0;
+    HRESULT _hr = get_BulletBaselineShift(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4566)
+inline void VGCore::IVGTextRange::PutBulletBaselineShift ( float pVal ) {
+    HRESULT _hr = put_BulletBaselineShift(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4567)
+inline double VGCore::IVGTextRange::GetBulletHorizontalPosition ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BulletHorizontalPosition(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4568)
+inline void VGCore::IVGTextRange::PutBulletHorizontalPosition ( double pVal ) {
+    HRESULT _hr = put_BulletHorizontalPosition(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4569)
+inline VARIANT_BOOL VGCore::IVGTextRange::GetBulletHangingIndent ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BulletHangingIndent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4570)
+inline void VGCore::IVGTextRange::PutBulletHangingIndent ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BulletHangingIndent(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4571)
+inline VARIANT_BOOL VGCore::IVGTextRange::GetIsEmpty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsEmpty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4572)
+inline HRESULT VGCore::IVGTextRange::ApplyNoEffect ( ) {
+    HRESULT _hr = raw_ApplyNoEffect();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4573)
+inline HRESULT VGCore::IVGTextRange::ApplyBulletEffect ( _bstr_t Symbol, _bstr_t Font, float Size, float BaselineShift, double HorizontalPosition, VARIANT_BOOL HangingIndent ) {
+    HRESULT _hr = raw_ApplyBulletEffect(Symbol, Font, Size, BaselineShift, HorizontalPosition, HangingIndent);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4574)
+inline HRESULT VGCore::IVGTextRange::ApplyDropCapEffect ( long LinesDropped, double DistanceFromText, VARIANT_BOOL HangingIndent ) {
+    HRESULT _hr = raw_ApplyDropCapEffect(LinesDropped, DistanceFromText, HangingIndent);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4575)
+inline VARIANT_BOOL VGCore::IVGTextRange::GetHyphenateAllCapWords ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HyphenateAllCapWords(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4576)
+inline void VGCore::IVGTextRange::PutHyphenateAllCapWords ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_HyphenateAllCapWords(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4577)
+inline VGCore::IVGTextRangesPtr VGCore::IVGTextRange::EnumRanges ( enum cdrTextPropertySet PropertyFilter ) {
+    struct IVGTextRanges * _result = 0;
+    HRESULT _hr = raw_EnumRanges(PropertyFilter, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangesPtr(_result, false);
+}
+
+#pragma implementation_key(4578)
+inline _variant_t VGCore::IVGTextRange::Evaluate ( _bstr_t Expression ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_Evaluate(Expression, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(4579)
+inline VGCore::IVGTextRangesPtr VGCore::IVGTextRange::FindRanges ( _bstr_t Query ) {
+    struct IVGTextRanges * _result = 0;
+    HRESULT _hr = raw_FindRanges(Query, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangesPtr(_result, false);
+}
+
+#pragma implementation_key(4580)
+inline VGCore::IVGCurvePtr VGCore::IVGTextRange::GetBaselines ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_Baselines(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(4581)
+inline HRESULT VGCore::IVGTextRange::Straighten ( ) {
+    HRESULT _hr = raw_Straighten();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4582)
+inline HRESULT VGCore::IVGTextRange::AlignToBaseline ( ) {
+    HRESULT _hr = raw_AlignToBaseline();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4583)
+inline VGCore::IVGCurvePtr VGCore::IVGTextRange::GetTextLineRects ( ) {
+    struct IVGCurve * _result = 0;
+    HRESULT _hr = get_TextLineRects(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCurvePtr(_result, false);
+}
+
+#pragma implementation_key(4584)
+inline VGCore::IVGFillPtr VGCore::IVGTextRange::GetCharBackFill ( ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = get_CharBackFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(4585)
+inline HRESULT VGCore::IVGTextRange::CopyAttributes ( struct IVGTextRange * SourceRange ) {
+    HRESULT _hr = raw_CopyAttributes(SourceRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4586)
+inline long VGCore::IVGTextRange::GetOpenTypeFeature ( _bstr_t Feature ) {
+    long _result = 0;
+    HRESULT _hr = raw_GetOpenTypeFeature(Feature, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4587)
+inline HRESULT VGCore::IVGTextRange::SetOpenTypeFeature ( _bstr_t Feature, long State ) {
+    HRESULT _hr = raw_SetOpenTypeFeature(Feature, State);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4588)
+inline long VGCore::IVGTextRange::GetTextFormatter ( ) {
+    long _result = 0;
+    HRESULT _hr = get_TextFormatter(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4589)
+inline void VGCore::IVGTextRange::PutTextFormatter ( long pVal ) {
+    HRESULT _hr = put_TextFormatter(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4590)
+inline HRESULT VGCore::IVGTextRange::ApplyStyle ( _bstr_t StyleName ) {
+    HRESULT _hr = raw_ApplyStyle(StyleName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4591)
+inline VGCore::IVGStylePtr VGCore::IVGTextRange::GetObjectStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_ObjectStyle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4592)
+inline VGCore::IVGTextIndentLevelStylesPtr VGCore::IVGTextRange::GetIndentLevelStyles ( ) {
+    struct IVGTextIndentLevelStyles * _result = 0;
+    HRESULT _hr = get_IndentLevelStyles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextIndentLevelStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4593)
+inline long VGCore::IVGTextRange::GetIndentLevel ( ) {
+    long _result = 0;
+    HRESULT _hr = get_IndentLevel(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4594)
+inline void VGCore::IVGTextRange::PutIndentLevel ( long pVal ) {
+    HRESULT _hr = put_IndentLevel(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4595)
+inline VGCore::IVGTextVariableAxesPtr VGCore::IVGTextRange::GetVariableAxes ( ) {
+    struct IVGTextVariableAxes * _result = 0;
+    HRESULT _hr = get_VariableAxes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextVariableAxesPtr(_result, false);
+}
+
+//
+// interface IVGTextCharacters wrapper method implementations
+//
+
+#pragma implementation_key(4596)
+inline IUnknownPtr VGCore::IVGTextCharacters::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4597)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextCharacters::GetItem ( long Index, long Count ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Item(Index, Count, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4598)
+inline long VGCore::IVGTextCharacters::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4599)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextCharacters::GetAll ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4600)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextCharacters::GetFirst ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4601)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextCharacters::GetLast ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+//
+// interface IVGTextWords wrapper method implementations
+//
+
+#pragma implementation_key(4602)
+inline IUnknownPtr VGCore::IVGTextWords::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4603)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextWords::GetItem ( long Index, long Count ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Item(Index, Count, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4604)
+inline long VGCore::IVGTextWords::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4605)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextWords::GetAll ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4606)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextWords::GetFirst ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4607)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextWords::GetLast ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+//
+// interface IVGTextLines wrapper method implementations
+//
+
+#pragma implementation_key(4608)
+inline IUnknownPtr VGCore::IVGTextLines::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4609)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextLines::GetItem ( long Index, long Count ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Item(Index, Count, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4610)
+inline long VGCore::IVGTextLines::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4611)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextLines::GetAll ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4612)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextLines::GetFirst ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4613)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextLines::GetLast ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+//
+// interface IVGTextParagraphs wrapper method implementations
+//
+
+#pragma implementation_key(4614)
+inline IUnknownPtr VGCore::IVGTextParagraphs::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4615)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextParagraphs::GetItem ( long Index, long Count ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Item(Index, Count, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4616)
+inline long VGCore::IVGTextParagraphs::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4617)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextParagraphs::GetAll ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4618)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextParagraphs::GetFirst ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4619)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextParagraphs::GetLast ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+//
+// interface IVGTextColumns wrapper method implementations
+//
+
+#pragma implementation_key(4620)
+inline IUnknownPtr VGCore::IVGTextColumns::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4621)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextColumns::GetItem ( long Index, long Count ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Item(Index, Count, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4622)
+inline long VGCore::IVGTextColumns::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4623)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextColumns::GetAll ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4624)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextColumns::GetFirst ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4625)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextColumns::GetLast ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+//
+// interface IVGTextFrame wrapper method implementations
+//
+
+#pragma implementation_key(4626)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextFrame::GetRange ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Range(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4627)
+inline VGCore::IVGTextFramePtr VGCore::IVGTextFrame::GetPrevious ( ) {
+    struct IVGTextFrame * _result = 0;
+    HRESULT _hr = get_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramePtr(_result, false);
+}
+
+#pragma implementation_key(4628)
+inline VGCore::IVGTextFramePtr VGCore::IVGTextFrame::GetNext ( ) {
+    struct IVGTextFrame * _result = 0;
+    HRESULT _hr = get_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramePtr(_result, false);
+}
+
+#pragma implementation_key(4629)
+inline long VGCore::IVGTextFrame::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4630)
+inline VARIANT_BOOL VGCore::IVGTextFrame::GetEmpty ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Empty(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4631)
+inline VARIANT_BOOL VGCore::IVGTextFrame::GetIsFirst ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsFirst(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4632)
+inline VARIANT_BOOL VGCore::IVGTextFrame::GetIsLast ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsLast(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4633)
+inline enum VGCore::cdrVerticalAlignment VGCore::IVGTextFrame::GetVerticalAlignment ( ) {
+    enum cdrVerticalAlignment _result;
+    HRESULT _hr = get_VerticalAlignment(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4634)
+inline void VGCore::IVGTextFrame::PutVerticalAlignment ( enum cdrVerticalAlignment pVal ) {
+    HRESULT _hr = put_VerticalAlignment(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4635)
+inline VARIANT_BOOL VGCore::IVGTextFrame::GetMulticolumn ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Multicolumn(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4636)
+inline long VGCore::IVGTextFrame::GetColumnCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_ColumnCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4637)
+inline double VGCore::IVGTextFrame::GetColumnWidth ( long Index ) {
+    double _result = 0;
+    HRESULT _hr = get_ColumnWidth(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4638)
+inline double VGCore::IVGTextFrame::GetColumnGutter ( long Index ) {
+    double _result = 0;
+    HRESULT _hr = get_ColumnGutter(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4639)
+inline HRESULT VGCore::IVGTextFrame::SetColumns ( long NumColumns, VARIANT_BOOL EqualColumns, SAFEARRAY * * WidthsAndGutters ) {
+    HRESULT _hr = raw_SetColumns(NumColumns, EqualColumns, WidthsAndGutters);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4640)
+inline HRESULT VGCore::IVGTextFrame::LinkTo ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_LinkTo(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4641)
+inline HRESULT VGCore::IVGTextFrame::UnLink ( ) {
+    HRESULT _hr = raw_UnLink();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4642)
+inline VGCore::IVGShapePtr VGCore::IVGTextFrame::GetContainer ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Container(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4643)
+inline VARIANT_BOOL VGCore::IVGTextFrame::GetIsInsideContainer ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsInsideContainer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4644)
+inline VARIANT_BOOL VGCore::IVGTextFrame::GetIsFittedToPath ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsFittedToPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4645)
+inline VGCore::IVGShapePtr VGCore::IVGTextFrame::GetPath ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Path(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4646)
+inline VGCore::IVGShapePtr VGCore::IVGTextFrame::GetFrameShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_FrameShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4647)
+inline VGCore::IVGFillPtr VGCore::IVGTextFrame::GetFill ( ) {
+    struct IVGFill * _result = 0;
+    HRESULT _hr = get_Fill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGFillPtr(_result, false);
+}
+
+#pragma implementation_key(4648)
+inline void VGCore::IVGTextFrame::PutFill ( struct IVGFill * ppVal ) {
+    HRESULT _hr = put_Fill(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4649)
+inline VGCore::IVGOutlinePtr VGCore::IVGTextFrame::GetOutline ( ) {
+    struct IVGOutline * _result = 0;
+    HRESULT _hr = get_Outline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(4650)
+inline void VGCore::IVGTextFrame::PutOutline ( struct IVGOutline * ppVal ) {
+    HRESULT _hr = put_Outline(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGTextFrames wrapper method implementations
+//
+
+#pragma implementation_key(4651)
+inline IUnknownPtr VGCore::IVGTextFrames::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4652)
+inline VGCore::IVGTextFramePtr VGCore::IVGTextFrames::GetItem ( long Index ) {
+    struct IVGTextFrame * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramePtr(_result, false);
+}
+
+#pragma implementation_key(4653)
+inline long VGCore::IVGTextFrames::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4654)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextFrames::GetRange ( long Index, long Count ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Range(Index, Count, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4655)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextFrames::GetAll ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_All(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4656)
+inline VGCore::IVGTextFramePtr VGCore::IVGTextFrames::GetFirst ( ) {
+    struct IVGTextFrame * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramePtr(_result, false);
+}
+
+#pragma implementation_key(4657)
+inline VGCore::IVGTextFramePtr VGCore::IVGTextFrames::GetLast ( ) {
+    struct IVGTextFrame * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextFramePtr(_result, false);
+}
+
+//
+// interface IVGTextRanges wrapper method implementations
+//
+
+#pragma implementation_key(4658)
+inline IUnknownPtr VGCore::IVGTextRanges::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4659)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRanges::GetItem ( long Index ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4660)
+inline long VGCore::IVGTextRanges::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4661)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRanges::GetFirst ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4662)
+inline VGCore::IVGTextRangePtr VGCore::IVGTextRanges::GetLast ( ) {
+    struct IVGTextRange * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangePtr(_result, false);
+}
+
+#pragma implementation_key(4663)
+inline VGCore::IVGTextRangesPtr VGCore::IVGTextRanges::Reverse ( ) {
+    struct IVGTextRanges * _result = 0;
+    HRESULT _hr = raw_Reverse(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTextRangesPtr(_result, false);
+}
+
+//
+// interface IVGStyle wrapper method implementations
+//
+
+#pragma implementation_key(4664)
+inline _bstr_t VGCore::IVGStyle::GetCategoryName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_CategoryName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4665)
+inline SAFEARRAY * VGCore::IVGStyle::GetAllPropertyNames ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetAllPropertyNames(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4666)
+inline SAFEARRAY * VGCore::IVGStyle::GetOverridePropertyNames ( ) {
+    SAFEARRAY * _result = 0;
+    HRESULT _hr = raw_GetOverridePropertyNames(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4667)
+inline VARIANT_BOOL VGCore::IVGStyle::IsPropertyInherited ( _bstr_t Name ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsPropertyInherited(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4668)
+inline _variant_t VGCore::IVGStyle::GetProperty ( _bstr_t Name ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = raw_GetProperty(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(4669)
+inline HRESULT VGCore::IVGStyle::SetProperty ( _bstr_t Name, const _variant_t & Value ) {
+    HRESULT _hr = raw_SetProperty(Name, Value);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4670)
+inline VARIANT_BOOL VGCore::IVGStyle::ClearProperty ( _bstr_t Name ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_ClearProperty(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4671)
+inline VGCore::IVGStyleOutlinePtr VGCore::IVGStyle::GetOutline ( ) {
+    struct IVGStyleOutline * _result = 0;
+    HRESULT _hr = get_Outline(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleOutlinePtr(_result, false);
+}
+
+#pragma implementation_key(4672)
+inline VGCore::IVGStyleFillPtr VGCore::IVGStyle::GetFill ( ) {
+    struct IVGStyleFill * _result = 0;
+    HRESULT _hr = get_Fill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleFillPtr(_result, false);
+}
+
+#pragma implementation_key(4673)
+inline VGCore::IVGStyleCharacterPtr VGCore::IVGStyle::GetCharacter ( ) {
+    struct IVGStyleCharacter * _result = 0;
+    HRESULT _hr = get_Character(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleCharacterPtr(_result, false);
+}
+
+#pragma implementation_key(4674)
+inline VGCore::IVGStyleParagraphPtr VGCore::IVGStyle::GetParagraph ( ) {
+    struct IVGStyleParagraph * _result = 0;
+    HRESULT _hr = get_Paragraph(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleParagraphPtr(_result, false);
+}
+
+#pragma implementation_key(4675)
+inline VGCore::IVGStyleFramePtr VGCore::IVGStyle::GetFrame ( ) {
+    struct IVGStyleFrame * _result = 0;
+    HRESULT _hr = get_Frame(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleFramePtr(_result, false);
+}
+
+#pragma implementation_key(4676)
+inline _bstr_t VGCore::IVGStyle::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4677)
+inline _bstr_t VGCore::IVGStyle::GetDisplayName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DisplayName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4678)
+inline VARIANT_BOOL VGCore::IVGStyle::GetIsStyleSet ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsStyleSet(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4679)
+inline VARIANT_BOOL VGCore::IVGStyle::GetIsObjectDefaults ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsObjectDefaults(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4680)
+inline _bstr_t VGCore::IVGStyle::GetDisplayCategoryName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DisplayCategoryName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4681)
+inline VGCore::IVGStylePtr VGCore::IVGStyle::GetBasedOn ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_BasedOn(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4682)
+inline VGCore::IVGStylesPtr VGCore::IVGStyle::GetDerivedStyles ( ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = get_DerivedStyles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4683)
+inline _bstr_t VGCore::IVGStyle::ToString ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_ToString(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4684)
+inline VARIANT_BOOL VGCore::IVGStyle::StringAssign ( _bstr_t StyleString ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_StringAssign(StyleString, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4685)
+inline _bstr_t VGCore::IVGStyle::GetPropertyAsString ( _bstr_t Name ) {
+    BSTR _result = 0;
+    HRESULT _hr = raw_GetPropertyAsString(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4686)
+inline VARIANT_BOOL VGCore::IVGStyle::SetPropertyAsString ( _bstr_t Name, _bstr_t Value ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_SetPropertyAsString(Name, Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4687)
+inline VARIANT_BOOL VGCore::IVGStyle::Rename ( _bstr_t NewName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Rename(NewName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4688)
+inline VARIANT_BOOL VGCore::IVGStyle::SetBasedOn ( _bstr_t NewParent ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_SetBasedOn(NewParent, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4689)
+inline VARIANT_BOOL VGCore::IVGStyle::Delete ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Delete(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4690)
+inline HRESULT VGCore::IVGStyle::Assign ( struct IVGStyle * pVal ) {
+    HRESULT _hr = raw_Assign(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4691)
+inline VGCore::IVGStylePtr VGCore::IVGStyle::GetCopy ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4692)
+inline VGCore::IVGStyleTransparencyPtr VGCore::IVGStyle::GetTransparency ( ) {
+    struct IVGStyleTransparency * _result = 0;
+    HRESULT _hr = get_Transparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleTransparencyPtr(_result, false);
+}
+
+//
+// interface IVGStyleOutline wrapper method implementations
+//
+
+#pragma implementation_key(4693)
+inline VGCore::IVGStylePtr VGCore::IVGStyleOutline::GetStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4694)
+inline enum VGCore::cdrOutlineType VGCore::IVGStyleOutline::GetType ( ) {
+    enum cdrOutlineType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4695)
+inline void VGCore::IVGStyleOutline::PutType ( enum cdrOutlineType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4696)
+inline VARIANT_BOOL VGCore::IVGStyleOutline::GetOverprint ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Overprint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4697)
+inline void VGCore::IVGStyleOutline::PutOverprint ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Overprint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4698)
+inline VARIANT_BOOL VGCore::IVGStyleOutline::GetBehindFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BehindFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4699)
+inline void VGCore::IVGStyleOutline::PutBehindFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_BehindFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4700)
+inline VARIANT_BOOL VGCore::IVGStyleOutline::GetScaleWithShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ScaleWithShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4701)
+inline void VGCore::IVGStyleOutline::PutScaleWithShape ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ScaleWithShape(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4702)
+inline double VGCore::IVGStyleOutline::GetWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4703)
+inline void VGCore::IVGStyleOutline::PutWidth ( double pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4704)
+inline VGCore::IVGColorPtr VGCore::IVGStyleOutline::GetColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_Color(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4705)
+inline void VGCore::IVGStyleOutline::PutColor ( struct IVGColor * ppVal ) {
+    HRESULT _hr = put_Color(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4706)
+inline VARIANT_BOOL VGCore::IVGStyleOutline::GetOverlapArrow ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_OverlapArrow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4707)
+inline void VGCore::IVGStyleOutline::PutOverlapArrow ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_OverlapArrow(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4708)
+inline VARIANT_BOOL VGCore::IVGStyleOutline::GetShareArrow ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShareArrow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4709)
+inline void VGCore::IVGStyleOutline::PutShareArrow ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShareArrow(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4710)
+inline double VGCore::IVGStyleOutline::GetMiterLimit ( ) {
+    double _result = 0;
+    HRESULT _hr = get_MiterLimit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4711)
+inline void VGCore::IVGStyleOutline::PutMiterLimit ( double pVal ) {
+    HRESULT _hr = put_MiterLimit(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4712)
+inline long VGCore::IVGStyleOutline::GetNibStretch ( ) {
+    long _result = 0;
+    HRESULT _hr = get_NibStretch(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4713)
+inline void VGCore::IVGStyleOutline::PutNibStretch ( long pVal ) {
+    HRESULT _hr = put_NibStretch(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4714)
+inline double VGCore::IVGStyleOutline::GetNibAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_NibAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4715)
+inline void VGCore::IVGStyleOutline::PutNibAngle ( double pVal ) {
+    HRESULT _hr = put_NibAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4716)
+inline double VGCore::IVGStyleOutline::GetWidelineWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_WidelineWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4717)
+inline void VGCore::IVGStyleOutline::PutWidelineWidth ( double pVal ) {
+    HRESULT _hr = put_WidelineWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4718)
+inline enum VGCore::cdrOutlineLineCaps VGCore::IVGStyleOutline::GetLineCaps ( ) {
+    enum cdrOutlineLineCaps _result;
+    HRESULT _hr = get_LineCaps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4719)
+inline void VGCore::IVGStyleOutline::PutLineCaps ( enum cdrOutlineLineCaps pVal ) {
+    HRESULT _hr = put_LineCaps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4720)
+inline enum VGCore::cdrOutlineLineJoin VGCore::IVGStyleOutline::GetLineJoin ( ) {
+    enum cdrOutlineLineJoin _result;
+    HRESULT _hr = get_LineJoin(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4721)
+inline void VGCore::IVGStyleOutline::PutLineJoin ( enum cdrOutlineLineJoin pVal ) {
+    HRESULT _hr = put_LineJoin(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4722)
+inline enum VGCore::cdrOutlineJustification VGCore::IVGStyleOutline::GetJustification ( ) {
+    enum cdrOutlineJustification _result;
+    HRESULT _hr = get_Justification(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4723)
+inline void VGCore::IVGStyleOutline::PutJustification ( enum cdrOutlineJustification pVal ) {
+    HRESULT _hr = put_Justification(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4724)
+inline enum VGCore::cdrOutlineDashAdjust VGCore::IVGStyleOutline::GetAdjustDashes ( ) {
+    enum cdrOutlineDashAdjust _result;
+    HRESULT _hr = get_AdjustDashes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4725)
+inline void VGCore::IVGStyleOutline::PutAdjustDashes ( enum cdrOutlineDashAdjust pVal ) {
+    HRESULT _hr = put_AdjustDashes(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGStyleFill wrapper method implementations
+//
+
+#pragma implementation_key(4726)
+inline VGCore::IVGStylePtr VGCore::IVGStyleFill::GetStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4727)
+inline enum VGCore::cdrFillStyleType VGCore::IVGStyleFill::GetType ( ) {
+    enum cdrFillStyleType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4728)
+inline void VGCore::IVGStyleFill::PutType ( enum cdrFillStyleType pVal ) {
+    HRESULT _hr = put_Type(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4729)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetOverprint ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Overprint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4730)
+inline void VGCore::IVGStyleFill::PutOverprint ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_Overprint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4731)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetWindingFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_WindingFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4732)
+inline void VGCore::IVGStyleFill::PutWindingFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_WindingFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4733)
+inline enum VGCore::cdrFountainFillType VGCore::IVGStyleFill::GetFountainFillType ( ) {
+    enum cdrFountainFillType _result;
+    HRESULT _hr = get_FountainFillType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4734)
+inline void VGCore::IVGStyleFill::PutFountainFillType ( enum cdrFountainFillType pVal ) {
+    HRESULT _hr = put_FountainFillType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4735)
+inline long VGCore::IVGStyleFill::GetEdgePad ( ) {
+    long _result = 0;
+    HRESULT _hr = get_EdgePad(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4736)
+inline void VGCore::IVGStyleFill::PutEdgePad ( long pVal ) {
+    HRESULT _hr = put_EdgePad(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4737)
+inline long VGCore::IVGStyleFill::GetFountainCenterOffsetX ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FountainCenterOffsetX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4738)
+inline void VGCore::IVGStyleFill::PutFountainCenterOffsetX ( long pVal ) {
+    HRESULT _hr = put_FountainCenterOffsetX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4739)
+inline long VGCore::IVGStyleFill::GetFountainCenterOffsetY ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FountainCenterOffsetY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4740)
+inline void VGCore::IVGStyleFill::PutFountainCenterOffsetY ( long pVal ) {
+    HRESULT _hr = put_FountainCenterOffsetY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4741)
+inline long VGCore::IVGStyleFill::GetFountainSteps ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FountainSteps(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4742)
+inline void VGCore::IVGStyleFill::PutFountainSteps ( long pVal ) {
+    HRESULT _hr = put_FountainSteps(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4743)
+inline enum VGCore::cdrFountainFillBlendType VGCore::IVGStyleFill::GetFountainBlendType ( ) {
+    enum cdrFountainFillBlendType _result;
+    HRESULT _hr = get_FountainBlendType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4744)
+inline void VGCore::IVGStyleFill::PutFountainBlendType ( enum cdrFountainFillBlendType pVal ) {
+    HRESULT _hr = put_FountainBlendType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4745)
+inline long VGCore::IVGStyleFill::GetMidPoint ( ) {
+    long _result = 0;
+    HRESULT _hr = get_MidPoint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4746)
+inline void VGCore::IVGStyleFill::PutMidPoint ( long pVal ) {
+    HRESULT _hr = put_MidPoint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4747)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetFlipColors ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FlipColors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4748)
+inline void VGCore::IVGStyleFill::PutFlipColors ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FlipColors(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4749)
+inline _bstr_t VGCore::IVGStyleFill::GetPostScriptName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PostScriptName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4750)
+inline void VGCore::IVGStyleFill::PutPostScriptName ( _bstr_t pVal ) {
+    HRESULT _hr = put_PostScriptName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4751)
+inline double VGCore::IVGStyleFill::GetTileWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4752)
+inline void VGCore::IVGStyleFill::PutTileWidth ( double pVal ) {
+    HRESULT _hr = put_TileWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4753)
+inline double VGCore::IVGStyleFill::GetTileHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4754)
+inline void VGCore::IVGStyleFill::PutTileHeight ( double pVal ) {
+    HRESULT _hr = put_TileHeight(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4755)
+inline double VGCore::IVGStyleFill::GetTileOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileOriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4756)
+inline void VGCore::IVGStyleFill::PutTileOriginX ( double pVal ) {
+    HRESULT _hr = put_TileOriginX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4757)
+inline double VGCore::IVGStyleFill::GetTileOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TileOriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4758)
+inline void VGCore::IVGStyleFill::PutTileOriginY ( double pVal ) {
+    HRESULT _hr = put_TileOriginY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4759)
+inline enum VGCore::cdrTileOffsetType VGCore::IVGStyleFill::GetTileOffsetType ( ) {
+    enum cdrTileOffsetType _result;
+    HRESULT _hr = get_TileOffsetType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4760)
+inline void VGCore::IVGStyleFill::PutTileOffsetType ( enum cdrTileOffsetType pVal ) {
+    HRESULT _hr = put_TileOffsetType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4761)
+inline long VGCore::IVGStyleFill::GetTileOffset ( ) {
+    long _result = 0;
+    HRESULT _hr = get_TileOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4762)
+inline void VGCore::IVGStyleFill::PutTileOffset ( long pVal ) {
+    HRESULT _hr = put_TileOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4763)
+inline double VGCore::IVGStyleFill::GetRotationAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RotationAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4764)
+inline void VGCore::IVGStyleFill::PutRotationAngle ( double pVal ) {
+    HRESULT _hr = put_RotationAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4765)
+inline double VGCore::IVGStyleFill::GetSkewAngle ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SkewAngle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4766)
+inline void VGCore::IVGStyleFill::PutSkewAngle ( double pVal ) {
+    HRESULT _hr = put_SkewAngle(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4767)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetMirrorFill ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4768)
+inline void VGCore::IVGStyleFill::PutMirrorFill ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFill(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4769)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetTransformWithShape ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_TransformWithShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4770)
+inline void VGCore::IVGStyleFill::PutTransformWithShape ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_TransformWithShape(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4771)
+inline VGCore::IVGColorPtr VGCore::IVGStyleFill::GetPrimaryColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_PrimaryColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4772)
+inline VGCore::IVGColorPtr VGCore::IVGStyleFill::GetSecondaryColor ( ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = get_SecondaryColor(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4773)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetMirrorFillX ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFillX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4774)
+inline void VGCore::IVGStyleFill::PutMirrorFillX ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFillX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4775)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetMirrorFillY ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_MirrorFillY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4776)
+inline void VGCore::IVGStyleFill::PutMirrorFillY ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_MirrorFillY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4777)
+inline double VGCore::IVGStyleFill::GetFountainCenterXOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FountainCenterXOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4778)
+inline void VGCore::IVGStyleFill::PutFountainCenterXOffset ( double pVal ) {
+    HRESULT _hr = put_FountainCenterXOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4779)
+inline double VGCore::IVGStyleFill::GetFountainCenterYOffset ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FountainCenterYOffset(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4780)
+inline void VGCore::IVGStyleFill::PutFountainCenterYOffset ( double pVal ) {
+    HRESULT _hr = put_FountainCenterYOffset(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4781)
+inline double VGCore::IVGStyleFill::GetFountainBlendAcceleration ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FountainBlendAcceleration(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4782)
+inline void VGCore::IVGStyleFill::PutFountainBlendAcceleration ( double pVal ) {
+    HRESULT _hr = put_FountainBlendAcceleration(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4783)
+inline double VGCore::IVGStyleFill::GetFountainScaleX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FountainScaleX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4784)
+inline void VGCore::IVGStyleFill::PutFountainScaleX ( double pVal ) {
+    HRESULT _hr = put_FountainScaleX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4785)
+inline double VGCore::IVGStyleFill::GetFountainScaleY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_FountainScaleY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4786)
+inline void VGCore::IVGStyleFill::PutFountainScaleY ( double pVal ) {
+    HRESULT _hr = put_FountainScaleY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4787)
+inline VARIANT_BOOL VGCore::IVGStyleFill::GetFountainAnisotropic ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FountainAnisotropic(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4788)
+inline void VGCore::IVGStyleFill::PutFountainAnisotropic ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_FountainAnisotropic(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4789)
+inline enum VGCore::cdrFountainFillSpreadMethod VGCore::IVGStyleFill::GetFountainSpreadMethod ( ) {
+    enum cdrFountainFillSpreadMethod _result;
+    HRESULT _hr = get_FountainSpreadMethod(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4790)
+inline void VGCore::IVGStyleFill::PutFountainSpreadMethod ( enum cdrFountainFillSpreadMethod pVal ) {
+    HRESULT _hr = put_FountainSpreadMethod(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4791)
+inline unsigned char VGCore::IVGStyleFill::GetPrimaryOpacity ( ) {
+    unsigned char _result = 0;
+    HRESULT _hr = get_PrimaryOpacity(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4792)
+inline void VGCore::IVGStyleFill::PutPrimaryOpacity ( unsigned char pVal ) {
+    HRESULT _hr = put_PrimaryOpacity(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4793)
+inline unsigned char VGCore::IVGStyleFill::GetSecondaryOpacity ( ) {
+    unsigned char _result = 0;
+    HRESULT _hr = get_SecondaryOpacity(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4794)
+inline void VGCore::IVGStyleFill::PutSecondaryOpacity ( unsigned char pVal ) {
+    HRESULT _hr = put_SecondaryOpacity(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4795)
+inline enum VGCore::cdrMergeMode VGCore::IVGStyleFill::GetMergeMode ( ) {
+    enum cdrMergeMode _result;
+    HRESULT _hr = get_MergeMode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4796)
+inline void VGCore::IVGStyleFill::PutMergeMode ( enum cdrMergeMode pVal ) {
+    HRESULT _hr = put_MergeMode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4797)
+inline VARIANT_BOOL VGCore::IVGStyleFill::SaveFill ( _bstr_t FileName, struct IVGFillMetadata * Metadata ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_SaveFill(FileName, Metadata, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4798)
+inline VARIANT_BOOL VGCore::IVGStyleFill::LoadFill ( _bstr_t FileName, struct IVGFillMetadata * * Metadata ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_LoadFill(FileName, Metadata, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGStyleCharacter wrapper method implementations
+//
+
+#pragma implementation_key(4799)
+inline VGCore::IVGStylePtr VGCore::IVGStyleCharacter::GetStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+//
+// interface IVGStyleParagraph wrapper method implementations
+//
+
+#pragma implementation_key(4800)
+inline VGCore::IVGStylePtr VGCore::IVGStyleParagraph::GetStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+//
+// interface IVGStyleFrame wrapper method implementations
+//
+
+#pragma implementation_key(4801)
+inline VGCore::IVGStylePtr VGCore::IVGStyleFrame::GetStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+//
+// interface IVGStyles wrapper method implementations
+//
+
+#pragma implementation_key(4802)
+inline long VGCore::IVGStyles::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4803)
+inline VGCore::IVGStylePtr VGCore::IVGStyles::GetItem ( long Index ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4804)
+inline IUnknownPtr VGCore::IVGStyles::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4805)
+inline VGCore::IVGStylePtr VGCore::IVGStyles::Find ( _bstr_t Name ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = raw_Find(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4806)
+inline VGCore::IVGStylePtr VGCore::IVGStyles::GetFirst ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4807)
+inline VGCore::IVGStylePtr VGCore::IVGStyles::GetLast ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+//
+// interface IVGStyleTransparency wrapper method implementations
+//
+
+#pragma implementation_key(4808)
+inline VGCore::IVGStylePtr VGCore::IVGStyleTransparency::GetStyle ( ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = get_Style(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4809)
+inline VGCore::IVGStyleFillPtr VGCore::IVGStyleTransparency::GetFill ( ) {
+    struct IVGStyleFill * _result = 0;
+    HRESULT _hr = get_Fill(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStyleFillPtr(_result, false);
+}
+
+#pragma implementation_key(4810)
+inline enum VGCore::cdrMergeMode VGCore::IVGStyleTransparency::GetMode ( ) {
+    enum cdrMergeMode _result;
+    HRESULT _hr = get_Mode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4811)
+inline void VGCore::IVGStyleTransparency::PutMode ( enum cdrMergeMode pVal ) {
+    HRESULT _hr = put_Mode(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4812)
+inline double VGCore::IVGStyleTransparency::GetUniformTransparency ( ) {
+    double _result = 0;
+    HRESULT _hr = get_UniformTransparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4813)
+inline void VGCore::IVGStyleTransparency::PutUniformTransparency ( double pVal ) {
+    HRESULT _hr = put_UniformTransparency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4814)
+inline double VGCore::IVGStyleTransparency::GetWhiteTransparency ( ) {
+    double _result = 0;
+    HRESULT _hr = get_WhiteTransparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4815)
+inline void VGCore::IVGStyleTransparency::PutWhiteTransparency ( double pVal ) {
+    HRESULT _hr = put_WhiteTransparency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4816)
+inline double VGCore::IVGStyleTransparency::GetBlackTransparency ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BlackTransparency(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4817)
+inline void VGCore::IVGStyleTransparency::PutBlackTransparency ( double pVal ) {
+    HRESULT _hr = put_BlackTransparency(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4818)
+inline enum VGCore::cdrTransparencyAppliedTo VGCore::IVGStyleTransparency::GetAppliesTo ( ) {
+    enum cdrTransparencyAppliedTo _result;
+    HRESULT _hr = get_AppliesTo(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4819)
+inline void VGCore::IVGStyleTransparency::PutAppliesTo ( enum cdrTransparencyAppliedTo pVal ) {
+    HRESULT _hr = put_AppliesTo(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGToolShape wrapper method implementations
+//
+
+#pragma implementation_key(4820)
+inline HRESULT VGCore::IVGToolShape::OnGenerateShape ( struct IVGLayer * Parent, struct IVGProperties * ObjectProperties, struct IVGStyle * pStyleAttributes, struct IVGTransformMatrix * pTransformation, VARIANT_BOOL IsPreviewOnly ) {
+    HRESULT _hr = raw_OnGenerateShape(Parent, ObjectProperties, pStyleAttributes, pTransformation, IsPreviewOnly);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGStyleSheet wrapper method implementations
+//
+
+#pragma implementation_key(4821)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::GetStyles ( ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = get_Styles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4822)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::GetStyleSets ( ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = get_StyleSets(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4823)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::GetObjectDefaults ( ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = get_ObjectDefaults(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4824)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::GetAllStyles ( ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = get_AllStyles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4825)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::GetAllStyleSets ( ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = get_AllStyleSets(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4826)
+inline VGCore::IVGStylePtr VGCore::IVGStyleSheet::FindStyle ( _bstr_t Name ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = raw_FindStyle(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4827)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::CreateStyleFromShape ( struct IVGShape * Shape, _bstr_t Category, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = raw_CreateStyleFromShape(Shape, Category, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4828)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::CreateStyleFromShapeRange ( struct IVGShapeRange * ShapeRange, _bstr_t Category, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = raw_CreateStyleFromShapeRange(ShapeRange, Category, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4829)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::CreateStyleFromTextRange ( struct IVGTextRange * TextRange, _bstr_t Category, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = raw_CreateStyleFromTextRange(TextRange, Category, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4830)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::CreateStyleSetFromShape ( struct IVGShape * Shape, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = raw_CreateStyleSetFromShape(Shape, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4831)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::CreateStyleSetFromShapeRange ( struct IVGShapeRange * ShapeRange, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = raw_CreateStyleSetFromShapeRange(ShapeRange, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4832)
+inline VGCore::IVGStylesPtr VGCore::IVGStyleSheet::CreateStyleSetFromTextRange ( struct IVGTextRange * TextRange, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyles * _result = 0;
+    HRESULT _hr = raw_CreateStyleSetFromTextRange(TextRange, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylesPtr(_result, false);
+}
+
+#pragma implementation_key(4833)
+inline VGCore::IVGStylePtr VGCore::IVGStyleSheet::CreateStyle ( _bstr_t Category, _bstr_t BasedOn, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = raw_CreateStyle(Category, BasedOn, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4834)
+inline VGCore::IVGStylePtr VGCore::IVGStyleSheet::CreateStyleSet ( _bstr_t BasedOn, _bstr_t Name, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGStyle * _result = 0;
+    HRESULT _hr = raw_CreateStyleSet(BasedOn, Name, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGStylePtr(_result, false);
+}
+
+#pragma implementation_key(4835)
+inline VARIANT_BOOL VGCore::IVGStyleSheet::Export ( _bstr_t FileName, VARIANT_BOOL Styles, VARIANT_BOOL StyleSets, VARIANT_BOOL ObjectDefaults, VARIANT_BOOL ColorStyles ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Export(FileName, Styles, StyleSets, ObjectDefaults, ColorStyles, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4836)
+inline VARIANT_BOOL VGCore::IVGStyleSheet::Import ( _bstr_t FileName, VARIANT_BOOL MergeStyles, VARIANT_BOOL Styles, VARIANT_BOOL StyleSets, VARIANT_BOOL ObjectDefaults, VARIANT_BOOL ColorStyles ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_Import(FileName, MergeStyles, Styles, StyleSets, ObjectDefaults, ColorStyles, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4837)
+inline VGCore::IVGColorsPtr VGCore::IVGStyleSheet::GetAllColorStyles ( ) {
+    struct IVGColors * _result = 0;
+    HRESULT _hr = get_AllColorStyles(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorsPtr(_result, false);
+}
+
+#pragma implementation_key(4838)
+inline VGCore::IVGColorPtr VGCore::IVGStyleSheet::CreateColorStyle ( _bstr_t Name, struct IVGColor * Color, long HarmonyIndex, long IndexInHarmony, VARIANT_BOOL ReplaceExisting ) {
+    struct IVGColor * _result = 0;
+    HRESULT _hr = raw_CreateColorStyle(Name, Color, HarmonyIndex, IndexInHarmony, ReplaceExisting, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGColorPtr(_result, false);
+}
+
+#pragma implementation_key(4839)
+inline HRESULT VGCore::IVGStyleSheet::DeleteAllColorStyles ( ) {
+    HRESULT _hr = raw_DeleteAllColorStyles();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4840)
+inline HRESULT VGCore::IVGStyleSheet::DeleteColorStyle ( _bstr_t Name ) {
+    HRESULT _hr = raw_DeleteColorStyle(Name);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4841)
+inline HRESULT VGCore::IVGStyleSheet::RenameColorStyle ( _bstr_t OldName, _bstr_t NewName ) {
+    HRESULT _hr = raw_RenameColorStyle(OldName, NewName);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGDataItems wrapper method implementations
+//
+
+#pragma implementation_key(4842)
+inline VGCore::IVGApplicationPtr VGCore::IVGDataItems::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4843)
+inline VGCore::IVGShapePtr VGCore::IVGDataItems::GetParent ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4844)
+inline long VGCore::IVGDataItems::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4845)
+inline VGCore::IVGDataItemPtr VGCore::IVGDataItems::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGDataItem * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataItemPtr(_result, false);
+}
+
+#pragma implementation_key(4846)
+inline IUnknownPtr VGCore::IVGDataItems::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4847)
+inline VGCore::IVGDataItemPtr VGCore::IVGDataItems::Add ( struct IVGDataField * DataField, const _variant_t & Value ) {
+    struct IVGDataItem * _result = 0;
+    HRESULT _hr = raw_Add(DataField, Value, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataItemPtr(_result, false);
+}
+
+#pragma implementation_key(4848)
+inline HRESULT VGCore::IVGDataItems::CopyFrom ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_CopyFrom(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4849)
+inline HRESULT VGCore::IVGDataItems::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGDataItem wrapper method implementations
+//
+
+#pragma implementation_key(4850)
+inline VGCore::IVGApplicationPtr VGCore::IVGDataItem::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4851)
+inline VGCore::IVGDataItemsPtr VGCore::IVGDataItem::GetParent ( ) {
+    struct IVGDataItems * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataItemsPtr(_result, false);
+}
+
+#pragma implementation_key(4852)
+inline _variant_t VGCore::IVGDataItem::GetValue ( ) {
+    VARIANT _result;
+    VariantInit(&_result);
+    HRESULT _hr = get_Value(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _variant_t(_result, false);
+}
+
+#pragma implementation_key(4853)
+inline void VGCore::IVGDataItem::PutValue ( const _variant_t & pVal ) {
+    HRESULT _hr = put_Value(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4854)
+inline VGCore::IVGDataFieldPtr VGCore::IVGDataItem::GetDataField ( ) {
+    struct IVGDataField * _result = 0;
+    HRESULT _hr = get_DataField(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataFieldPtr(_result, false);
+}
+
+#pragma implementation_key(4855)
+inline HRESULT VGCore::IVGDataItem::Clear ( ) {
+    HRESULT _hr = raw_Clear();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4856)
+inline _bstr_t VGCore::IVGDataItem::GetFormattedValue ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FormattedValue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+//
+// interface IVGDataField wrapper method implementations
+//
+
+#pragma implementation_key(4857)
+inline VGCore::IVGApplicationPtr VGCore::IVGDataField::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4858)
+inline VGCore::IVGDataFieldsPtr VGCore::IVGDataField::GetParent ( ) {
+    struct IVGDataFields * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataFieldsPtr(_result, false);
+}
+
+#pragma implementation_key(4859)
+inline _bstr_t VGCore::IVGDataField::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4860)
+inline void VGCore::IVGDataField::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4861)
+inline enum VGCore::cdrDataFormatType VGCore::IVGDataField::GetFormatType ( ) {
+    enum cdrDataFormatType _result;
+    HRESULT _hr = get_FormatType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4862)
+inline _bstr_t VGCore::IVGDataField::GetFormat ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Format(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4863)
+inline void VGCore::IVGDataField::PutFormat ( _bstr_t pVal ) {
+    HRESULT _hr = put_Format(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4864)
+inline long VGCore::IVGDataField::GetFieldWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_FieldWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4865)
+inline void VGCore::IVGDataField::PutFieldWidth ( long pVal ) {
+    HRESULT _hr = put_FieldWidth(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4866)
+inline VARIANT_BOOL VGCore::IVGDataField::GetAppDefault ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_AppDefault(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4867)
+inline void VGCore::IVGDataField::PutAppDefault ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_AppDefault(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4868)
+inline VARIANT_BOOL VGCore::IVGDataField::GetDocDefault ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_DocDefault(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4869)
+inline void VGCore::IVGDataField::PutDocDefault ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_DocDefault(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4870)
+inline VARIANT_BOOL VGCore::IVGDataField::GetSummarizeGroup ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SummarizeGroup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4871)
+inline void VGCore::IVGDataField::PutSummarizeGroup ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_SummarizeGroup(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4872)
+inline HRESULT VGCore::IVGDataField::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4873)
+inline HRESULT VGCore::IVGDataField::Reorder ( long NewIndex ) {
+    HRESULT _hr = raw_Reorder(NewIndex);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4874)
+inline long VGCore::IVGDataField::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4875)
+inline _bstr_t VGCore::IVGDataField::GetTarget ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Target(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4876)
+inline void VGCore::IVGDataField::PutTarget ( _bstr_t pVal ) {
+    HRESULT _hr = put_Target(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4877)
+inline _bstr_t VGCore::IVGDataField::GetDefaultValue ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_DefaultValue(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4878)
+inline void VGCore::IVGDataField::PutDefaultValue ( _bstr_t pVal ) {
+    HRESULT _hr = put_DefaultValue(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4879)
+inline _bstr_t VGCore::IVGDataField::GetConstraint ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Constraint(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4880)
+inline void VGCore::IVGDataField::PutConstraint ( _bstr_t pVal ) {
+    HRESULT _hr = put_Constraint(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4881)
+inline enum VGCore::cdrDataType VGCore::IVGDataField::GetDataType ( ) {
+    enum cdrDataType _result;
+    HRESULT _hr = get_DataType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4882)
+inline void VGCore::IVGDataField::PutDataType ( enum cdrDataType pVal ) {
+    HRESULT _hr = put_DataType(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4883)
+inline _bstr_t VGCore::IVGDataField::GetParentName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ParentName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4884)
+inline void VGCore::IVGDataField::PutParentName ( _bstr_t pVal ) {
+    HRESULT _hr = put_ParentName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4885)
+inline _bstr_t VGCore::IVGDataField::GetElementName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_ElementName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4886)
+inline void VGCore::IVGDataField::PutElementName ( _bstr_t pVal ) {
+    HRESULT _hr = put_ElementName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGDataFields wrapper method implementations
+//
+
+#pragma implementation_key(4887)
+inline VGCore::IVGApplicationPtr VGCore::IVGDataFields::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(4888)
+inline VGCore::IVGDocumentPtr VGCore::IVGDataFields::GetParent ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(4889)
+inline long VGCore::IVGDataFields::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4890)
+inline VGCore::IVGDataFieldPtr VGCore::IVGDataFields::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGDataField * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataFieldPtr(_result, false);
+}
+
+#pragma implementation_key(4891)
+inline IUnknownPtr VGCore::IVGDataFields::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(4892)
+inline VGCore::IVGDataFieldPtr VGCore::IVGDataFields::Add ( _bstr_t Name, _bstr_t Format, VARIANT_BOOL AppDefault, VARIANT_BOOL DocDefault, VARIANT_BOOL SummarizeGroup ) {
+    struct IVGDataField * _result = 0;
+    HRESULT _hr = raw_Add(Name, Format, AppDefault, DocDefault, SummarizeGroup, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataFieldPtr(_result, false);
+}
+
+#pragma implementation_key(4893)
+inline VGCore::IVGDataFieldPtr VGCore::IVGDataFields::AddEx ( _bstr_t Name, enum cdrDataType DataType, _bstr_t DefaultValue, _bstr_t Constraint, _bstr_t Target, _bstr_t Format, VARIANT_BOOL AppDefault, VARIANT_BOOL DocDefault, VARIANT_BOOL SummarizeGroup, long FieldWidth ) {
+    struct IVGDataField * _result = 0;
+    HRESULT _hr = raw_AddEx(Name, DataType, DefaultValue, Constraint, Target, Format, AppDefault, DocDefault, SummarizeGroup, FieldWidth, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataFieldPtr(_result, false);
+}
+
+#pragma implementation_key(4894)
+inline VARIANT_BOOL VGCore::IVGDataFields::IsPresent ( _bstr_t FieldName ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsPresent(FieldName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4895)
+inline VGCore::IVGDataFieldPtr VGCore::IVGDataFields::AddEx2 ( _bstr_t ParentName, _bstr_t ElementName, _bstr_t Name, enum cdrDataType DataType, _bstr_t DefaultValue, _bstr_t Constraint, _bstr_t Target, _bstr_t Format, VARIANT_BOOL AppDefault, VARIANT_BOOL DocDefault, VARIANT_BOOL SummarizeGroup, long FieldWidth ) {
+    struct IVGDataField * _result = 0;
+    HRESULT _hr = raw_AddEx2(ParentName, ElementName, Name, DataType, DefaultValue, Constraint, Target, Format, AppDefault, DocDefault, SummarizeGroup, FieldWidth, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDataFieldPtr(_result, false);
+}
+
+//
+// interface IVGSymbol wrapper method implementations
+//
+
+#pragma implementation_key(4896)
+inline VGCore::IVGSymbolDefinitionPtr VGCore::IVGSymbol::GetDefinition ( ) {
+    struct IVGSymbolDefinition * _result = 0;
+    HRESULT _hr = get_Definition(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolDefinitionPtr(_result, false);
+}
+
+#pragma implementation_key(4897)
+inline VGCore::IVGShapeRangePtr VGCore::IVGSymbol::RevertToShapes ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = raw_RevertToShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+//
+// interface IVGSymbolDefinition wrapper method implementations
+//
+
+#pragma implementation_key(4898)
+inline _bstr_t VGCore::IVGSymbolDefinition::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4899)
+inline void VGCore::IVGSymbolDefinition::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4900)
+inline _bstr_t VGCore::IVGSymbolDefinition::GetDescription ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Description(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4901)
+inline void VGCore::IVGSymbolDefinition::PutDescription ( _bstr_t pVal ) {
+    HRESULT _hr = put_Description(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(4902)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetLinked ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Linked(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4903)
+inline _bstr_t VGCore::IVGSymbolDefinition::GetLinkLibraryPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_LinkLibraryPath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4904)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetNested ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Nested(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4905)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetHasLinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasLinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4906)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetIsLinkBroken ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsLinkBroken(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4907)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetIsLinkUpdated ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsLinkUpdated(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4908)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetHasBrokenLinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasBrokenLinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4909)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetHasUpdatedLinks ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_HasUpdatedLinks(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4910)
+inline VGCore::IVGSymbolDefinitionsPtr VGCore::IVGSymbolDefinition::GetNestedSymbols ( ) {
+    struct IVGSymbolDefinitions * _result = 0;
+    HRESULT _hr = get_NestedSymbols(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolDefinitionsPtr(_result, false);
+}
+
+#pragma implementation_key(4911)
+inline VARIANT_BOOL VGCore::IVGSymbolDefinition::GetEditable ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Editable(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4912)
+inline long VGCore::IVGSymbolDefinition::GetInstanceCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_InstanceCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4913)
+inline VGCore::IVGShapeRangePtr VGCore::IVGSymbolDefinition::GetInstances ( ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = get_Instances(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(4914)
+inline HRESULT VGCore::IVGSymbolDefinition::EnterEditMode ( ) {
+    HRESULT _hr = raw_EnterEditMode();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4915)
+inline HRESULT VGCore::IVGSymbolDefinition::LeaveEditMode ( ) {
+    HRESULT _hr = raw_LeaveEditMode();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4916)
+inline HRESULT VGCore::IVGSymbolDefinition::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4917)
+inline HRESULT VGCore::IVGSymbolDefinition::Copy ( ) {
+    HRESULT _hr = raw_Copy();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4918)
+inline VGCore::IVGSymbolDefinitionPtr VGCore::IVGSymbolDefinition::Duplicate ( _bstr_t Name ) {
+    struct IVGSymbolDefinition * _result = 0;
+    HRESULT _hr = raw_Duplicate(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolDefinitionPtr(_result, false);
+}
+
+#pragma implementation_key(4919)
+inline HRESULT VGCore::IVGSymbolDefinition::BreakLink ( ) {
+    HRESULT _hr = raw_BreakLink();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4920)
+inline HRESULT VGCore::IVGSymbolDefinition::UpdateLinks ( ) {
+    HRESULT _hr = raw_UpdateLinks();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4921)
+inline HRESULT VGCore::IVGSymbolDefinition::FixLink ( _bstr_t LibraryPath ) {
+    HRESULT _hr = raw_FixLink(LibraryPath);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4922)
+inline enum VGCore::cdrSymbolType VGCore::IVGSymbolDefinition::GetType ( ) {
+    enum cdrSymbolType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGSymbolDefinitions wrapper method implementations
+//
+
+#pragma implementation_key(4923)
+inline VGCore::IVGSymbolDefinitionPtr VGCore::IVGSymbolDefinitions::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGSymbolDefinition * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolDefinitionPtr(_result, false);
+}
+
+#pragma implementation_key(4924)
+inline long VGCore::IVGSymbolDefinitions::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4925)
+inline IUnknownPtr VGCore::IVGSymbolDefinitions::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+//
+// interface IVGSymbolLibrary wrapper method implementations
+//
+
+#pragma implementation_key(4926)
+inline VGCore::IVGSymbolDefinitionsPtr VGCore::IVGSymbolLibrary::GetSymbols ( ) {
+    struct IVGSymbolDefinitions * _result = 0;
+    HRESULT _hr = get_Symbols(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolDefinitionsPtr(_result, false);
+}
+
+#pragma implementation_key(4927)
+inline _bstr_t VGCore::IVGSymbolLibrary::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4928)
+inline _bstr_t VGCore::IVGSymbolLibrary::GetFilePath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FilePath(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4929)
+inline VARIANT_BOOL VGCore::IVGSymbolLibrary::GetReadOnly ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ReadOnly(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4930)
+inline HRESULT VGCore::IVGSymbolLibrary::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4931)
+inline HRESULT VGCore::IVGSymbolLibrary::PurgeUnusedSymbols ( ) {
+    HRESULT _hr = raw_PurgeUnusedSymbols();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4932)
+inline VGCore::IVGSymbolDefinitionPtr VGCore::IVGSymbolLibrary::Paste ( _bstr_t Name ) {
+    struct IVGSymbolDefinition * _result = 0;
+    HRESULT _hr = raw_Paste(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolDefinitionPtr(_result, false);
+}
+
+//
+// interface IVGSymbolLibraries wrapper method implementations
+//
+
+#pragma implementation_key(4933)
+inline VGCore::IVGSymbolLibraryPtr VGCore::IVGSymbolLibraries::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGSymbolLibrary * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolLibraryPtr(_result, false);
+}
+
+#pragma implementation_key(4934)
+inline long VGCore::IVGSymbolLibraries::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4935)
+inline VGCore::IVGSymbolLibraryPtr VGCore::IVGSymbolLibraries::Add ( _bstr_t FileName, VARIANT_BOOL CopyLocally ) {
+    struct IVGSymbolLibrary * _result = 0;
+    HRESULT _hr = raw_Add(FileName, CopyLocally, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSymbolLibraryPtr(_result, false);
+}
+
+#pragma implementation_key(4936)
+inline long VGCore::IVGSymbolLibraries::AddFromFolder ( _bstr_t Folder, VARIANT_BOOL Recursive, VARIANT_BOOL CopyLocally ) {
+    long _result = 0;
+    HRESULT _hr = raw_AddFromFolder(Folder, Recursive, CopyLocally, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4937)
+inline IUnknownPtr VGCore::IVGSymbolLibraries::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+//
+// interface IVGTreeNode wrapper method implementations
+//
+
+#pragma implementation_key(4938)
+inline enum VGCore::cdrTreeNodeType VGCore::IVGTreeNode::GetType ( ) {
+    enum cdrTreeNodeType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4939)
+inline enum VGCore::cdrShapeType VGCore::IVGTreeNode::GetShapeType ( ) {
+    enum cdrShapeType _result;
+    HRESULT _hr = get_ShapeType(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4940)
+inline VGCore::IVGShapePtr VGCore::IVGTreeNode::GetShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_Shape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4941)
+inline VGCore::IVGShapePtr VGCore::IVGTreeNode::GetVirtualShape ( ) {
+    struct IVGShape * _result = 0;
+    HRESULT _hr = get_VirtualShape(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapePtr(_result, false);
+}
+
+#pragma implementation_key(4942)
+inline VGCore::IVGPagePtr VGCore::IVGTreeNode::GetPage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Page(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(4943)
+inline VGCore::IVGLayerPtr VGCore::IVGTreeNode::GetLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_Layer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(4944)
+inline VGCore::IVGDocumentPtr VGCore::IVGTreeNode::GetDocument ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Document(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(4945)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNode::GetNext ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4946)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNode::GetPrevious ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4947)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNode::GetParent ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4948)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNode::GetFirstChild ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_FirstChild(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4949)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNode::GetLastChild ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_LastChild(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4950)
+inline VGCore::IVGTreeNodesPtr VGCore::IVGTreeNode::GetChildren ( ) {
+    struct IVGTreeNodes * _result = 0;
+    HRESULT _hr = get_Children(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodesPtr(_result, false);
+}
+
+#pragma implementation_key(4951)
+inline VARIANT_BOOL VGCore::IVGTreeNode::GetIsGroupChild ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_IsGroupChild(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4952)
+inline VARIANT_BOOL VGCore::IVGTreeNode::GetSelected ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Selected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4953)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNode::GetNextSelected ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_NextSelected(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4954)
+inline VARIANT_BOOL VGCore::IVGTreeNode::UnLink ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_UnLink(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4955)
+inline VARIANT_BOOL VGCore::IVGTreeNode::LinkBefore ( struct IVGTreeNode * TreeNode ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_LinkBefore(TreeNode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4956)
+inline VARIANT_BOOL VGCore::IVGTreeNode::LinkAfter ( struct IVGTreeNode * TreeNode ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_LinkAfter(TreeNode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4957)
+inline VARIANT_BOOL VGCore::IVGTreeNode::LinkAsChildOf ( struct IVGTreeNode * TreeNode ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_LinkAsChildOf(TreeNode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4958)
+inline VARIANT_BOOL VGCore::IVGTreeNode::MoveToFirst ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_MoveToFirst(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4959)
+inline VARIANT_BOOL VGCore::IVGTreeNode::MoveToLast ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_MoveToLast(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4960)
+inline VARIANT_BOOL VGCore::IVGTreeNode::MoveBefore ( struct IVGTreeNode * TreeNode ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_MoveBefore(TreeNode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4961)
+inline VARIANT_BOOL VGCore::IVGTreeNode::MoveAfter ( struct IVGTreeNode * TreeNode ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_MoveAfter(TreeNode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4962)
+inline VARIANT_BOOL VGCore::IVGTreeNode::IsDescendentOf ( struct IVGTreeNode * TreeNode ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = raw_IsDescendentOf(TreeNode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4963)
+inline HRESULT VGCore::IVGTreeNode::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4964)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNode::GetCopy ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = raw_GetCopy(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4965)
+inline HRESULT VGCore::IVGTreeNode::SwapData ( struct IVGTreeNode * TreeNode ) {
+    HRESULT _hr = raw_SwapData(TreeNode);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4966)
+inline HRESULT VGCore::IVGTreeNode::SwapGroupData ( struct IVGTreeNode * GroupNode ) {
+    HRESULT _hr = raw_SwapGroupData(GroupNode);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4967)
+inline long VGCore::IVGTreeNode::GetHandle ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Handle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4968)
+inline _bstr_t VGCore::IVGTreeNode::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(4969)
+inline void VGCore::IVGTreeNode::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGTreeNodes wrapper method implementations
+//
+
+#pragma implementation_key(4970)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeNodes::GetItem ( long Index ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4971)
+inline long VGCore::IVGTreeNodes::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4972)
+inline IUnknownPtr VGCore::IVGTreeNodes::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+//
+// interface IVGSpread wrapper method implementations
+//
+
+#pragma implementation_key(4973)
+inline long VGCore::IVGSpread::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4974)
+inline double VGCore::IVGSpread::GetSizeWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeWidth(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4975)
+inline double VGCore::IVGSpread::GetSizeHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_SizeHeight(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4976)
+inline double VGCore::IVGSpread::GetLeftX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_LeftX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4977)
+inline double VGCore::IVGSpread::GetRightX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_RightX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4978)
+inline double VGCore::IVGSpread::GetTopY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_TopY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4979)
+inline double VGCore::IVGSpread::GetBottomY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_BottomY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4980)
+inline double VGCore::IVGSpread::GetCenterX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4981)
+inline double VGCore::IVGSpread::GetCenterY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_CenterY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(4982)
+inline VGCore::IVGRectPtr VGCore::IVGSpread::GetBoundingBox ( ) {
+    struct IVGRect * _result = 0;
+    HRESULT _hr = get_BoundingBox(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRectPtr(_result, false);
+}
+
+#pragma implementation_key(4983)
+inline HRESULT VGCore::IVGSpread::GetBoundingBox ( double * x, double * y, double * Width, double * Height ) {
+    HRESULT _hr = raw_GetBoundingBox(x, y, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(4984)
+inline VGCore::IVGPagesPtr VGCore::IVGSpread::GetPages ( ) {
+    struct IVGPages * _result = 0;
+    HRESULT _hr = get_Pages(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagesPtr(_result, false);
+}
+
+#pragma implementation_key(4985)
+inline VGCore::IVGSpreadPtr VGCore::IVGSpread::GetNext ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(4986)
+inline VGCore::IVGSpreadPtr VGCore::IVGSpread::GetPrevious ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(4987)
+inline VGCore::IVGLayersPtr VGCore::IVGSpread::GetLayers ( ) {
+    struct IVGLayers * _result = 0;
+    HRESULT _hr = get_Layers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayersPtr(_result, false);
+}
+
+#pragma implementation_key(4988)
+inline VGCore::IVGLayersPtr VGCore::IVGSpread::GetAllLayers ( ) {
+    struct IVGLayers * _result = 0;
+    HRESULT _hr = get_AllLayers(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayersPtr(_result, false);
+}
+
+#pragma implementation_key(4989)
+inline VGCore::IVGLayerPtr VGCore::IVGSpread::GetActiveLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_ActiveLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(4990)
+inline VGCore::IVGShapesPtr VGCore::IVGSpread::GetShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_Shapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(4991)
+inline VGCore::IVGShapesPtr VGCore::IVGSpread::GetSelectableShapes ( ) {
+    struct IVGShapes * _result = 0;
+    HRESULT _hr = get_SelectableShapes(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapesPtr(_result, false);
+}
+
+#pragma implementation_key(4992)
+inline VGCore::IVGLayerPtr VGCore::IVGSpread::CreateLayer ( _bstr_t LayerName ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = raw_CreateLayer(LayerName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(4993)
+inline VGCore::IVGShapeRangePtr VGCore::IVGSpread::GetGuides ( enum cdrGuideType Type ) {
+    struct IVGShapeRange * _result = 0;
+    HRESULT _hr = get_Guides(Type, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGShapeRangePtr(_result, false);
+}
+
+#pragma implementation_key(4994)
+inline VGCore::IVGTreeNodePtr VGCore::IVGSpread::GetTreeNode ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_TreeNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(4995)
+inline VGCore::IVGLayerPtr VGCore::IVGSpread::GetGuidesLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_GuidesLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(4996)
+inline VGCore::IVGLayerPtr VGCore::IVGSpread::GetDesktopLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_DesktopLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(4997)
+inline VGCore::IVGLayerPtr VGCore::IVGSpread::GetGridLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_GridLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+//
+// interface IVGTreeManager wrapper method implementations
+//
+
+#pragma implementation_key(4998)
+inline VGCore::IVGLayerPtr VGCore::IVGTreeManager::GetVirtualLayer ( ) {
+    struct IVGLayer * _result = 0;
+    HRESULT _hr = get_VirtualLayer(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGLayerPtr(_result, false);
+}
+
+#pragma implementation_key(4999)
+inline long VGCore::IVGTreeManager::GetSelectedNodeCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_SelectedNodeCount(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5000)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeManager::GetFirstSelectedNode ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = get_FirstSelectedNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(5001)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeManager::CreateGroupNode ( ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = raw_CreateGroupNode(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+#pragma implementation_key(5002)
+inline VGCore::IVGTreeNodePtr VGCore::IVGTreeManager::CleanGroupNode ( struct IVGTreeNode * GroupNode ) {
+    struct IVGTreeNode * _result = 0;
+    HRESULT _hr = raw_CleanGroupNode(GroupNode, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGTreeNodePtr(_result, false);
+}
+
+//
+// interface IVGSpreads wrapper method implementations
+//
+
+#pragma implementation_key(5003)
+inline VGCore::IVGSpreadPtr VGCore::IVGSpreads::GetItem ( long Index ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(5004)
+inline long VGCore::IVGSpreads::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5005)
+inline IUnknownPtr VGCore::IVGSpreads::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5006)
+inline VGCore::IVGSpreadPtr VGCore::IVGSpreads::GetFirst ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+#pragma implementation_key(5007)
+inline VGCore::IVGSpreadPtr VGCore::IVGSpreads::GetLast ( ) {
+    struct IVGSpread * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGSpreadPtr(_result, false);
+}
+
+//
+// interface IVGPageMarkup wrapper method implementations
+//
+
+#pragma implementation_key(5008)
+inline _bstr_t VGCore::IVGPageMarkup::GetPageGuid ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_PageGuid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5009)
+inline VGCore::IVGCommentThreadsPtr VGCore::IVGPageMarkup::GetThreads ( ) {
+    struct IVGCommentThreads * _result = 0;
+    HRESULT _hr = get_Threads(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentThreadsPtr(_result, false);
+}
+
+#pragma implementation_key(5010)
+inline VGCore::IVGPagePtr VGCore::IVGPageMarkup::GetPage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Page(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(5011)
+inline VGCore::IVGCommentPtr VGCore::IVGPageMarkup::CreateHotspot ( _bstr_t Text, double x, double y, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_CreateHotspot(Text, x, y, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5012)
+inline VGCore::IVGCommentPtr VGCore::IVGPageMarkup::CreateRectangle ( _bstr_t Text, double x, double y, double Width, double Height, long OutlineWidth, struct IVGColor * FillColor, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_CreateRectangle(Text, x, y, Width, Height, OutlineWidth, FillColor, OutlineColor, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5013)
+inline VGCore::IVGCommentPtr VGCore::IVGPageMarkup::CreateEllipse ( _bstr_t Text, double x, double y, double RadiusX, double RadiusY, long OutlineWidth, struct IVGColor * FillColor, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_CreateEllipse(Text, x, y, RadiusX, RadiusY, OutlineWidth, FillColor, OutlineColor, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5014)
+inline VGCore::IVGCommentPtr VGCore::IVGPageMarkup::CreateArrow ( _bstr_t Text, double x, double y, double VectorX, double VectorY, long OutlineWidth, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_CreateArrow(Text, x, y, VectorX, VectorY, OutlineWidth, OutlineColor, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5015)
+inline VGCore::IVGCommentPtr VGCore::IVGPageMarkup::CreateFreehand ( _bstr_t Text, struct IVGCurve * Curve, long OutlineWidth, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_CreateFreehand(Text, Curve, OutlineWidth, OutlineColor, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5016)
+inline VGCore::IVGCommentPtr VGCore::IVGPageMarkup::CreateHighlight ( _bstr_t Text, struct IVGCurve * Curve, long OutlineWidth, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_CreateHighlight(Text, Curve, OutlineWidth, OutlineColor, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5017)
+inline VGCore::IVGCommentPtr VGCore::IVGPageMarkup::CreateCollaborativeText ( _bstr_t Text, struct IVGShape * Shape, struct IVGColor * OutlineColor, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_CreateCollaborativeText(Text, Shape, OutlineColor, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+//
+// interface IVGCommentThreads wrapper method implementations
+//
+
+#pragma implementation_key(5018)
+inline VGCore::IVGCommentThreadPtr VGCore::IVGCommentThreads::GetItem ( const _variant_t & IndexOrGuid ) {
+    struct IVGCommentThread * _result = 0;
+    HRESULT _hr = get_Item(IndexOrGuid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentThreadPtr(_result, false);
+}
+
+#pragma implementation_key(5019)
+inline IUnknownPtr VGCore::IVGCommentThreads::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5020)
+inline long VGCore::IVGCommentThreads::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5021)
+inline VGCore::IVGCommentThreadPtr VGCore::IVGCommentThreads::GetFirst ( ) {
+    struct IVGCommentThread * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentThreadPtr(_result, false);
+}
+
+#pragma implementation_key(5022)
+inline VGCore::IVGCommentThreadPtr VGCore::IVGCommentThreads::GetLast ( ) {
+    struct IVGCommentThread * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentThreadPtr(_result, false);
+}
+
+//
+// interface IVGCommentThread wrapper method implementations
+//
+
+#pragma implementation_key(5023)
+inline VGCore::IVGCommentTargetPtr VGCore::IVGCommentThread::GetTarget ( ) {
+    struct IVGCommentTarget * _result = 0;
+    HRESULT _hr = get_Target(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentTargetPtr(_result, false);
+}
+
+#pragma implementation_key(5024)
+inline VGCore::IVGCommentsPtr VGCore::IVGCommentThread::GetComments ( ) {
+    struct IVGComments * _result = 0;
+    HRESULT _hr = get_Comments(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentsPtr(_result, false);
+}
+
+#pragma implementation_key(5025)
+inline enum VGCore::cdrCommentStatus VGCore::IVGCommentThread::GetStatus ( ) {
+    enum cdrCommentStatus _result;
+    HRESULT _hr = get_Status(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5026)
+inline VGCore::IVGCommentPtr VGCore::IVGCommentThread::Reply ( _bstr_t Text, struct IVGCommentAuthor * Author ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_Reply(Text, Author, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5027)
+inline HRESULT VGCore::IVGCommentThread::Resolve ( struct IVGCommentAuthor * Author ) {
+    HRESULT _hr = raw_Resolve(Author);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5028)
+inline HRESULT VGCore::IVGCommentThread::Reopen ( struct IVGCommentAuthor * Author ) {
+    HRESULT _hr = raw_Reopen(Author);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5029)
+inline HRESULT VGCore::IVGCommentThread::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5030)
+inline VGCore::IVGPageMarkupPtr VGCore::IVGCommentThread::GetPageMarkup ( ) {
+    struct IVGPageMarkup * _result = 0;
+    HRESULT _hr = get_PageMarkup(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPageMarkupPtr(_result, false);
+}
+
+#pragma implementation_key(5031)
+inline VGCore::IVGCommentAnnotationPtr VGCore::IVGCommentThread::GetAnnotation ( ) {
+    struct IVGCommentAnnotation * _result = 0;
+    HRESULT _hr = get_Annotation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentAnnotationPtr(_result, false);
+}
+
+//
+// interface IVGComment wrapper method implementations
+//
+
+#pragma implementation_key(5032)
+inline VGCore::IVGCommentAuthorPtr VGCore::IVGComment::GetAuthor ( ) {
+    struct IVGCommentAuthor * _result = 0;
+    HRESULT _hr = get_Author(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentAuthorPtr(_result, false);
+}
+
+#pragma implementation_key(5033)
+inline void VGCore::IVGComment::PutRefAuthor ( struct IVGCommentAuthor * * pRet ) {
+    HRESULT _hr = putref_Author(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5034)
+inline _bstr_t VGCore::IVGComment::GetText ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Text(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5035)
+inline void VGCore::IVGComment::PutText ( _bstr_t pRet ) {
+    HRESULT _hr = put_Text(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5036)
+inline DATE VGCore::IVGComment::GetCreationTime ( ) {
+    DATE _result = 0;
+    HRESULT _hr = get_CreationTime(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5037)
+inline void VGCore::IVGComment::PutCreationTime ( DATE pRet ) {
+    HRESULT _hr = put_CreationTime(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5038)
+inline DATE VGCore::IVGComment::GetModificationTime ( ) {
+    DATE _result = 0;
+    HRESULT _hr = get_ModificationTime(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5039)
+inline void VGCore::IVGComment::PutModificationTime ( DATE pRet ) {
+    HRESULT _hr = put_ModificationTime(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5040)
+inline _bstr_t VGCore::IVGComment::GetGuid ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Guid(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5041)
+inline VGCore::IVGCommentThreadPtr VGCore::IVGComment::GetThread ( ) {
+    struct IVGCommentThread * _result = 0;
+    HRESULT _hr = get_Thread(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentThreadPtr(_result, false);
+}
+
+#pragma implementation_key(5042)
+inline _bstr_t VGCore::IVGComment::GetOnlineID ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_OnlineID(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5043)
+inline void VGCore::IVGComment::PutOnlineID ( _bstr_t pRet ) {
+    HRESULT _hr = put_OnlineID(pRet);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5044)
+inline HRESULT VGCore::IVGComment::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+//
+// interface IVGComments wrapper method implementations
+//
+
+#pragma implementation_key(5045)
+inline VGCore::IVGCommentPtr VGCore::IVGComments::GetItem ( const _variant_t & IndexOrGuid ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = get_Item(IndexOrGuid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5046)
+inline IUnknownPtr VGCore::IVGComments::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5047)
+inline long VGCore::IVGComments::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5048)
+inline VGCore::IVGCommentPtr VGCore::IVGComments::GetFirst ( ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = get_First(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5049)
+inline VGCore::IVGCommentPtr VGCore::IVGComments::GetLast ( ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = get_Last(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+//
+// interface IVGDocumentMarkup wrapper method implementations
+//
+
+#pragma implementation_key(5050)
+inline VGCore::IVGCommentPtr VGCore::IVGDocumentMarkup::FindComment ( _bstr_t Guid ) {
+    struct IVGComment * _result = 0;
+    HRESULT _hr = raw_FindComment(Guid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentPtr(_result, false);
+}
+
+#pragma implementation_key(5051)
+inline VGCore::IVGCommentThreadPtr VGCore::IVGDocumentMarkup::FindThread ( _bstr_t Guid ) {
+    struct IVGCommentThread * _result = 0;
+    HRESULT _hr = raw_FindThread(Guid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGCommentThreadPtr(_result, false);
+}
+
+#pragma implementation_key(5052)
+inline VGCore::IVGPagePtr VGCore::IVGDocumentMarkup::FindPage ( _bstr_t Guid ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = raw_FindPage(Guid, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+//
+// interface IVGWindow wrapper method implementations
+//
+
+#pragma implementation_key(5053)
+inline IDispatchPtr VGCore::IVGWindow::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5054)
+inline VGCore::IVGWindowsPtr VGCore::IVGWindow::GetParent ( ) {
+    struct IVGWindows * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowsPtr(_result, false);
+}
+
+#pragma implementation_key(5055)
+inline HRESULT VGCore::IVGWindow::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5056)
+inline HRESULT VGCore::IVGWindow::Close ( ) {
+    HRESULT _hr = raw_Close();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5057)
+inline VARIANT_BOOL VGCore::IVGWindow::GetFullScreen ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FullScreen(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5058)
+inline void VGCore::IVGWindow::PutFullScreen ( VARIANT_BOOL FullScreen ) {
+    HRESULT _hr = put_FullScreen(FullScreen);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5059)
+inline IDispatchPtr VGCore::IVGWindow::GetPage ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Page(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5060)
+inline VARIANT_BOOL VGCore::IVGWindow::GetActive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Active(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5061)
+inline _bstr_t VGCore::IVGWindow::GetCaption ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Caption(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5062)
+inline long VGCore::IVGWindow::GetHeight ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5063)
+inline void VGCore::IVGWindow::PutHeight ( long pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5064)
+inline long VGCore::IVGWindow::GetWidth ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5065)
+inline void VGCore::IVGWindow::PutWidth ( long pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5066)
+inline long VGCore::IVGWindow::GetLeft ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Left(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5067)
+inline void VGCore::IVGWindow::PutLeft ( long pVal ) {
+    HRESULT _hr = put_Left(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5068)
+inline long VGCore::IVGWindow::GetTop ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Top(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5069)
+inline void VGCore::IVGWindow::PutTop ( long pVal ) {
+    HRESULT _hr = put_Top(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5070)
+inline enum VGCore::cdrWindowState VGCore::IVGWindow::GetWindowState ( ) {
+    enum cdrWindowState _result;
+    HRESULT _hr = get_WindowState(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5071)
+inline void VGCore::IVGWindow::PutWindowState ( enum cdrWindowState pVal ) {
+    HRESULT _hr = put_WindowState(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5072)
+inline VGCore::IVGWindowPtr VGCore::IVGWindow::GetPrevious ( ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = get_Previous(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+#pragma implementation_key(5073)
+inline VGCore::IVGWindowPtr VGCore::IVGWindow::GetNext ( ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = get_Next(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+#pragma implementation_key(5074)
+inline long VGCore::IVGWindow::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5075)
+inline VGCore::IVGWindowPtr VGCore::IVGWindow::NewWindow ( ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = raw_NewWindow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+#pragma implementation_key(5076)
+inline HRESULT VGCore::IVGWindow::Refresh ( ) {
+    HRESULT _hr = raw_Refresh();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5077)
+inline VGCore::IVGDocumentPtr VGCore::IVGWindow::GetDocument ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Document(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(5078)
+inline VGCore::IVGActiveViewPtr VGCore::IVGWindow::GetActiveView ( ) {
+    struct IVGActiveView * _result = 0;
+    HRESULT _hr = get_ActiveView(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGActiveViewPtr(_result, false);
+}
+
+#pragma implementation_key(5079)
+inline HRESULT VGCore::IVGWindow::ScreenToDocument ( long XScreen, long YScreen, double * XDoc, double * YDoc ) {
+    HRESULT _hr = raw_ScreenToDocument(XScreen, YScreen, XDoc, YDoc);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5080)
+inline HRESULT VGCore::IVGWindow::DocumentToScreen ( double XDoc, double YDoc, long * XScreen, long * YScreen ) {
+    HRESULT _hr = raw_DocumentToScreen(XDoc, YDoc, XScreen, YScreen);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5081)
+inline long VGCore::IVGWindow::GetHandle ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Handle(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5082)
+inline VGCore::ICUIViewWindowPtr VGCore::IVGWindow::GetViewWindow ( ) {
+    struct ICUIViewWindow * _result = 0;
+    HRESULT _hr = get_ViewWindow(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return ICUIViewWindowPtr(_result, false);
+}
+
+#pragma implementation_key(5083)
+inline double VGCore::IVGWindow::ScreenDistanceToDocumentDistance ( double ScreenDistance ) {
+    double _result = 0;
+    HRESULT _hr = raw_ScreenDistanceToDocumentDistance(ScreenDistance, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5084)
+inline double VGCore::IVGWindow::DocumentDistanceToScreenDistance ( double DocumentDistance ) {
+    double _result = 0;
+    HRESULT _hr = raw_DocumentDistanceToScreenDistance(DocumentDistance, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGWindows wrapper method implementations
+//
+
+#pragma implementation_key(5085)
+inline IDispatchPtr VGCore::IVGWindows::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5086)
+inline IDispatchPtr VGCore::IVGWindows::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5087)
+inline VGCore::IVGWindowPtr VGCore::IVGWindows::GetItem ( long Index ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+#pragma implementation_key(5088)
+inline IUnknownPtr VGCore::IVGWindows::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5089)
+inline long VGCore::IVGWindows::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5090)
+inline HRESULT VGCore::IVGWindows::CloseAll ( ) {
+    HRESULT _hr = raw_CloseAll();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5091)
+inline HRESULT VGCore::IVGWindows::Arrange ( enum cdrWindowArrangeStyle Style ) {
+    HRESULT _hr = raw_Arrange(Style);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5092)
+inline HRESULT VGCore::IVGWindows::Refresh ( ) {
+    HRESULT _hr = raw_Refresh();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5093)
+inline VGCore::IVGWindowPtr VGCore::IVGWindows::FindWindow ( _bstr_t Caption ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = raw_FindWindow(Caption, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+//
+// interface IVGActiveView wrapper method implementations
+//
+
+#pragma implementation_key(5094)
+inline VGCore::IVGApplicationPtr VGCore::IVGActiveView::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(5095)
+inline VGCore::IVGWindowPtr VGCore::IVGActiveView::GetParent ( ) {
+    struct IVGWindow * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWindowPtr(_result, false);
+}
+
+#pragma implementation_key(5096)
+inline enum VGCore::cdrViewType VGCore::IVGActiveView::GetType ( ) {
+    enum cdrViewType _result;
+    HRESULT _hr = get_Type(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5097)
+inline void VGCore::IVGActiveView::PutType ( enum cdrViewType pType ) {
+    HRESULT _hr = put_Type(pType);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5098)
+inline double VGCore::IVGActiveView::GetOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5099)
+inline void VGCore::IVGActiveView::PutOriginX ( double pVal ) {
+    HRESULT _hr = put_OriginX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5100)
+inline double VGCore::IVGActiveView::GetOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5101)
+inline void VGCore::IVGActiveView::PutOriginY ( double pVal ) {
+    HRESULT _hr = put_OriginY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5102)
+inline double VGCore::IVGActiveView::GetZoom ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Zoom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5103)
+inline void VGCore::IVGActiveView::PutZoom ( double pVal ) {
+    HRESULT _hr = put_Zoom(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5104)
+inline HRESULT VGCore::IVGActiveView::ToFitPage ( ) {
+    HRESULT _hr = raw_ToFitPage();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5105)
+inline HRESULT VGCore::IVGActiveView::ToFitPageWidth ( ) {
+    HRESULT _hr = raw_ToFitPageWidth();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5106)
+inline HRESULT VGCore::IVGActiveView::ToFitPageHeight ( ) {
+    HRESULT _hr = raw_ToFitPageHeight();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5107)
+inline HRESULT VGCore::IVGActiveView::ToFitShape ( struct IVGShape * Shape ) {
+    HRESULT _hr = raw_ToFitShape(Shape);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5108)
+inline HRESULT VGCore::IVGActiveView::ToFitSelection ( ) {
+    HRESULT _hr = raw_ToFitSelection();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5109)
+inline HRESULT VGCore::IVGActiveView::ToFitArea ( double Left, double Top, double Right, double Bottom ) {
+    HRESULT _hr = raw_ToFitArea(Left, Top, Right, Bottom);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5110)
+inline HRESULT VGCore::IVGActiveView::ToFitAllObjects ( ) {
+    HRESULT _hr = raw_ToFitAllObjects();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5111)
+inline HRESULT VGCore::IVGActiveView::ToFitShapeRange ( struct IVGShapeRange * ShapeRange ) {
+    HRESULT _hr = raw_ToFitShapeRange(ShapeRange);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5112)
+inline HRESULT VGCore::IVGActiveView::SetViewPoint ( double x, double y, double Zoom ) {
+    HRESULT _hr = raw_SetViewPoint(x, y, Zoom);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5113)
+inline HRESULT VGCore::IVGActiveView::SetActualSize ( ) {
+    HRESULT _hr = raw_SetActualSize();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5114)
+inline HRESULT VGCore::IVGActiveView::ZoomIn ( ) {
+    HRESULT _hr = raw_ZoomIn();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5115)
+inline HRESULT VGCore::IVGActiveView::ZoomInAtPoint ( double x, double y ) {
+    HRESULT _hr = raw_ZoomInAtPoint(x, y);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5116)
+inline HRESULT VGCore::IVGActiveView::ZoomOut ( ) {
+    HRESULT _hr = raw_ZoomOut();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5117)
+inline HRESULT VGCore::IVGActiveView::GetViewArea ( double * x, double * y, double * Width, double * Height ) {
+    HRESULT _hr = raw_GetViewArea(x, y, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5118)
+inline HRESULT VGCore::IVGActiveView::SetViewArea ( double x, double y, double Width, double Height ) {
+    HRESULT _hr = raw_SetViewArea(x, y, Width, Height);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5119)
+inline VARIANT_BOOL VGCore::IVGActiveView::GetSimulateOverprints ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_SimulateOverprints(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5120)
+inline void VGCore::IVGActiveView::PutSimulateOverprints ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_SimulateOverprints(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5121)
+inline VGCore::IVGProofColorSettingsPtr VGCore::IVGActiveView::GetProofColorSettings ( ) {
+    struct IVGProofColorSettings * _result = 0;
+    HRESULT _hr = get_ProofColorSettings(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGProofColorSettingsPtr(_result, false);
+}
+
+#pragma implementation_key(5122)
+inline void VGCore::IVGActiveView::PutProofColorSettings ( struct IVGProofColorSettings * ppVal ) {
+    HRESULT _hr = put_ProofColorSettings(ppVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5123)
+inline VARIANT_BOOL VGCore::IVGActiveView::GetShowProofColors ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_ShowProofColors(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5124)
+inline void VGCore::IVGActiveView::PutShowProofColors ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_ShowProofColors(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGWorkspace wrapper method implementations
+//
+
+#pragma implementation_key(5125)
+inline IDispatchPtr VGCore::IVGWorkspace::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5126)
+inline VGCore::IVGWorkspacesPtr VGCore::IVGWorkspace::GetParent ( ) {
+    struct IVGWorkspaces * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWorkspacesPtr(_result, false);
+}
+
+#pragma implementation_key(5127)
+inline _bstr_t VGCore::IVGWorkspace::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5128)
+inline _bstr_t VGCore::IVGWorkspace::GetDescription ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Description(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5129)
+inline VARIANT_BOOL VGCore::IVGWorkspace::GetDefault ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Default(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5130)
+inline HRESULT VGCore::IVGWorkspace::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5131)
+inline VARIANT_BOOL VGCore::IVGWorkspace::GetActive ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_Active(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGWorkspaces wrapper method implementations
+//
+
+#pragma implementation_key(5132)
+inline IDispatchPtr VGCore::IVGWorkspaces::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5133)
+inline IDispatchPtr VGCore::IVGWorkspaces::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5134)
+inline VGCore::IVGWorkspacePtr VGCore::IVGWorkspaces::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGWorkspace * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGWorkspacePtr(_result, false);
+}
+
+#pragma implementation_key(5135)
+inline IUnknownPtr VGCore::IVGWorkspaces::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5136)
+inline long VGCore::IVGWorkspaces::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGRecentFiles wrapper method implementations
+//
+
+#pragma implementation_key(5137)
+inline VGCore::IVGRecentFilePtr VGCore::IVGRecentFiles::Add ( _bstr_t Name, _bstr_t Path ) {
+    struct IVGRecentFile * _result = 0;
+    HRESULT _hr = raw_Add(Name, Path, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRecentFilePtr(_result, false);
+}
+
+#pragma implementation_key(5138)
+inline IDispatchPtr VGCore::IVGRecentFiles::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5139)
+inline IDispatchPtr VGCore::IVGRecentFiles::GetParent ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5140)
+inline VGCore::IVGRecentFilePtr VGCore::IVGRecentFiles::GetItem ( long Index ) {
+    struct IVGRecentFile * _result = 0;
+    HRESULT _hr = get_Item(Index, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRecentFilePtr(_result, false);
+}
+
+#pragma implementation_key(5141)
+inline IUnknownPtr VGCore::IVGRecentFiles::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5142)
+inline long VGCore::IVGRecentFiles::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5143)
+inline long VGCore::IVGRecentFiles::GetMaximum ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Maximum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGRecentFile wrapper method implementations
+//
+
+#pragma implementation_key(5144)
+inline HRESULT VGCore::IVGRecentFile::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5145)
+inline IDispatchPtr VGCore::IVGRecentFile::Open ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = raw_Open(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5146)
+inline IDispatchPtr VGCore::IVGRecentFile::GetApplication ( ) {
+    IDispatch * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IDispatchPtr(_result, false);
+}
+
+#pragma implementation_key(5147)
+inline VGCore::IVGRecentFilesPtr VGCore::IVGRecentFile::GetParent ( ) {
+    struct IVGRecentFiles * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGRecentFilesPtr(_result, false);
+}
+
+#pragma implementation_key(5148)
+inline long VGCore::IVGRecentFile::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5149)
+inline _bstr_t VGCore::IVGRecentFile::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5150)
+inline void VGCore::IVGRecentFile::PutName ( _bstr_t pVal ) {
+    HRESULT _hr = put_Name(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5151)
+inline _bstr_t VGCore::IVGRecentFile::GetPath ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Path(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5152)
+inline void VGCore::IVGRecentFile::PutPath ( _bstr_t pVal ) {
+    HRESULT _hr = put_Path(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5153)
+inline _bstr_t VGCore::IVGRecentFile::GetFullName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_FullName(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5154)
+inline void VGCore::IVGRecentFile::PutFullName ( _bstr_t pVal ) {
+    HRESULT _hr = put_FullName(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+//
+// interface IVGPageSizes wrapper method implementations
+//
+
+#pragma implementation_key(5155)
+inline VGCore::IVGApplicationPtr VGCore::IVGPageSizes::GetParent ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(5156)
+inline long VGCore::IVGPageSizes::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5157)
+inline VGCore::IVGPageSizePtr VGCore::IVGPageSizes::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGPageSize * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPageSizePtr(_result, false);
+}
+
+#pragma implementation_key(5158)
+inline IUnknownPtr VGCore::IVGPageSizes::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5159)
+inline VGCore::IVGPageSizePtr VGCore::IVGPageSizes::Add ( _bstr_t Name, double Width, double Height ) {
+    struct IVGPageSize * _result = 0;
+    HRESULT _hr = raw_Add(Name, Width, Height, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPageSizePtr(_result, false);
+}
+
+//
+// interface IVGPageSize wrapper method implementations
+//
+
+#pragma implementation_key(5160)
+inline VGCore::IVGPageSizesPtr VGCore::IVGPageSize::GetParent ( ) {
+    struct IVGPageSizes * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPageSizesPtr(_result, false);
+}
+
+#pragma implementation_key(5161)
+inline VARIANT_BOOL VGCore::IVGPageSize::GetBuiltIn ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_BuiltIn(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5162)
+inline _bstr_t VGCore::IVGPageSize::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5163)
+inline double VGCore::IVGPageSize::GetWidth ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Width(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5164)
+inline void VGCore::IVGPageSize::PutWidth ( double pVal ) {
+    HRESULT _hr = put_Width(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5165)
+inline double VGCore::IVGPageSize::GetHeight ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Height(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5166)
+inline void VGCore::IVGPageSize::PutHeight ( double pVal ) {
+    HRESULT _hr = put_Height(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5167)
+inline long VGCore::IVGPageSize::GetIndex ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Index(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5168)
+inline HRESULT VGCore::IVGPageSize::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5169)
+inline VARIANT_BOOL VGCore::IVGPageSize::GetFixedOrientation ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_FixedOrientation(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5170)
+inline enum VGCore::cdrUnit VGCore::IVGPageSize::GetDefaultUnit ( ) {
+    enum cdrUnit _result;
+    HRESULT _hr = get_DefaultUnit(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+//
+// interface IVGViews wrapper method implementations
+//
+
+#pragma implementation_key(5171)
+inline VGCore::IVGApplicationPtr VGCore::IVGViews::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(5172)
+inline VGCore::IVGDocumentPtr VGCore::IVGViews::GetParent ( ) {
+    struct IVGDocument * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGDocumentPtr(_result, false);
+}
+
+#pragma implementation_key(5173)
+inline VGCore::IVGViewPtr VGCore::IVGViews::GetItem ( const _variant_t & IndexOrName ) {
+    struct IVGView * _result = 0;
+    HRESULT _hr = get_Item(IndexOrName, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGViewPtr(_result, false);
+}
+
+#pragma implementation_key(5174)
+inline IUnknownPtr VGCore::IVGViews::Get_NewEnum ( ) {
+    IUnknown * _result = 0;
+    HRESULT _hr = get__NewEnum(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IUnknownPtr(_result, false);
+}
+
+#pragma implementation_key(5175)
+inline long VGCore::IVGViews::GetCount ( ) {
+    long _result = 0;
+    HRESULT _hr = get_Count(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5176)
+inline VGCore::IVGViewPtr VGCore::IVGViews::AddActiveView ( _bstr_t Name ) {
+    struct IVGView * _result = 0;
+    HRESULT _hr = raw_AddActiveView(Name, &_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGViewPtr(_result, false);
+}
+
+//
+// interface IVGView wrapper method implementations
+//
+
+#pragma implementation_key(5177)
+inline VGCore::IVGApplicationPtr VGCore::IVGView::GetApplication ( ) {
+    struct IVGApplication * _result = 0;
+    HRESULT _hr = get_Application(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGApplicationPtr(_result, false);
+}
+
+#pragma implementation_key(5178)
+inline VGCore::IVGViewsPtr VGCore::IVGView::GetParent ( ) {
+    struct IVGViews * _result = 0;
+    HRESULT _hr = get_Parent(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGViewsPtr(_result, false);
+}
+
+#pragma implementation_key(5179)
+inline _bstr_t VGCore::IVGView::GetName ( ) {
+    BSTR _result = 0;
+    HRESULT _hr = get_Name(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _bstr_t(_result, false);
+}
+
+#pragma implementation_key(5180)
+inline void VGCore::IVGView::PutName ( _bstr_t Name ) {
+    HRESULT _hr = put_Name(Name);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5181)
+inline double VGCore::IVGView::GetOriginX ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginX(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5182)
+inline void VGCore::IVGView::PutOriginX ( double pVal ) {
+    HRESULT _hr = put_OriginX(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5183)
+inline double VGCore::IVGView::GetOriginY ( ) {
+    double _result = 0;
+    HRESULT _hr = get_OriginY(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5184)
+inline void VGCore::IVGView::PutOriginY ( double pVal ) {
+    HRESULT _hr = put_OriginY(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5185)
+inline VARIANT_BOOL VGCore::IVGView::GetUsePage ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UsePage(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5186)
+inline void VGCore::IVGView::PutUsePage ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UsePage(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5187)
+inline VGCore::IVGPagePtr VGCore::IVGView::GetPage ( ) {
+    struct IVGPage * _result = 0;
+    HRESULT _hr = get_Page(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return IVGPagePtr(_result, false);
+}
+
+#pragma implementation_key(5188)
+inline void VGCore::IVGView::PutPage ( struct IVGPage * Page ) {
+    HRESULT _hr = put_Page(Page);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5189)
+inline VARIANT_BOOL VGCore::IVGView::GetUseZoom ( ) {
+    VARIANT_BOOL _result = 0;
+    HRESULT _hr = get_UseZoom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5190)
+inline void VGCore::IVGView::PutUseZoom ( VARIANT_BOOL pVal ) {
+    HRESULT _hr = put_UseZoom(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5191)
+inline double VGCore::IVGView::GetZoom ( ) {
+    double _result = 0;
+    HRESULT _hr = get_Zoom(&_result);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _result;
+}
+
+#pragma implementation_key(5192)
+inline void VGCore::IVGView::PutZoom ( double pVal ) {
+    HRESULT _hr = put_Zoom(pVal);
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+}
+
+#pragma implementation_key(5193)
+inline HRESULT VGCore::IVGView::Activate ( ) {
+    HRESULT _hr = raw_Activate();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}
+
+#pragma implementation_key(5194)
+inline HRESULT VGCore::IVGView::Delete ( ) {
+    HRESULT _hr = raw_Delete();
+    if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
+    return _hr;
+}