
#pragma warning( disable: 4049 )  /* more than 64k source lines */

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0347 */
/* Compiler settings for danim.idl:
    Oicf, W0, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __danim_h__
#define __danim_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IDAViewSite_FWD_DEFINED__
#define __IDAViewSite_FWD_DEFINED__
typedef interface IDAViewSite IDAViewSite;
#endif 	/* __IDAViewSite_FWD_DEFINED__ */


#ifndef __IDAView_FWD_DEFINED__
#define __IDAView_FWD_DEFINED__
typedef interface IDAView IDAView;
#endif 	/* __IDAView_FWD_DEFINED__ */


#ifndef __IDABehavior_FWD_DEFINED__
#define __IDABehavior_FWD_DEFINED__
typedef interface IDABehavior IDABehavior;
#endif 	/* __IDABehavior_FWD_DEFINED__ */


#ifndef __IDANumber_FWD_DEFINED__
#define __IDANumber_FWD_DEFINED__
typedef interface IDANumber IDANumber;
#endif 	/* __IDANumber_FWD_DEFINED__ */


#ifndef __IDABvrHook_FWD_DEFINED__
#define __IDABvrHook_FWD_DEFINED__
typedef interface IDABvrHook IDABvrHook;
#endif 	/* __IDABvrHook_FWD_DEFINED__ */


#ifndef __IDADrawingSurface_FWD_DEFINED__
#define __IDADrawingSurface_FWD_DEFINED__
typedef interface IDADrawingSurface IDADrawingSurface;
#endif 	/* __IDADrawingSurface_FWD_DEFINED__ */


#ifndef __IDAPickableResult_FWD_DEFINED__
#define __IDAPickableResult_FWD_DEFINED__
typedef interface IDAPickableResult IDAPickableResult;
#endif 	/* __IDAPickableResult_FWD_DEFINED__ */


#ifndef __IDAEvent_FWD_DEFINED__
#define __IDAEvent_FWD_DEFINED__
typedef interface IDAEvent IDAEvent;
#endif 	/* __IDAEvent_FWD_DEFINED__ */


#ifndef __IDA2Behavior_FWD_DEFINED__
#define __IDA2Behavior_FWD_DEFINED__
typedef interface IDA2Behavior IDA2Behavior;
#endif 	/* __IDA2Behavior_FWD_DEFINED__ */


#ifndef __IDAImport_FWD_DEFINED__
#define __IDAImport_FWD_DEFINED__
typedef interface IDAImport IDAImport;
#endif 	/* __IDAImport_FWD_DEFINED__ */


#ifndef __IDAModifiableBehavior_FWD_DEFINED__
#define __IDAModifiableBehavior_FWD_DEFINED__
typedef interface IDAModifiableBehavior IDAModifiableBehavior;
#endif 	/* __IDAModifiableBehavior_FWD_DEFINED__ */


#ifndef __DABehavior_FWD_DEFINED__
#define __DABehavior_FWD_DEFINED__

#ifdef __cplusplus
typedef class DABehavior DABehavior;
#else
typedef struct DABehavior DABehavior;
#endif /* __cplusplus */

#endif 	/* __DABehavior_FWD_DEFINED__ */


#ifndef __IDAUntilNotifier_FWD_DEFINED__
#define __IDAUntilNotifier_FWD_DEFINED__
typedef interface IDAUntilNotifier IDAUntilNotifier;
#endif 	/* __IDAUntilNotifier_FWD_DEFINED__ */


#ifndef __IDABoolean_FWD_DEFINED__
#define __IDABoolean_FWD_DEFINED__
typedef interface IDABoolean IDABoolean;
#endif 	/* __IDABoolean_FWD_DEFINED__ */


#ifndef __IDACamera_FWD_DEFINED__
#define __IDACamera_FWD_DEFINED__
typedef interface IDACamera IDACamera;
#endif 	/* __IDACamera_FWD_DEFINED__ */


#ifndef __IDAColor_FWD_DEFINED__
#define __IDAColor_FWD_DEFINED__
typedef interface IDAColor IDAColor;
#endif 	/* __IDAColor_FWD_DEFINED__ */


#ifndef __IDAGeometry_FWD_DEFINED__
#define __IDAGeometry_FWD_DEFINED__
typedef interface IDAGeometry IDAGeometry;
#endif 	/* __IDAGeometry_FWD_DEFINED__ */


#ifndef __IDAImage_FWD_DEFINED__
#define __IDAImage_FWD_DEFINED__
typedef interface IDAImage IDAImage;
#endif 	/* __IDAImage_FWD_DEFINED__ */


#ifndef __IDAMatte_FWD_DEFINED__
#define __IDAMatte_FWD_DEFINED__
typedef interface IDAMatte IDAMatte;
#endif 	/* __IDAMatte_FWD_DEFINED__ */


#ifndef __IDAMicrophone_FWD_DEFINED__
#define __IDAMicrophone_FWD_DEFINED__
typedef interface IDAMicrophone IDAMicrophone;
#endif 	/* __IDAMicrophone_FWD_DEFINED__ */


#ifndef __IDAMontage_FWD_DEFINED__
#define __IDAMontage_FWD_DEFINED__
typedef interface IDAMontage IDAMontage;
#endif 	/* __IDAMontage_FWD_DEFINED__ */


#ifndef __IDAPath2_FWD_DEFINED__
#define __IDAPath2_FWD_DEFINED__
typedef interface IDAPath2 IDAPath2;
#endif 	/* __IDAPath2_FWD_DEFINED__ */


#ifndef __IDAPoint2_FWD_DEFINED__
#define __IDAPoint2_FWD_DEFINED__
typedef interface IDAPoint2 IDAPoint2;
#endif 	/* __IDAPoint2_FWD_DEFINED__ */


#ifndef __IDAPoint3_FWD_DEFINED__
#define __IDAPoint3_FWD_DEFINED__
typedef interface IDAPoint3 IDAPoint3;
#endif 	/* __IDAPoint3_FWD_DEFINED__ */


#ifndef __IDASound_FWD_DEFINED__
#define __IDASound_FWD_DEFINED__
typedef interface IDASound IDASound;
#endif 	/* __IDASound_FWD_DEFINED__ */


#ifndef __IDAString_FWD_DEFINED__
#define __IDAString_FWD_DEFINED__
typedef interface IDAString IDAString;
#endif 	/* __IDAString_FWD_DEFINED__ */


#ifndef __IDATransform2_FWD_DEFINED__
#define __IDATransform2_FWD_DEFINED__
typedef interface IDATransform2 IDATransform2;
#endif 	/* __IDATransform2_FWD_DEFINED__ */


#ifndef __IDATransform3_FWD_DEFINED__
#define __IDATransform3_FWD_DEFINED__
typedef interface IDATransform3 IDATransform3;
#endif 	/* __IDATransform3_FWD_DEFINED__ */


#ifndef __IDAVector2_FWD_DEFINED__
#define __IDAVector2_FWD_DEFINED__
typedef interface IDAVector2 IDAVector2;
#endif 	/* __IDAVector2_FWD_DEFINED__ */


#ifndef __IDAVector3_FWD_DEFINED__
#define __IDAVector3_FWD_DEFINED__
typedef interface IDAVector3 IDAVector3;
#endif 	/* __IDAVector3_FWD_DEFINED__ */


#ifndef __IDAFontStyle_FWD_DEFINED__
#define __IDAFontStyle_FWD_DEFINED__
typedef interface IDAFontStyle IDAFontStyle;
#endif 	/* __IDAFontStyle_FWD_DEFINED__ */


#ifndef __IDALineStyle_FWD_DEFINED__
#define __IDALineStyle_FWD_DEFINED__
typedef interface IDALineStyle IDALineStyle;
#endif 	/* __IDALineStyle_FWD_DEFINED__ */


#ifndef __IDAEndStyle_FWD_DEFINED__
#define __IDAEndStyle_FWD_DEFINED__
typedef interface IDAEndStyle IDAEndStyle;
#endif 	/* __IDAEndStyle_FWD_DEFINED__ */


#ifndef __IDAJoinStyle_FWD_DEFINED__
#define __IDAJoinStyle_FWD_DEFINED__
typedef interface IDAJoinStyle IDAJoinStyle;
#endif 	/* __IDAJoinStyle_FWD_DEFINED__ */


#ifndef __IDADashStyle_FWD_DEFINED__
#define __IDADashStyle_FWD_DEFINED__
typedef interface IDADashStyle IDADashStyle;
#endif 	/* __IDADashStyle_FWD_DEFINED__ */


#ifndef __IDABbox2_FWD_DEFINED__
#define __IDABbox2_FWD_DEFINED__
typedef interface IDABbox2 IDABbox2;
#endif 	/* __IDABbox2_FWD_DEFINED__ */


#ifndef __IDABbox3_FWD_DEFINED__
#define __IDABbox3_FWD_DEFINED__
typedef interface IDABbox3 IDABbox3;
#endif 	/* __IDABbox3_FWD_DEFINED__ */


#ifndef __IDAPair_FWD_DEFINED__
#define __IDAPair_FWD_DEFINED__
typedef interface IDAPair IDAPair;
#endif 	/* __IDAPair_FWD_DEFINED__ */


#ifndef __IDAArray_FWD_DEFINED__
#define __IDAArray_FWD_DEFINED__
typedef interface IDAArray IDAArray;
#endif 	/* __IDAArray_FWD_DEFINED__ */


#ifndef __IDATuple_FWD_DEFINED__
#define __IDATuple_FWD_DEFINED__
typedef interface IDATuple IDATuple;
#endif 	/* __IDATuple_FWD_DEFINED__ */


#ifndef __IDAUserData_FWD_DEFINED__
#define __IDAUserData_FWD_DEFINED__
typedef interface IDAUserData IDAUserData;
#endif 	/* __IDAUserData_FWD_DEFINED__ */


#ifndef __IDA2Geometry_FWD_DEFINED__
#define __IDA2Geometry_FWD_DEFINED__
typedef interface IDA2Geometry IDA2Geometry;
#endif 	/* __IDA2Geometry_FWD_DEFINED__ */


#ifndef __IDA2Image_FWD_DEFINED__
#define __IDA2Image_FWD_DEFINED__
typedef interface IDA2Image IDA2Image;
#endif 	/* __IDA2Image_FWD_DEFINED__ */


#ifndef __IDA2FontStyle_FWD_DEFINED__
#define __IDA2FontStyle_FWD_DEFINED__
typedef interface IDA2FontStyle IDA2FontStyle;
#endif 	/* __IDA2FontStyle_FWD_DEFINED__ */


#ifndef __IDA2LineStyle_FWD_DEFINED__
#define __IDA2LineStyle_FWD_DEFINED__
typedef interface IDA2LineStyle IDA2LineStyle;
#endif 	/* __IDA2LineStyle_FWD_DEFINED__ */


#ifndef __IDA2Event_FWD_DEFINED__
#define __IDA2Event_FWD_DEFINED__
typedef interface IDA2Event IDA2Event;
#endif 	/* __IDA2Event_FWD_DEFINED__ */


#ifndef __IDA2Array_FWD_DEFINED__
#define __IDA2Array_FWD_DEFINED__
typedef interface IDA2Array IDA2Array;
#endif 	/* __IDA2Array_FWD_DEFINED__ */


#ifndef __IDA2Color_FWD_DEFINED__
#define __IDA2Color_FWD_DEFINED__
typedef interface IDA2Color IDA2Color;
#endif 	/* __IDA2Color_FWD_DEFINED__ */


#ifndef __IDA3Geometry_FWD_DEFINED__
#define __IDA3Geometry_FWD_DEFINED__
typedef interface IDA3Geometry IDA3Geometry;
#endif 	/* __IDA3Geometry_FWD_DEFINED__ */


#ifndef __IDA3Image_FWD_DEFINED__
#define __IDA3Image_FWD_DEFINED__
typedef interface IDA3Image IDA3Image;
#endif 	/* __IDA3Image_FWD_DEFINED__ */


#ifndef __IDA3Array_FWD_DEFINED__
#define __IDA3Array_FWD_DEFINED__
typedef interface IDA3Array IDA3Array;
#endif 	/* __IDA3Array_FWD_DEFINED__ */


#ifndef __IDAPreferences_FWD_DEFINED__
#define __IDAPreferences_FWD_DEFINED__
typedef interface IDAPreferences IDAPreferences;
#endif 	/* __IDAPreferences_FWD_DEFINED__ */


#ifndef __IDA2View_FWD_DEFINED__
#define __IDA2View_FWD_DEFINED__
typedef interface IDA2View IDA2View;
#endif 	/* __IDA2View_FWD_DEFINED__ */


#ifndef __IDA3View_FWD_DEFINED__
#define __IDA3View_FWD_DEFINED__
typedef interface IDA3View IDA3View;
#endif 	/* __IDA3View_FWD_DEFINED__ */


#ifndef ___IDAViewEvents_FWD_DEFINED__
#define ___IDAViewEvents_FWD_DEFINED__
typedef interface _IDAViewEvents _IDAViewEvents;
#endif 	/* ___IDAViewEvents_FWD_DEFINED__ */


#ifndef __DAView_FWD_DEFINED__
#define __DAView_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAView DAView;
#else
typedef struct DAView DAView;
#endif /* __cplusplus */

#endif 	/* __DAView_FWD_DEFINED__ */


#ifndef __IDASite_FWD_DEFINED__
#define __IDASite_FWD_DEFINED__
typedef interface IDASite IDASite;
#endif 	/* __IDASite_FWD_DEFINED__ */


#ifndef __IDAImportationResult_FWD_DEFINED__
#define __IDAImportationResult_FWD_DEFINED__
typedef interface IDAImportationResult IDAImportationResult;
#endif 	/* __IDAImportationResult_FWD_DEFINED__ */


#ifndef __IDADXTransformResult_FWD_DEFINED__
#define __IDADXTransformResult_FWD_DEFINED__
typedef interface IDADXTransformResult IDADXTransformResult;
#endif 	/* __IDADXTransformResult_FWD_DEFINED__ */


#ifndef __IDAStatics_FWD_DEFINED__
#define __IDAStatics_FWD_DEFINED__
typedef interface IDAStatics IDAStatics;
#endif 	/* __IDAStatics_FWD_DEFINED__ */


#ifndef __IDA2Statics_FWD_DEFINED__
#define __IDA2Statics_FWD_DEFINED__
typedef interface IDA2Statics IDA2Statics;
#endif 	/* __IDA2Statics_FWD_DEFINED__ */


#ifndef __IDA3Statics_FWD_DEFINED__
#define __IDA3Statics_FWD_DEFINED__
typedef interface IDA3Statics IDA3Statics;
#endif 	/* __IDA3Statics_FWD_DEFINED__ */


#ifndef __DAStatics_FWD_DEFINED__
#define __DAStatics_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAStatics DAStatics;
#else
typedef struct DAStatics DAStatics;
#endif /* __cplusplus */

#endif 	/* __DAStatics_FWD_DEFINED__ */


#ifndef __IDAViewerControl_FWD_DEFINED__
#define __IDAViewerControl_FWD_DEFINED__
typedef interface IDAViewerControl IDAViewerControl;
#endif 	/* __IDAViewerControl_FWD_DEFINED__ */


#ifndef __IDAViewerControlWindowed_FWD_DEFINED__
#define __IDAViewerControlWindowed_FWD_DEFINED__
typedef interface IDAViewerControlWindowed IDAViewerControlWindowed;
#endif 	/* __IDAViewerControlWindowed_FWD_DEFINED__ */


#ifndef __IDA2ViewerControl_FWD_DEFINED__
#define __IDA2ViewerControl_FWD_DEFINED__
typedef interface IDA2ViewerControl IDA2ViewerControl;
#endif 	/* __IDA2ViewerControl_FWD_DEFINED__ */


#ifndef __IDA2ViewerControlWindowed_FWD_DEFINED__
#define __IDA2ViewerControlWindowed_FWD_DEFINED__
typedef interface IDA2ViewerControlWindowed IDA2ViewerControlWindowed;
#endif 	/* __IDA2ViewerControlWindowed_FWD_DEFINED__ */


#ifndef __IDA3ViewerControl_FWD_DEFINED__
#define __IDA3ViewerControl_FWD_DEFINED__
typedef interface IDA3ViewerControl IDA3ViewerControl;
#endif 	/* __IDA3ViewerControl_FWD_DEFINED__ */


#ifndef __IDA3ViewerControlWindowed_FWD_DEFINED__
#define __IDA3ViewerControlWindowed_FWD_DEFINED__
typedef interface IDA3ViewerControlWindowed IDA3ViewerControlWindowed;
#endif 	/* __IDA3ViewerControlWindowed_FWD_DEFINED__ */


#ifndef ___IDAViewerControlEvents_FWD_DEFINED__
#define ___IDAViewerControlEvents_FWD_DEFINED__
typedef interface _IDAViewerControlEvents _IDAViewerControlEvents;
#endif 	/* ___IDAViewerControlEvents_FWD_DEFINED__ */


#ifndef __DAViewerControl_FWD_DEFINED__
#define __DAViewerControl_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAViewerControl DAViewerControl;
#else
typedef struct DAViewerControl DAViewerControl;
#endif /* __cplusplus */

#endif 	/* __DAViewerControl_FWD_DEFINED__ */


#ifndef __DAViewerControlWindowed_FWD_DEFINED__
#define __DAViewerControlWindowed_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAViewerControlWindowed DAViewerControlWindowed;
#else
typedef struct DAViewerControlWindowed DAViewerControlWindowed;
#endif /* __cplusplus */

#endif 	/* __DAViewerControlWindowed_FWD_DEFINED__ */


#ifndef __DABoolean_FWD_DEFINED__
#define __DABoolean_FWD_DEFINED__

#ifdef __cplusplus
typedef class DABoolean DABoolean;
#else
typedef struct DABoolean DABoolean;
#endif /* __cplusplus */

#endif 	/* __DABoolean_FWD_DEFINED__ */


#ifndef __DACamera_FWD_DEFINED__
#define __DACamera_FWD_DEFINED__

#ifdef __cplusplus
typedef class DACamera DACamera;
#else
typedef struct DACamera DACamera;
#endif /* __cplusplus */

#endif 	/* __DACamera_FWD_DEFINED__ */


#ifndef __DAColor_FWD_DEFINED__
#define __DAColor_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAColor DAColor;
#else
typedef struct DAColor DAColor;
#endif /* __cplusplus */

#endif 	/* __DAColor_FWD_DEFINED__ */


#ifndef __DAGeometry_FWD_DEFINED__
#define __DAGeometry_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAGeometry DAGeometry;
#else
typedef struct DAGeometry DAGeometry;
#endif /* __cplusplus */

#endif 	/* __DAGeometry_FWD_DEFINED__ */


#ifndef __DAImage_FWD_DEFINED__
#define __DAImage_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAImage DAImage;
#else
typedef struct DAImage DAImage;
#endif /* __cplusplus */

#endif 	/* __DAImage_FWD_DEFINED__ */


#ifndef __DAMatte_FWD_DEFINED__
#define __DAMatte_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAMatte DAMatte;
#else
typedef struct DAMatte DAMatte;
#endif /* __cplusplus */

#endif 	/* __DAMatte_FWD_DEFINED__ */


#ifndef __DAMicrophone_FWD_DEFINED__
#define __DAMicrophone_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAMicrophone DAMicrophone;
#else
typedef struct DAMicrophone DAMicrophone;
#endif /* __cplusplus */

#endif 	/* __DAMicrophone_FWD_DEFINED__ */


#ifndef __DAMontage_FWD_DEFINED__
#define __DAMontage_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAMontage DAMontage;
#else
typedef struct DAMontage DAMontage;
#endif /* __cplusplus */

#endif 	/* __DAMontage_FWD_DEFINED__ */


#ifndef __DANumber_FWD_DEFINED__
#define __DANumber_FWD_DEFINED__

#ifdef __cplusplus
typedef class DANumber DANumber;
#else
typedef struct DANumber DANumber;
#endif /* __cplusplus */

#endif 	/* __DANumber_FWD_DEFINED__ */


#ifndef __DAPath2_FWD_DEFINED__
#define __DAPath2_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAPath2 DAPath2;
#else
typedef struct DAPath2 DAPath2;
#endif /* __cplusplus */

#endif 	/* __DAPath2_FWD_DEFINED__ */


#ifndef __DAPoint2_FWD_DEFINED__
#define __DAPoint2_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAPoint2 DAPoint2;
#else
typedef struct DAPoint2 DAPoint2;
#endif /* __cplusplus */

#endif 	/* __DAPoint2_FWD_DEFINED__ */


#ifndef __DAPoint3_FWD_DEFINED__
#define __DAPoint3_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAPoint3 DAPoint3;
#else
typedef struct DAPoint3 DAPoint3;
#endif /* __cplusplus */

#endif 	/* __DAPoint3_FWD_DEFINED__ */


#ifndef __DASound_FWD_DEFINED__
#define __DASound_FWD_DEFINED__

#ifdef __cplusplus
typedef class DASound DASound;
#else
typedef struct DASound DASound;
#endif /* __cplusplus */

#endif 	/* __DASound_FWD_DEFINED__ */


#ifndef __DAString_FWD_DEFINED__
#define __DAString_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAString DAString;
#else
typedef struct DAString DAString;
#endif /* __cplusplus */

#endif 	/* __DAString_FWD_DEFINED__ */


#ifndef __DATransform2_FWD_DEFINED__
#define __DATransform2_FWD_DEFINED__

#ifdef __cplusplus
typedef class DATransform2 DATransform2;
#else
typedef struct DATransform2 DATransform2;
#endif /* __cplusplus */

#endif 	/* __DATransform2_FWD_DEFINED__ */


#ifndef __DATransform3_FWD_DEFINED__
#define __DATransform3_FWD_DEFINED__

#ifdef __cplusplus
typedef class DATransform3 DATransform3;
#else
typedef struct DATransform3 DATransform3;
#endif /* __cplusplus */

#endif 	/* __DATransform3_FWD_DEFINED__ */


#ifndef __DAVector2_FWD_DEFINED__
#define __DAVector2_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAVector2 DAVector2;
#else
typedef struct DAVector2 DAVector2;
#endif /* __cplusplus */

#endif 	/* __DAVector2_FWD_DEFINED__ */


#ifndef __DAVector3_FWD_DEFINED__
#define __DAVector3_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAVector3 DAVector3;
#else
typedef struct DAVector3 DAVector3;
#endif /* __cplusplus */

#endif 	/* __DAVector3_FWD_DEFINED__ */


#ifndef __DAFontStyle_FWD_DEFINED__
#define __DAFontStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAFontStyle DAFontStyle;
#else
typedef struct DAFontStyle DAFontStyle;
#endif /* __cplusplus */

#endif 	/* __DAFontStyle_FWD_DEFINED__ */


#ifndef __DALineStyle_FWD_DEFINED__
#define __DALineStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class DALineStyle DALineStyle;
#else
typedef struct DALineStyle DALineStyle;
#endif /* __cplusplus */

#endif 	/* __DALineStyle_FWD_DEFINED__ */


#ifndef __DAEndStyle_FWD_DEFINED__
#define __DAEndStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAEndStyle DAEndStyle;
#else
typedef struct DAEndStyle DAEndStyle;
#endif /* __cplusplus */

#endif 	/* __DAEndStyle_FWD_DEFINED__ */


#ifndef __DAJoinStyle_FWD_DEFINED__
#define __DAJoinStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAJoinStyle DAJoinStyle;
#else
typedef struct DAJoinStyle DAJoinStyle;
#endif /* __cplusplus */

#endif 	/* __DAJoinStyle_FWD_DEFINED__ */


#ifndef __DADashStyle_FWD_DEFINED__
#define __DADashStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class DADashStyle DADashStyle;
#else
typedef struct DADashStyle DADashStyle;
#endif /* __cplusplus */

#endif 	/* __DADashStyle_FWD_DEFINED__ */


#ifndef __DABbox2_FWD_DEFINED__
#define __DABbox2_FWD_DEFINED__

#ifdef __cplusplus
typedef class DABbox2 DABbox2;
#else
typedef struct DABbox2 DABbox2;
#endif /* __cplusplus */

#endif 	/* __DABbox2_FWD_DEFINED__ */


#ifndef __DABbox3_FWD_DEFINED__
#define __DABbox3_FWD_DEFINED__

#ifdef __cplusplus
typedef class DABbox3 DABbox3;
#else
typedef struct DABbox3 DABbox3;
#endif /* __cplusplus */

#endif 	/* __DABbox3_FWD_DEFINED__ */


#ifndef __DAPair_FWD_DEFINED__
#define __DAPair_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAPair DAPair;
#else
typedef struct DAPair DAPair;
#endif /* __cplusplus */

#endif 	/* __DAPair_FWD_DEFINED__ */


#ifndef __DAEvent_FWD_DEFINED__
#define __DAEvent_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAEvent DAEvent;
#else
typedef struct DAEvent DAEvent;
#endif /* __cplusplus */

#endif 	/* __DAEvent_FWD_DEFINED__ */


#ifndef __DAArray_FWD_DEFINED__
#define __DAArray_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAArray DAArray;
#else
typedef struct DAArray DAArray;
#endif /* __cplusplus */

#endif 	/* __DAArray_FWD_DEFINED__ */


#ifndef __DATuple_FWD_DEFINED__
#define __DATuple_FWD_DEFINED__

#ifdef __cplusplus
typedef class DATuple DATuple;
#else
typedef struct DATuple DATuple;
#endif /* __cplusplus */

#endif 	/* __DATuple_FWD_DEFINED__ */


#ifndef __DAUserData_FWD_DEFINED__
#define __DAUserData_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAUserData DAUserData;
#else
typedef struct DAUserData DAUserData;
#endif /* __cplusplus */

#endif 	/* __DAUserData_FWD_DEFINED__ */


#ifndef __DAImportationResult_FWD_DEFINED__
#define __DAImportationResult_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAImportationResult DAImportationResult;
#else
typedef struct DAImportationResult DAImportationResult;
#endif /* __cplusplus */

#endif 	/* __DAImportationResult_FWD_DEFINED__ */


#ifndef __DAPickableResult_FWD_DEFINED__
#define __DAPickableResult_FWD_DEFINED__

#ifdef __cplusplus
typedef class DAPickableResult DAPickableResult;
#else
typedef struct DAPickableResult DAPickableResult;
#endif /* __cplusplus */

#endif 	/* __DAPickableResult_FWD_DEFINED__ */


/* header files for imported files */
#include "oleidl.h"
#include "servprov.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_danim_0000 */
/* [local] */ 

typedef IDAPickableResult *PickableResultPtr;



extern RPC_IF_HANDLE __MIDL_itf_danim_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_danim_0000_v0_0_s_ifspec;


#ifndef __DirectAnimation_LIBRARY_DEFINED__
#define __DirectAnimation_LIBRARY_DEFINED__

/* library DirectAnimation */
/* [version][lcid][helpstring][uuid] */ 









/* [helpstring] */ 
enum __MIDL___MIDL_itf_danim_0139_0001
    {	DAContinueTimeline	= 1L << 0,
	DASwitchFinal	= 1L << 1,
	DASwitchNextTick	= 1L << 2
    } ;
typedef /* [public][helpstring] */ 
enum __MIDL___MIDL_itf_danim_0140_0001
    {	DAQUAL_AA_TEXT_ON	= 1L << 0,
	DAQUAL_AA_TEXT_OFF	= 1L << 1,
	DAQUAL_AA_LINES_ON	= 1L << 2,
	DAQUAL_AA_LINES_OFF	= 1L << 3,
	DAQUAL_AA_SOLIDS_ON	= 1L << 4,
	DAQUAL_AA_SOLIDS_OFF	= 1L << 5,
	DAQUAL_AA_CLIP_ON	= 1L << 6,
	DAQUAL_AA_CLIP_OFF	= 1L << 7,
	DAQUAL_MSHTML_COLORS_ON	= 1L << 8,
	DAQUAL_MSHTML_COLORS_OFF	= 1L << 9,
	DAQUAL_QUALITY_TRANSFORMS_ON	= 1L << 10,
	DAQUAL_QUALITY_TRANSFORMS_OFF	= 1L << 11
    } 	DA_IMAGE_QUALITY_FLAGS;

typedef /* [public][helpstring] */ 
enum __MIDL___MIDL_itf_danim_0140_0002
    {	DAINVRECT_MERGE_BOXES	= 1L << 0
    } 	DA_INVALIDATED_RECTS_FLAGS;

typedef /* [public][helpstring] */ 
enum __MIDL___MIDL_itf_danim_0140_0003
    {	DASHSTYLE_SOLID	= 0,
	DASHSTYLE_DASH	= 1L,
	DASHSTYLE_DOT	= 2L,
	DASHSTYLE_DASHDOT	= 3L,
	DASHSTYLE_DASHDOTDOT	= 4L,
	DASHSTYLE_NULL	= 5L
    } 	DA_DASHSTYLE_ENUM;

typedef /* [public][helpstring] */ 
enum __MIDL___MIDL_itf_danim_0140_0004
    {	ENDSTYLE_ROUND	= 0,
	ENDSTYLE_SQUARE	= 1L,
	ENDSTYLE_FLAT	= 2L
    } 	DA_ENDSTYLE_ENUM;

typedef /* [public][helpstring] */ 
enum __MIDL___MIDL_itf_danim_0140_0005
    {	JOINSTYLE_ROUND	= 0,
	JOINSTYLE_BEVEL	= 1L,
	JOINSTYLE_MITER	= 2L
    } 	DA_JOINSTYLE_ENUM;






































/* [helpstring] */ 
enum __MIDL___MIDL_itf_danim_0187_0001
    {	DAAsyncFlag	= 0x1
    } ;
typedef /* [public][public][public] */ 
enum __MIDL___MIDL_itf_danim_0190_0001
    {	DAEmpty	= 0,
	DASolid	= 1,
	DADash	= 2
    } 	DA_DASH_STYLE;

typedef /* [public][public][public] */ 
enum __MIDL___MIDL_itf_danim_0190_0002
    {	DAEndFlat	= 0,
	DAEndSquare	= 1,
	DAEndRound	= 2
    } 	DA_END_STYLE;

typedef /* [public][public][public] */ 
enum __MIDL___MIDL_itf_danim_0190_0003
    {	DAJoinBevel	= 0,
	DAJoinRound	= 1,
	DAJoinMiter	= 2
    } 	DA_JOIN_STYLE;

typedef /* [public][public][public] */ 
enum __MIDL___MIDL_itf_danim_0198_0001
    {	DAMultimediaTimer	= 0,
	DAContainerTimer	= 1,
	DAWMTimer	= 2
    } 	DA_TIMER_SOURCE;


EXTERN_C const IID LIBID_DirectAnimation;

#ifndef __IDAViewSite_INTERFACE_DEFINED__
#define __IDAViewSite_INTERFACE_DEFINED__

/* interface IDAViewSite */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAViewSite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("283807B3-2C60-11d0-A31D-00AA00B92C03")
    IDAViewSite : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetStatusText( 
            /* [in] */ BSTR StatusText) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAViewSiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAViewSite * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAViewSite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAViewSite * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAViewSite * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAViewSite * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAViewSite * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAViewSite * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *SetStatusText )( 
            IDAViewSite * This,
            /* [in] */ BSTR StatusText);
        
        END_INTERFACE
    } IDAViewSiteVtbl;

    interface IDAViewSite
    {
        CONST_VTBL struct IDAViewSiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAViewSite_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAViewSite_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAViewSite_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAViewSite_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAViewSite_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAViewSite_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAViewSite_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAViewSite_SetStatusText(This,StatusText)	\
    (This)->lpVtbl -> SetStatusText(This,StatusText)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAViewSite_SetStatusText_Proxy( 
    IDAViewSite * This,
    /* [in] */ BSTR StatusText);


void __RPC_STUB IDAViewSite_SetStatusText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAViewSite_INTERFACE_DEFINED__ */


#ifndef __IDAView_INTERFACE_DEFINED__
#define __IDAView_INTERFACE_DEFINED__

/* interface IDAView */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("283807B4-2C60-11d0-A31D-00AA00B92C03")
    IDAView : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SimulationTime( 
            /* [retval][out] */ double *simTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Tick( 
            /* [in] */ double simTime,
            /* [retval][out] */ VARIANT_BOOL *needToRender) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Render( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddBvrToRun( 
            /* [in] */ IDABehavior *bvr,
            /* [retval][out] */ LONG *pId) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveRunningBvr( 
            /* [in] */ LONG id) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StartModel( 
            /* [in] */ IDAImage *pImage,
            /* [in] */ IDASound *pSound,
            /* [in] */ double startTime) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StopModel( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Window( 
            /* [retval][out] */ long *hwnd) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Window( 
            /* [in] */ long hwnd) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IDirectDrawSurface( 
            /* [retval][out] */ IUnknown **ddsurf) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IDirectDrawSurface( 
            /* [in] */ IUnknown *ddsurf) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DC( 
            /* [retval][out] */ HDC *dc) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DC( 
            /* [in] */ HDC dc) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CompositeDirectlyToTarget( 
            /* [retval][out] */ VARIANT_BOOL *composeToTarget) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CompositeDirectlyToTarget( 
            /* [in] */ VARIANT_BOOL composeToTarget) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetViewport( 
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetClipRect( 
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RePaint( 
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PaletteChanged( 
            /* [in] */ VARIANT_BOOL bNew) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Site( 
            /* [retval][out] */ IDAViewSite **pViewSite) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Site( 
            /* [in] */ IDAViewSite *pViewSite) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClientSite( 
            /* [in] */ IOleClientSite *pClientSite) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientSite( 
            /* [retval][out] */ IOleClientSite **pClientSite) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnMouseMove( 
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE modifiers) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnMouseButton( 
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE button,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnKey( 
            /* [in] */ double when,
            /* [in] */ LONG key,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnFocus( 
            /* [in] */ VARIANT_BOOL bHasFocus) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Preferences( 
            /* [retval][out] */ IDAPreferences **prefs) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryHitPoint( 
            /* [in] */ DWORD dwAspect,
            /* [in] */ LPCRECT prcBounds,
            /* [in] */ POINT ptLoc,
            /* [in] */ LONG lCloseHint,
            /* [retval][out] */ DWORD *pHitResult) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAView * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAView * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAView * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAView * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAView * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SimulationTime )( 
            IDAView * This,
            /* [retval][out] */ double *simTime);
        
        HRESULT ( STDMETHODCALLTYPE *Tick )( 
            IDAView * This,
            /* [in] */ double simTime,
            /* [retval][out] */ VARIANT_BOOL *needToRender);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            IDAView * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddBvrToRun )( 
            IDAView * This,
            /* [in] */ IDABehavior *bvr,
            /* [retval][out] */ LONG *pId);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveRunningBvr )( 
            IDAView * This,
            /* [in] */ LONG id);
        
        HRESULT ( STDMETHODCALLTYPE *StartModel )( 
            IDAView * This,
            /* [in] */ IDAImage *pImage,
            /* [in] */ IDASound *pSound,
            /* [in] */ double startTime);
        
        HRESULT ( STDMETHODCALLTYPE *StopModel )( 
            IDAView * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Window )( 
            IDAView * This,
            /* [retval][out] */ long *hwnd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Window )( 
            IDAView * This,
            /* [in] */ long hwnd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IDirectDrawSurface )( 
            IDAView * This,
            /* [retval][out] */ IUnknown **ddsurf);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IDirectDrawSurface )( 
            IDAView * This,
            /* [in] */ IUnknown *ddsurf);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DC )( 
            IDAView * This,
            /* [retval][out] */ HDC *dc);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DC )( 
            IDAView * This,
            /* [in] */ HDC dc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CompositeDirectlyToTarget )( 
            IDAView * This,
            /* [retval][out] */ VARIANT_BOOL *composeToTarget);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CompositeDirectlyToTarget )( 
            IDAView * This,
            /* [in] */ VARIANT_BOOL composeToTarget);
        
        HRESULT ( STDMETHODCALLTYPE *SetViewport )( 
            IDAView * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *SetClipRect )( 
            IDAView * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *RePaint )( 
            IDAView * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *PaletteChanged )( 
            IDAView * This,
            /* [in] */ VARIANT_BOOL bNew);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Site )( 
            IDAView * This,
            /* [retval][out] */ IDAViewSite **pViewSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Site )( 
            IDAView * This,
            /* [in] */ IDAViewSite *pViewSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientSite )( 
            IDAView * This,
            /* [in] */ IOleClientSite *pClientSite);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientSite )( 
            IDAView * This,
            /* [retval][out] */ IOleClientSite **pClientSite);
        
        HRESULT ( STDMETHODCALLTYPE *OnMouseMove )( 
            IDAView * This,
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnMouseButton )( 
            IDAView * This,
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE button,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnKey )( 
            IDAView * This,
            /* [in] */ double when,
            /* [in] */ LONG key,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnFocus )( 
            IDAView * This,
            /* [in] */ VARIANT_BOOL bHasFocus);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Preferences )( 
            IDAView * This,
            /* [retval][out] */ IDAPreferences **prefs);
        
        HRESULT ( STDMETHODCALLTYPE *QueryHitPoint )( 
            IDAView * This,
            /* [in] */ DWORD dwAspect,
            /* [in] */ LPCRECT prcBounds,
            /* [in] */ POINT ptLoc,
            /* [in] */ LONG lCloseHint,
            /* [retval][out] */ DWORD *pHitResult);
        
        END_INTERFACE
    } IDAViewVtbl;

    interface IDAView
    {
        CONST_VTBL struct IDAViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAView_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAView_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAView_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAView_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAView_get_SimulationTime(This,simTime)	\
    (This)->lpVtbl -> get_SimulationTime(This,simTime)

#define IDAView_Tick(This,simTime,needToRender)	\
    (This)->lpVtbl -> Tick(This,simTime,needToRender)

#define IDAView_Render(This)	\
    (This)->lpVtbl -> Render(This)

#define IDAView_AddBvrToRun(This,bvr,pId)	\
    (This)->lpVtbl -> AddBvrToRun(This,bvr,pId)

#define IDAView_RemoveRunningBvr(This,id)	\
    (This)->lpVtbl -> RemoveRunningBvr(This,id)

#define IDAView_StartModel(This,pImage,pSound,startTime)	\
    (This)->lpVtbl -> StartModel(This,pImage,pSound,startTime)

#define IDAView_StopModel(This)	\
    (This)->lpVtbl -> StopModel(This)

#define IDAView_get_Window(This,hwnd)	\
    (This)->lpVtbl -> get_Window(This,hwnd)

#define IDAView_put_Window(This,hwnd)	\
    (This)->lpVtbl -> put_Window(This,hwnd)

#define IDAView_get_IDirectDrawSurface(This,ddsurf)	\
    (This)->lpVtbl -> get_IDirectDrawSurface(This,ddsurf)

#define IDAView_put_IDirectDrawSurface(This,ddsurf)	\
    (This)->lpVtbl -> put_IDirectDrawSurface(This,ddsurf)

#define IDAView_get_DC(This,dc)	\
    (This)->lpVtbl -> get_DC(This,dc)

#define IDAView_put_DC(This,dc)	\
    (This)->lpVtbl -> put_DC(This,dc)

#define IDAView_get_CompositeDirectlyToTarget(This,composeToTarget)	\
    (This)->lpVtbl -> get_CompositeDirectlyToTarget(This,composeToTarget)

#define IDAView_put_CompositeDirectlyToTarget(This,composeToTarget)	\
    (This)->lpVtbl -> put_CompositeDirectlyToTarget(This,composeToTarget)

#define IDAView_SetViewport(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> SetViewport(This,xPos,yPos,w,h)

#define IDAView_SetClipRect(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> SetClipRect(This,xPos,yPos,w,h)

#define IDAView_RePaint(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> RePaint(This,xPos,yPos,w,h)

#define IDAView_PaletteChanged(This,bNew)	\
    (This)->lpVtbl -> PaletteChanged(This,bNew)

#define IDAView_get_Site(This,pViewSite)	\
    (This)->lpVtbl -> get_Site(This,pViewSite)

#define IDAView_put_Site(This,pViewSite)	\
    (This)->lpVtbl -> put_Site(This,pViewSite)

#define IDAView_put_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> put_ClientSite(This,pClientSite)

#define IDAView_get_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> get_ClientSite(This,pClientSite)

#define IDAView_OnMouseMove(This,when,xPos,yPos,modifiers)	\
    (This)->lpVtbl -> OnMouseMove(This,when,xPos,yPos,modifiers)

#define IDAView_OnMouseButton(This,when,xPos,yPos,button,bPressed,modifiers)	\
    (This)->lpVtbl -> OnMouseButton(This,when,xPos,yPos,button,bPressed,modifiers)

#define IDAView_OnKey(This,when,key,bPressed,modifiers)	\
    (This)->lpVtbl -> OnKey(This,when,key,bPressed,modifiers)

#define IDAView_OnFocus(This,bHasFocus)	\
    (This)->lpVtbl -> OnFocus(This,bHasFocus)

#define IDAView_get_Preferences(This,prefs)	\
    (This)->lpVtbl -> get_Preferences(This,prefs)

#define IDAView_QueryHitPoint(This,dwAspect,prcBounds,ptLoc,lCloseHint,pHitResult)	\
    (This)->lpVtbl -> QueryHitPoint(This,dwAspect,prcBounds,ptLoc,lCloseHint,pHitResult)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_SimulationTime_Proxy( 
    IDAView * This,
    /* [retval][out] */ double *simTime);


void __RPC_STUB IDAView_get_SimulationTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_Tick_Proxy( 
    IDAView * This,
    /* [in] */ double simTime,
    /* [retval][out] */ VARIANT_BOOL *needToRender);


void __RPC_STUB IDAView_Tick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_Render_Proxy( 
    IDAView * This);


void __RPC_STUB IDAView_Render_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_AddBvrToRun_Proxy( 
    IDAView * This,
    /* [in] */ IDABehavior *bvr,
    /* [retval][out] */ LONG *pId);


void __RPC_STUB IDAView_AddBvrToRun_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_RemoveRunningBvr_Proxy( 
    IDAView * This,
    /* [in] */ LONG id);


void __RPC_STUB IDAView_RemoveRunningBvr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_StartModel_Proxy( 
    IDAView * This,
    /* [in] */ IDAImage *pImage,
    /* [in] */ IDASound *pSound,
    /* [in] */ double startTime);


void __RPC_STUB IDAView_StartModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_StopModel_Proxy( 
    IDAView * This);


void __RPC_STUB IDAView_StopModel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_Window_Proxy( 
    IDAView * This,
    /* [retval][out] */ long *hwnd);


void __RPC_STUB IDAView_get_Window_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAView_put_Window_Proxy( 
    IDAView * This,
    /* [in] */ long hwnd);


void __RPC_STUB IDAView_put_Window_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_IDirectDrawSurface_Proxy( 
    IDAView * This,
    /* [retval][out] */ IUnknown **ddsurf);


void __RPC_STUB IDAView_get_IDirectDrawSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAView_put_IDirectDrawSurface_Proxy( 
    IDAView * This,
    /* [in] */ IUnknown *ddsurf);


void __RPC_STUB IDAView_put_IDirectDrawSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_DC_Proxy( 
    IDAView * This,
    /* [retval][out] */ HDC *dc);


void __RPC_STUB IDAView_get_DC_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAView_put_DC_Proxy( 
    IDAView * This,
    /* [in] */ HDC dc);


void __RPC_STUB IDAView_put_DC_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_CompositeDirectlyToTarget_Proxy( 
    IDAView * This,
    /* [retval][out] */ VARIANT_BOOL *composeToTarget);


void __RPC_STUB IDAView_get_CompositeDirectlyToTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAView_put_CompositeDirectlyToTarget_Proxy( 
    IDAView * This,
    /* [in] */ VARIANT_BOOL composeToTarget);


void __RPC_STUB IDAView_put_CompositeDirectlyToTarget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_SetViewport_Proxy( 
    IDAView * This,
    /* [in] */ LONG xPos,
    /* [in] */ LONG yPos,
    /* [in] */ LONG w,
    /* [in] */ LONG h);


void __RPC_STUB IDAView_SetViewport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_SetClipRect_Proxy( 
    IDAView * This,
    /* [in] */ LONG xPos,
    /* [in] */ LONG yPos,
    /* [in] */ LONG w,
    /* [in] */ LONG h);


void __RPC_STUB IDAView_SetClipRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_RePaint_Proxy( 
    IDAView * This,
    /* [in] */ LONG xPos,
    /* [in] */ LONG yPos,
    /* [in] */ LONG w,
    /* [in] */ LONG h);


void __RPC_STUB IDAView_RePaint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_PaletteChanged_Proxy( 
    IDAView * This,
    /* [in] */ VARIANT_BOOL bNew);


void __RPC_STUB IDAView_PaletteChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_Site_Proxy( 
    IDAView * This,
    /* [retval][out] */ IDAViewSite **pViewSite);


void __RPC_STUB IDAView_get_Site_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAView_put_Site_Proxy( 
    IDAView * This,
    /* [in] */ IDAViewSite *pViewSite);


void __RPC_STUB IDAView_put_Site_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAView_put_ClientSite_Proxy( 
    IDAView * This,
    /* [in] */ IOleClientSite *pClientSite);


void __RPC_STUB IDAView_put_ClientSite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_ClientSite_Proxy( 
    IDAView * This,
    /* [retval][out] */ IOleClientSite **pClientSite);


void __RPC_STUB IDAView_get_ClientSite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_OnMouseMove_Proxy( 
    IDAView * This,
    /* [in] */ double when,
    /* [in] */ LONG xPos,
    /* [in] */ LONG yPos,
    /* [in] */ BYTE modifiers);


void __RPC_STUB IDAView_OnMouseMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_OnMouseButton_Proxy( 
    IDAView * This,
    /* [in] */ double when,
    /* [in] */ LONG xPos,
    /* [in] */ LONG yPos,
    /* [in] */ BYTE button,
    /* [in] */ VARIANT_BOOL bPressed,
    /* [in] */ BYTE modifiers);


void __RPC_STUB IDAView_OnMouseButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_OnKey_Proxy( 
    IDAView * This,
    /* [in] */ double when,
    /* [in] */ LONG key,
    /* [in] */ VARIANT_BOOL bPressed,
    /* [in] */ BYTE modifiers);


void __RPC_STUB IDAView_OnKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_OnFocus_Proxy( 
    IDAView * This,
    /* [in] */ VARIANT_BOOL bHasFocus);


void __RPC_STUB IDAView_OnFocus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAView_get_Preferences_Proxy( 
    IDAView * This,
    /* [retval][out] */ IDAPreferences **prefs);


void __RPC_STUB IDAView_get_Preferences_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAView_QueryHitPoint_Proxy( 
    IDAView * This,
    /* [in] */ DWORD dwAspect,
    /* [in] */ LPCRECT prcBounds,
    /* [in] */ POINT ptLoc,
    /* [in] */ LONG lCloseHint,
    /* [retval][out] */ DWORD *pHitResult);


void __RPC_STUB IDAView_QueryHitPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAView_INTERFACE_DEFINED__ */


#ifndef __IDABehavior_INTERFACE_DEFINED__
#define __IDABehavior_INTERFACE_DEFINED__

/* interface IDABehavior */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDABehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("283807B7-2C60-11d0-A31D-00AA00B92C03")
    IDABehavior : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetClassName( 
            /* [retval][out] */ BSTR *pClassName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Init( 
            /* [in] */ IDABehavior *toBvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Importance( 
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RunOnce( 
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubstituteTime( 
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SwitchTo( 
            /* [in] */ IDABehavior *switchTo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SwitchToNumber( 
            /* [in] */ double numToSwitchTo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SwitchToString( 
            /* [in] */ BSTR strToSwitchTo) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Hook( 
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Duration( 
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DurationAnim( 
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Repeat( 
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RepeatForever( 
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsReady( 
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDABehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDABehavior * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDABehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDABehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDABehavior * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDABehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDABehavior * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDABehavior * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDABehavior * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDABehavior * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDABehavior * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDABehavior * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDABehavior * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDABehavior * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDABehavior * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDABehavior * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDABehavior * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDABehavior * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDABehavior * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDABehavior * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDABehavior * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDABehavior * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        END_INTERFACE
    } IDABehaviorVtbl;

    interface IDABehavior
    {
        CONST_VTBL struct IDABehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDABehavior_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDABehavior_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDABehavior_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDABehavior_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDABehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDABehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDABehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDABehavior_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDABehavior_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDABehavior_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDABehavior_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDABehavior_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDABehavior_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDABehavior_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDABehavior_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDABehavior_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDABehavior_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDABehavior_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDABehavior_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDABehavior_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDABehavior_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDABehavior_GetClassName_Proxy( 
    IDABehavior * This,
    /* [retval][out] */ BSTR *pClassName);


void __RPC_STUB IDABehavior_GetClassName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_Init_Proxy( 
    IDABehavior * This,
    /* [in] */ IDABehavior *toBvr);


void __RPC_STUB IDABehavior_Init_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_Importance_Proxy( 
    IDABehavior * This,
    /* [in] */ double relativeImportance,
    /* [retval][out] */ IDABehavior **ppBvr);


void __RPC_STUB IDABehavior_Importance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_RunOnce_Proxy( 
    IDABehavior * This,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDABehavior_RunOnce_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_SubstituteTime_Proxy( 
    IDABehavior * This,
    /* [in] */ IDANumber *xform,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDABehavior_SubstituteTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_SwitchTo_Proxy( 
    IDABehavior * This,
    /* [in] */ IDABehavior *switchTo);


void __RPC_STUB IDABehavior_SwitchTo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_SwitchToNumber_Proxy( 
    IDABehavior * This,
    /* [in] */ double numToSwitchTo);


void __RPC_STUB IDABehavior_SwitchToNumber_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_SwitchToString_Proxy( 
    IDABehavior * This,
    /* [in] */ BSTR strToSwitchTo);


void __RPC_STUB IDABehavior_SwitchToString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_Hook_Proxy( 
    IDABehavior * This,
    /* [in] */ IDABvrHook *notifier,
    /* [retval][out] */ IDABehavior **pBvr);


void __RPC_STUB IDABehavior_Hook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_Duration_Proxy( 
    IDABehavior * This,
    /* [in] */ double duration,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDABehavior_Duration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_DurationAnim_Proxy( 
    IDABehavior * This,
    /* [in] */ IDANumber *duration,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDABehavior_DurationAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_Repeat_Proxy( 
    IDABehavior * This,
    /* [in] */ LONG count,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDABehavior_Repeat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_RepeatForever_Proxy( 
    IDABehavior * This,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDABehavior_RepeatForever_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDABehavior_IsReady_Proxy( 
    IDABehavior * This,
    /* [in] */ VARIANT_BOOL bBlock,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB IDABehavior_IsReady_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDABehavior_INTERFACE_DEFINED__ */


#ifndef __IDANumber_INTERFACE_DEFINED__
#define __IDANumber_INTERFACE_DEFINED__

/* interface IDANumber */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDANumber;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9CDE7340-3C20-11d0-A330-00AA00B92C03")
    IDANumber : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Extract( 
            /* [retval][out] */ double *ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AnimateProperty( 
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDANumber **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ToStringAnim( 
            /* [in] */ IDANumber *precision_0,
            /* [retval][out] */ IDAString **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ToString( 
            /* [in] */ double precision_0,
            /* [retval][out] */ IDAString **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDANumberVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDANumber * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDANumber * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDANumber * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDANumber * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDANumber * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDANumber * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDANumber * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDANumber * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDANumber * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDANumber * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDANumber * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDANumber * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDANumber * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDANumber * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDANumber * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDANumber * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDANumber * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDANumber * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDANumber * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDANumber * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDANumber * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Extract )( 
            IDANumber * This,
            /* [retval][out] */ double *ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *AnimateProperty )( 
            IDANumber * This,
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDANumber **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *ToStringAnim )( 
            IDANumber * This,
            /* [in] */ IDANumber *precision_0,
            /* [retval][out] */ IDAString **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ToString )( 
            IDANumber * This,
            /* [in] */ double precision_0,
            /* [retval][out] */ IDAString **ret_1);
        
        END_INTERFACE
    } IDANumberVtbl;

    interface IDANumber
    {
        CONST_VTBL struct IDANumberVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDANumber_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDANumber_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDANumber_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDANumber_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDANumber_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDANumber_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDANumber_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDANumber_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDANumber_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDANumber_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDANumber_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDANumber_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDANumber_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDANumber_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDANumber_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDANumber_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDANumber_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDANumber_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDANumber_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDANumber_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDANumber_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDANumber_Extract(This,ret_0)	\
    (This)->lpVtbl -> Extract(This,ret_0)

#define IDANumber_AnimateProperty(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)	\
    (This)->lpVtbl -> AnimateProperty(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)

#define IDANumber_ToStringAnim(This,precision_0,ret_1)	\
    (This)->lpVtbl -> ToStringAnim(This,precision_0,ret_1)

#define IDANumber_ToString(This,precision_0,ret_1)	\
    (This)->lpVtbl -> ToString(This,precision_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDANumber_Extract_Proxy( 
    IDANumber * This,
    /* [retval][out] */ double *ret_0);


void __RPC_STUB IDANumber_Extract_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDANumber_AnimateProperty_Proxy( 
    IDANumber * This,
    /* [in] */ BSTR propertyPath_0,
    /* [in] */ BSTR scriptingLanguage_1,
    /* [in] */ VARIANT_BOOL invokeAsMethod_2,
    /* [in] */ double minUpdateInterval_3,
    /* [retval][out] */ IDANumber **ret_4);


void __RPC_STUB IDANumber_AnimateProperty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDANumber_ToStringAnim_Proxy( 
    IDANumber * This,
    /* [in] */ IDANumber *precision_0,
    /* [retval][out] */ IDAString **ret_1);


void __RPC_STUB IDANumber_ToStringAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDANumber_ToString_Proxy( 
    IDANumber * This,
    /* [in] */ double precision_0,
    /* [retval][out] */ IDAString **ret_1);


void __RPC_STUB IDANumber_ToString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDANumber_INTERFACE_DEFINED__ */


#ifndef __IDABvrHook_INTERFACE_DEFINED__
#define __IDABvrHook_INTERFACE_DEFINED__

/* interface IDABvrHook */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDABvrHook;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3E2487C4-8709-11d0-B177-00C04FC2A0CA")
    IDABvrHook : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ LONG id,
            /* [in] */ VARIANT_BOOL startingPerformance,
            /* [in] */ double startTime,
            /* [in] */ double gTime,
            /* [in] */ double lTime,
            /* [in] */ IDABehavior *sampleVal,
            /* [in] */ IDABehavior *curRunningBvr,
            /* [retval][out] */ IDABehavior **ppBvr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDABvrHookVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDABvrHook * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDABvrHook * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDABvrHook * This);
        
        HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IDABvrHook * This,
            /* [in] */ LONG id,
            /* [in] */ VARIANT_BOOL startingPerformance,
            /* [in] */ double startTime,
            /* [in] */ double gTime,
            /* [in] */ double lTime,
            /* [in] */ IDABehavior *sampleVal,
            /* [in] */ IDABehavior *curRunningBvr,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        END_INTERFACE
    } IDABvrHookVtbl;

    interface IDABvrHook
    {
        CONST_VTBL struct IDABvrHookVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDABvrHook_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDABvrHook_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDABvrHook_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDABvrHook_Notify(This,id,startingPerformance,startTime,gTime,lTime,sampleVal,curRunningBvr,ppBvr)	\
    (This)->lpVtbl -> Notify(This,id,startingPerformance,startTime,gTime,lTime,sampleVal,curRunningBvr,ppBvr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDABvrHook_Notify_Proxy( 
    IDABvrHook * This,
    /* [in] */ LONG id,
    /* [in] */ VARIANT_BOOL startingPerformance,
    /* [in] */ double startTime,
    /* [in] */ double gTime,
    /* [in] */ double lTime,
    /* [in] */ IDABehavior *sampleVal,
    /* [in] */ IDABehavior *curRunningBvr,
    /* [retval][out] */ IDABehavior **ppBvr);


void __RPC_STUB IDABvrHook_Notify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDABvrHook_INTERFACE_DEFINED__ */


#ifndef __IDADrawingSurface_INTERFACE_DEFINED__
#define __IDADrawingSurface_INTERFACE_DEFINED__

/* interface IDADrawingSurface */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDADrawingSurface;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BC0BFD34-D21D-11d0-9385-00C04FB6BD36")
    IDADrawingSurface : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Image( 
            /* [retval][out] */ IDAImage **img) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_LineStyle( 
            /* [in] */ IDALineStyle *ls) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BorderStyle( 
            /* [in] */ IDALineStyle *bs) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FontStyle( 
            /* [in] */ IDAFontStyle *fs) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClipMatte( 
            /* [in] */ IDAMatte *matte) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MouseEventsEnabled( 
            /* [in] */ VARIANT_BOOL on) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HatchFillTransparent( 
            /* [in] */ VARIANT_BOOL fillOff) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalContextImage( 
            /* [retval][out] */ IDAImage **img) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SaveGraphicsState( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RestoreGraphicsState( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Opacity( 
            /* [in] */ double opac) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpacityAnim( 
            /* [in] */ IDANumber *opac) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Crop( 
            /* [in] */ double lowerLeftX,
            /* [in] */ double lowerLeftY,
            /* [in] */ double upperRightX,
            /* [in] */ double upperRightY) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CropPoints( 
            /* [in] */ IDAPoint2 *min,
            /* [in] */ IDAPoint2 *max) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform2 *xform) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LineColor( 
            /* [in] */ IDAColor *clr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LineWidth( 
            /* [in] */ double w) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LineDashStyle( 
            /* [in] */ DA_DASH_STYLE id) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LineEndStyle( 
            /* [in] */ DA_END_STYLE id) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LineJoinStyle( 
            /* [in] */ DA_JOIN_STYLE id) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BorderColor( 
            /* [in] */ IDAColor *clr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BorderWidth( 
            /* [in] */ double w) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BorderDashStyle( 
            /* [in] */ DA_DASH_STYLE id) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BorderEndStyle( 
            /* [in] */ DA_END_STYLE obsolete) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BorderJoinStyle( 
            /* [in] */ DA_JOIN_STYLE id) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Font( 
            /* [in] */ BSTR FontFace,
            /* [in] */ LONG sizeInPoints,
            /* [in] */ VARIANT_BOOL Bold,
            /* [in] */ VARIANT_BOOL italic,
            /* [in] */ VARIANT_BOOL underline,
            /* [in] */ VARIANT_BOOL strikethrough) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TextureFill( 
            /* [in] */ IDAImage *obsolete1,
            /* [in] */ double obsolete2,
            /* [in] */ double obsolete3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImageFill( 
            /* [in] */ IDAImage *obsolete1,
            /* [in] */ double obsolete2,
            /* [in] */ double obsolete3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FillTexture( 
            /* [in] */ IDAImage *img) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FillImage( 
            /* [in] */ IDAImage *img) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FillStyle( 
            /* [in] */ int ID) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FillColor( 
            /* [in] */ IDAColor *foreground) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SecondaryFillColor( 
            /* [in] */ IDAColor *val) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientShape( 
            /* [in] */ VARIANT pts) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientExtent( 
            /* [in] */ double startx,
            /* [in] */ double starty,
            /* [in] */ double finishx,
            /* [in] */ double finishy) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientExtentPoints( 
            /* [in] */ IDAPoint2 *startColor,
            /* [in] */ IDAPoint2 *stopColor) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientRolloffPower( 
            /* [in] */ double power) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientRolloffPowerAnim( 
            /* [in] */ IDANumber *power) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FixedFillScale( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HorizontalFillScale( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE VerticalFillScale( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AutoSizeFillScale( void) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE PolylineEx( 
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *pts[  ]) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Polyline( 
            /* [in] */ VARIANT v) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE PolygonEx( 
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *pts[  ]) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Polygon( 
            /* [in] */ VARIANT v) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LinePoints( 
            /* [in] */ IDAPoint2 *p1,
            /* [in] */ IDAPoint2 *p2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Line( 
            /* [in] */ double startX,
            /* [in] */ double startY,
            /* [in] */ double endX,
            /* [in] */ double endY) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ArcRadians( 
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ArcDegrees( 
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Oval( 
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double w,
            /* [in] */ double h) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rect( 
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double w,
            /* [in] */ double h) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RoundRect( 
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double w,
            /* [in] */ double h,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PieRadians( 
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PieDegrees( 
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Text( 
            /* [in] */ BSTR str,
            /* [in] */ double xPos,
            /* [in] */ double yPos) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TextPoint( 
            /* [in] */ BSTR str,
            /* [in] */ IDAPoint2 *point) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FillPath( 
            /* [in] */ IDAPath2 *path) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DrawPath( 
            /* [in] */ IDAPath2 *path) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OverlayImage( 
            /* [in] */ IDAImage *img) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDADrawingSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDADrawingSurface * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDADrawingSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDADrawingSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDADrawingSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDADrawingSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDADrawingSurface * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDADrawingSurface * This,
            /* [retval][out] */ IDAImage **img);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineStyle )( 
            IDADrawingSurface * This,
            /* [in] */ IDALineStyle *ls);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BorderStyle )( 
            IDADrawingSurface * This,
            /* [in] */ IDALineStyle *bs);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FontStyle )( 
            IDADrawingSurface * This,
            /* [in] */ IDAFontStyle *fs);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClipMatte )( 
            IDADrawingSurface * This,
            /* [in] */ IDAMatte *matte);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MouseEventsEnabled )( 
            IDADrawingSurface * This,
            /* [in] */ VARIANT_BOOL on);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HatchFillTransparent )( 
            IDADrawingSurface * This,
            /* [in] */ VARIANT_BOOL fillOff);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalContextImage )( 
            IDADrawingSurface * This,
            /* [retval][out] */ IDAImage **img);
        
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *SaveGraphicsState )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *RestoreGraphicsState )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *Opacity )( 
            IDADrawingSurface * This,
            /* [in] */ double opac);
        
        HRESULT ( STDMETHODCALLTYPE *OpacityAnim )( 
            IDADrawingSurface * This,
            /* [in] */ IDANumber *opac);
        
        HRESULT ( STDMETHODCALLTYPE *Crop )( 
            IDADrawingSurface * This,
            /* [in] */ double lowerLeftX,
            /* [in] */ double lowerLeftY,
            /* [in] */ double upperRightX,
            /* [in] */ double upperRightY);
        
        HRESULT ( STDMETHODCALLTYPE *CropPoints )( 
            IDADrawingSurface * This,
            /* [in] */ IDAPoint2 *min,
            /* [in] */ IDAPoint2 *max);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDADrawingSurface * This,
            /* [in] */ IDATransform2 *xform);
        
        HRESULT ( STDMETHODCALLTYPE *LineColor )( 
            IDADrawingSurface * This,
            /* [in] */ IDAColor *clr);
        
        HRESULT ( STDMETHODCALLTYPE *LineWidth )( 
            IDADrawingSurface * This,
            /* [in] */ double w);
        
        HRESULT ( STDMETHODCALLTYPE *LineDashStyle )( 
            IDADrawingSurface * This,
            /* [in] */ DA_DASH_STYLE id);
        
        HRESULT ( STDMETHODCALLTYPE *LineEndStyle )( 
            IDADrawingSurface * This,
            /* [in] */ DA_END_STYLE id);
        
        HRESULT ( STDMETHODCALLTYPE *LineJoinStyle )( 
            IDADrawingSurface * This,
            /* [in] */ DA_JOIN_STYLE id);
        
        HRESULT ( STDMETHODCALLTYPE *BorderColor )( 
            IDADrawingSurface * This,
            /* [in] */ IDAColor *clr);
        
        HRESULT ( STDMETHODCALLTYPE *BorderWidth )( 
            IDADrawingSurface * This,
            /* [in] */ double w);
        
        HRESULT ( STDMETHODCALLTYPE *BorderDashStyle )( 
            IDADrawingSurface * This,
            /* [in] */ DA_DASH_STYLE id);
        
        HRESULT ( STDMETHODCALLTYPE *BorderEndStyle )( 
            IDADrawingSurface * This,
            /* [in] */ DA_END_STYLE obsolete);
        
        HRESULT ( STDMETHODCALLTYPE *BorderJoinStyle )( 
            IDADrawingSurface * This,
            /* [in] */ DA_JOIN_STYLE id);
        
        HRESULT ( STDMETHODCALLTYPE *Font )( 
            IDADrawingSurface * This,
            /* [in] */ BSTR FontFace,
            /* [in] */ LONG sizeInPoints,
            /* [in] */ VARIANT_BOOL Bold,
            /* [in] */ VARIANT_BOOL italic,
            /* [in] */ VARIANT_BOOL underline,
            /* [in] */ VARIANT_BOOL strikethrough);
        
        HRESULT ( STDMETHODCALLTYPE *TextureFill )( 
            IDADrawingSurface * This,
            /* [in] */ IDAImage *obsolete1,
            /* [in] */ double obsolete2,
            /* [in] */ double obsolete3);
        
        HRESULT ( STDMETHODCALLTYPE *ImageFill )( 
            IDADrawingSurface * This,
            /* [in] */ IDAImage *obsolete1,
            /* [in] */ double obsolete2,
            /* [in] */ double obsolete3);
        
        HRESULT ( STDMETHODCALLTYPE *FillTexture )( 
            IDADrawingSurface * This,
            /* [in] */ IDAImage *img);
        
        HRESULT ( STDMETHODCALLTYPE *FillImage )( 
            IDADrawingSurface * This,
            /* [in] */ IDAImage *img);
        
        HRESULT ( STDMETHODCALLTYPE *FillStyle )( 
            IDADrawingSurface * This,
            /* [in] */ int ID);
        
        HRESULT ( STDMETHODCALLTYPE *FillColor )( 
            IDADrawingSurface * This,
            /* [in] */ IDAColor *foreground);
        
        HRESULT ( STDMETHODCALLTYPE *SecondaryFillColor )( 
            IDADrawingSurface * This,
            /* [in] */ IDAColor *val);
        
        HRESULT ( STDMETHODCALLTYPE *GradientShape )( 
            IDADrawingSurface * This,
            /* [in] */ VARIANT pts);
        
        HRESULT ( STDMETHODCALLTYPE *GradientExtent )( 
            IDADrawingSurface * This,
            /* [in] */ double startx,
            /* [in] */ double starty,
            /* [in] */ double finishx,
            /* [in] */ double finishy);
        
        HRESULT ( STDMETHODCALLTYPE *GradientExtentPoints )( 
            IDADrawingSurface * This,
            /* [in] */ IDAPoint2 *startColor,
            /* [in] */ IDAPoint2 *stopColor);
        
        HRESULT ( STDMETHODCALLTYPE *GradientRolloffPower )( 
            IDADrawingSurface * This,
            /* [in] */ double power);
        
        HRESULT ( STDMETHODCALLTYPE *GradientRolloffPowerAnim )( 
            IDADrawingSurface * This,
            /* [in] */ IDANumber *power);
        
        HRESULT ( STDMETHODCALLTYPE *FixedFillScale )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *HorizontalFillScale )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *VerticalFillScale )( 
            IDADrawingSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *AutoSizeFillScale )( 
            IDADrawingSurface * This);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolylineEx )( 
            IDADrawingSurface * This,
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *pts[  ]);
        
        HRESULT ( STDMETHODCALLTYPE *Polyline )( 
            IDADrawingSurface * This,
            /* [in] */ VARIANT v);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolygonEx )( 
            IDADrawingSurface * This,
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *pts[  ]);
        
        HRESULT ( STDMETHODCALLTYPE *Polygon )( 
            IDADrawingSurface * This,
            /* [in] */ VARIANT v);
        
        HRESULT ( STDMETHODCALLTYPE *LinePoints )( 
            IDADrawingSurface * This,
            /* [in] */ IDAPoint2 *p1,
            /* [in] */ IDAPoint2 *p2);
        
        HRESULT ( STDMETHODCALLTYPE *Line )( 
            IDADrawingSurface * This,
            /* [in] */ double startX,
            /* [in] */ double startY,
            /* [in] */ double endX,
            /* [in] */ double endY);
        
        HRESULT ( STDMETHODCALLTYPE *ArcRadians )( 
            IDADrawingSurface * This,
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight);
        
        HRESULT ( STDMETHODCALLTYPE *ArcDegrees )( 
            IDADrawingSurface * This,
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight);
        
        HRESULT ( STDMETHODCALLTYPE *Oval )( 
            IDADrawingSurface * This,
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double w,
            /* [in] */ double h);
        
        HRESULT ( STDMETHODCALLTYPE *Rect )( 
            IDADrawingSurface * This,
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double w,
            /* [in] */ double h);
        
        HRESULT ( STDMETHODCALLTYPE *RoundRect )( 
            IDADrawingSurface * This,
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double w,
            /* [in] */ double h,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight);
        
        HRESULT ( STDMETHODCALLTYPE *PieRadians )( 
            IDADrawingSurface * This,
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight);
        
        HRESULT ( STDMETHODCALLTYPE *PieDegrees )( 
            IDADrawingSurface * This,
            /* [in] */ double xPos,
            /* [in] */ double yPos,
            /* [in] */ double startAngle,
            /* [in] */ double endAngle,
            /* [in] */ double arcWidth,
            /* [in] */ double arcHeight);
        
        HRESULT ( STDMETHODCALLTYPE *Text )( 
            IDADrawingSurface * This,
            /* [in] */ BSTR str,
            /* [in] */ double xPos,
            /* [in] */ double yPos);
        
        HRESULT ( STDMETHODCALLTYPE *TextPoint )( 
            IDADrawingSurface * This,
            /* [in] */ BSTR str,
            /* [in] */ IDAPoint2 *point);
        
        HRESULT ( STDMETHODCALLTYPE *FillPath )( 
            IDADrawingSurface * This,
            /* [in] */ IDAPath2 *path);
        
        HRESULT ( STDMETHODCALLTYPE *DrawPath )( 
            IDADrawingSurface * This,
            /* [in] */ IDAPath2 *path);
        
        HRESULT ( STDMETHODCALLTYPE *OverlayImage )( 
            IDADrawingSurface * This,
            /* [in] */ IDAImage *img);
        
        END_INTERFACE
    } IDADrawingSurfaceVtbl;

    interface IDADrawingSurface
    {
        CONST_VTBL struct IDADrawingSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDADrawingSurface_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDADrawingSurface_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDADrawingSurface_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDADrawingSurface_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDADrawingSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDADrawingSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDADrawingSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDADrawingSurface_get_Image(This,img)	\
    (This)->lpVtbl -> get_Image(This,img)

#define IDADrawingSurface_put_LineStyle(This,ls)	\
    (This)->lpVtbl -> put_LineStyle(This,ls)

#define IDADrawingSurface_put_BorderStyle(This,bs)	\
    (This)->lpVtbl -> put_BorderStyle(This,bs)

#define IDADrawingSurface_put_FontStyle(This,fs)	\
    (This)->lpVtbl -> put_FontStyle(This,fs)

#define IDADrawingSurface_put_ClipMatte(This,matte)	\
    (This)->lpVtbl -> put_ClipMatte(This,matte)

#define IDADrawingSurface_put_MouseEventsEnabled(This,on)	\
    (This)->lpVtbl -> put_MouseEventsEnabled(This,on)

#define IDADrawingSurface_put_HatchFillTransparent(This,fillOff)	\
    (This)->lpVtbl -> put_HatchFillTransparent(This,fillOff)

#define IDADrawingSurface_get_LocalContextImage(This,img)	\
    (This)->lpVtbl -> get_LocalContextImage(This,img)

#define IDADrawingSurface_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#define IDADrawingSurface_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IDADrawingSurface_SaveGraphicsState(This)	\
    (This)->lpVtbl -> SaveGraphicsState(This)

#define IDADrawingSurface_RestoreGraphicsState(This)	\
    (This)->lpVtbl -> RestoreGraphicsState(This)

#define IDADrawingSurface_Opacity(This,opac)	\
    (This)->lpVtbl -> Opacity(This,opac)

#define IDADrawingSurface_OpacityAnim(This,opac)	\
    (This)->lpVtbl -> OpacityAnim(This,opac)

#define IDADrawingSurface_Crop(This,lowerLeftX,lowerLeftY,upperRightX,upperRightY)	\
    (This)->lpVtbl -> Crop(This,lowerLeftX,lowerLeftY,upperRightX,upperRightY)

#define IDADrawingSurface_CropPoints(This,min,max)	\
    (This)->lpVtbl -> CropPoints(This,min,max)

#define IDADrawingSurface_Transform(This,xform)	\
    (This)->lpVtbl -> Transform(This,xform)

#define IDADrawingSurface_LineColor(This,clr)	\
    (This)->lpVtbl -> LineColor(This,clr)

#define IDADrawingSurface_LineWidth(This,w)	\
    (This)->lpVtbl -> LineWidth(This,w)

#define IDADrawingSurface_LineDashStyle(This,id)	\
    (This)->lpVtbl -> LineDashStyle(This,id)

#define IDADrawingSurface_LineEndStyle(This,id)	\
    (This)->lpVtbl -> LineEndStyle(This,id)

#define IDADrawingSurface_LineJoinStyle(This,id)	\
    (This)->lpVtbl -> LineJoinStyle(This,id)

#define IDADrawingSurface_BorderColor(This,clr)	\
    (This)->lpVtbl -> BorderColor(This,clr)

#define IDADrawingSurface_BorderWidth(This,w)	\
    (This)->lpVtbl -> BorderWidth(This,w)

#define IDADrawingSurface_BorderDashStyle(This,id)	\
    (This)->lpVtbl -> BorderDashStyle(This,id)

#define IDADrawingSurface_BorderEndStyle(This,obsolete)	\
    (This)->lpVtbl -> BorderEndStyle(This,obsolete)

#define IDADrawingSurface_BorderJoinStyle(This,id)	\
    (This)->lpVtbl -> BorderJoinStyle(This,id)

#define IDADrawingSurface_Font(This,FontFace,sizeInPoints,Bold,italic,underline,strikethrough)	\
    (This)->lpVtbl -> Font(This,FontFace,sizeInPoints,Bold,italic,underline,strikethrough)

#define IDADrawingSurface_TextureFill(This,obsolete1,obsolete2,obsolete3)	\
    (This)->lpVtbl -> TextureFill(This,obsolete1,obsolete2,obsolete3)

#define IDADrawingSurface_ImageFill(This,obsolete1,obsolete2,obsolete3)	\
    (This)->lpVtbl -> ImageFill(This,obsolete1,obsolete2,obsolete3)

#define IDADrawingSurface_FillTexture(This,img)	\
    (This)->lpVtbl -> FillTexture(This,img)

#define IDADrawingSurface_FillImage(This,img)	\
    (This)->lpVtbl -> FillImage(This,img)

#define IDADrawingSurface_FillStyle(This,ID)	\
    (This)->lpVtbl -> FillStyle(This,ID)

#define IDADrawingSurface_FillColor(This,foreground)	\
    (This)->lpVtbl -> FillColor(This,foreground)

#define IDADrawingSurface_SecondaryFillColor(This,val)	\
    (This)->lpVtbl -> SecondaryFillColor(This,val)

#define IDADrawingSurface_GradientShape(This,pts)	\
    (This)->lpVtbl -> GradientShape(This,pts)

#define IDADrawingSurface_GradientExtent(This,startx,starty,finishx,finishy)	\
    (This)->lpVtbl -> GradientExtent(This,startx,starty,finishx,finishy)

#define IDADrawingSurface_GradientExtentPoints(This,startColor,stopColor)	\
    (This)->lpVtbl -> GradientExtentPoints(This,startColor,stopColor)

#define IDADrawingSurface_GradientRolloffPower(This,power)	\
    (This)->lpVtbl -> GradientRolloffPower(This,power)

#define IDADrawingSurface_GradientRolloffPowerAnim(This,power)	\
    (This)->lpVtbl -> GradientRolloffPowerAnim(This,power)

#define IDADrawingSurface_FixedFillScale(This)	\
    (This)->lpVtbl -> FixedFillScale(This)

#define IDADrawingSurface_HorizontalFillScale(This)	\
    (This)->lpVtbl -> HorizontalFillScale(This)

#define IDADrawingSurface_VerticalFillScale(This)	\
    (This)->lpVtbl -> VerticalFillScale(This)

#define IDADrawingSurface_AutoSizeFillScale(This)	\
    (This)->lpVtbl -> AutoSizeFillScale(This)

#define IDADrawingSurface_PolylineEx(This,numPts,pts)	\
    (This)->lpVtbl -> PolylineEx(This,numPts,pts)

#define IDADrawingSurface_Polyline(This,v)	\
    (This)->lpVtbl -> Polyline(This,v)

#define IDADrawingSurface_PolygonEx(This,numPts,pts)	\
    (This)->lpVtbl -> PolygonEx(This,numPts,pts)

#define IDADrawingSurface_Polygon(This,v)	\
    (This)->lpVtbl -> Polygon(This,v)

#define IDADrawingSurface_LinePoints(This,p1,p2)	\
    (This)->lpVtbl -> LinePoints(This,p1,p2)

#define IDADrawingSurface_Line(This,startX,startY,endX,endY)	\
    (This)->lpVtbl -> Line(This,startX,startY,endX,endY)

#define IDADrawingSurface_ArcRadians(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)	\
    (This)->lpVtbl -> ArcRadians(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)

#define IDADrawingSurface_ArcDegrees(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)	\
    (This)->lpVtbl -> ArcDegrees(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)

#define IDADrawingSurface_Oval(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> Oval(This,xPos,yPos,w,h)

#define IDADrawingSurface_Rect(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> Rect(This,xPos,yPos,w,h)

#define IDADrawingSurface_RoundRect(This,xPos,yPos,w,h,arcWidth,arcHeight)	\
    (This)->lpVtbl -> RoundRect(This,xPos,yPos,w,h,arcWidth,arcHeight)

#define IDADrawingSurface_PieRadians(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)	\
    (This)->lpVtbl -> PieRadians(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)

#define IDADrawingSurface_PieDegrees(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)	\
    (This)->lpVtbl -> PieDegrees(This,xPos,yPos,startAngle,endAngle,arcWidth,arcHeight)

#define IDADrawingSurface_Text(This,str,xPos,yPos)	\
    (This)->lpVtbl -> Text(This,str,xPos,yPos)

#define IDADrawingSurface_TextPoint(This,str,point)	\
    (This)->lpVtbl -> TextPoint(This,str,point)

#define IDADrawingSurface_FillPath(This,path)	\
    (This)->lpVtbl -> FillPath(This,path)

#define IDADrawingSurface_DrawPath(This,path)	\
    (This)->lpVtbl -> DrawPath(This,path)

#define IDADrawingSurface_OverlayImage(This,img)	\
    (This)->lpVtbl -> OverlayImage(This,img)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_get_Image_Proxy( 
    IDADrawingSurface * This,
    /* [retval][out] */ IDAImage **img);


void __RPC_STUB IDADrawingSurface_get_Image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_put_LineStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDALineStyle *ls);


void __RPC_STUB IDADrawingSurface_put_LineStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_put_BorderStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDALineStyle *bs);


void __RPC_STUB IDADrawingSurface_put_BorderStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_put_FontStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAFontStyle *fs);


void __RPC_STUB IDADrawingSurface_put_FontStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_put_ClipMatte_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAMatte *matte);


void __RPC_STUB IDADrawingSurface_put_ClipMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_put_MouseEventsEnabled_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ VARIANT_BOOL on);


void __RPC_STUB IDADrawingSurface_put_MouseEventsEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_put_HatchFillTransparent_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ VARIANT_BOOL fillOff);


void __RPC_STUB IDADrawingSurface_put_HatchFillTransparent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_get_LocalContextImage_Proxy( 
    IDADrawingSurface * This,
    /* [retval][out] */ IDAImage **img);


void __RPC_STUB IDADrawingSurface_get_LocalContextImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Reset_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Clear_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_SaveGraphicsState_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_SaveGraphicsState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_RestoreGraphicsState_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_RestoreGraphicsState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Opacity_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double opac);


void __RPC_STUB IDADrawingSurface_Opacity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_OpacityAnim_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDANumber *opac);


void __RPC_STUB IDADrawingSurface_OpacityAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Crop_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double lowerLeftX,
    /* [in] */ double lowerLeftY,
    /* [in] */ double upperRightX,
    /* [in] */ double upperRightY);


void __RPC_STUB IDADrawingSurface_Crop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_CropPoints_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAPoint2 *min,
    /* [in] */ IDAPoint2 *max);


void __RPC_STUB IDADrawingSurface_CropPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Transform_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDATransform2 *xform);


void __RPC_STUB IDADrawingSurface_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_LineColor_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAColor *clr);


void __RPC_STUB IDADrawingSurface_LineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_LineWidth_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double w);


void __RPC_STUB IDADrawingSurface_LineWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_LineDashStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ DA_DASH_STYLE id);


void __RPC_STUB IDADrawingSurface_LineDashStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_LineEndStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ DA_END_STYLE id);


void __RPC_STUB IDADrawingSurface_LineEndStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_LineJoinStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ DA_JOIN_STYLE id);


void __RPC_STUB IDADrawingSurface_LineJoinStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_BorderColor_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAColor *clr);


void __RPC_STUB IDADrawingSurface_BorderColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_BorderWidth_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double w);


void __RPC_STUB IDADrawingSurface_BorderWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_BorderDashStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ DA_DASH_STYLE id);


void __RPC_STUB IDADrawingSurface_BorderDashStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_BorderEndStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ DA_END_STYLE obsolete);


void __RPC_STUB IDADrawingSurface_BorderEndStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_BorderJoinStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ DA_JOIN_STYLE id);


void __RPC_STUB IDADrawingSurface_BorderJoinStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Font_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ BSTR FontFace,
    /* [in] */ LONG sizeInPoints,
    /* [in] */ VARIANT_BOOL Bold,
    /* [in] */ VARIANT_BOOL italic,
    /* [in] */ VARIANT_BOOL underline,
    /* [in] */ VARIANT_BOOL strikethrough);


void __RPC_STUB IDADrawingSurface_Font_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_TextureFill_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAImage *obsolete1,
    /* [in] */ double obsolete2,
    /* [in] */ double obsolete3);


void __RPC_STUB IDADrawingSurface_TextureFill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_ImageFill_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAImage *obsolete1,
    /* [in] */ double obsolete2,
    /* [in] */ double obsolete3);


void __RPC_STUB IDADrawingSurface_ImageFill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_FillTexture_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAImage *img);


void __RPC_STUB IDADrawingSurface_FillTexture_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_FillImage_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAImage *img);


void __RPC_STUB IDADrawingSurface_FillImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_FillStyle_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ int ID);


void __RPC_STUB IDADrawingSurface_FillStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_FillColor_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAColor *foreground);


void __RPC_STUB IDADrawingSurface_FillColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_SecondaryFillColor_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAColor *val);


void __RPC_STUB IDADrawingSurface_SecondaryFillColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_GradientShape_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ VARIANT pts);


void __RPC_STUB IDADrawingSurface_GradientShape_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_GradientExtent_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double startx,
    /* [in] */ double starty,
    /* [in] */ double finishx,
    /* [in] */ double finishy);


void __RPC_STUB IDADrawingSurface_GradientExtent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_GradientExtentPoints_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAPoint2 *startColor,
    /* [in] */ IDAPoint2 *stopColor);


void __RPC_STUB IDADrawingSurface_GradientExtentPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_GradientRolloffPower_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double power);


void __RPC_STUB IDADrawingSurface_GradientRolloffPower_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_GradientRolloffPowerAnim_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDANumber *power);


void __RPC_STUB IDADrawingSurface_GradientRolloffPowerAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_FixedFillScale_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_FixedFillScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_HorizontalFillScale_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_HorizontalFillScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_VerticalFillScale_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_VerticalFillScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_AutoSizeFillScale_Proxy( 
    IDADrawingSurface * This);


void __RPC_STUB IDADrawingSurface_AutoSizeFillScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_PolylineEx_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ LONG numPts,
    /* [size_is][in] */ IDAPoint2 *pts[  ]);


void __RPC_STUB IDADrawingSurface_PolylineEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Polyline_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ VARIANT v);


void __RPC_STUB IDADrawingSurface_Polyline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDADrawingSurface_PolygonEx_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ LONG numPts,
    /* [size_is][in] */ IDAPoint2 *pts[  ]);


void __RPC_STUB IDADrawingSurface_PolygonEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Polygon_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ VARIANT v);


void __RPC_STUB IDADrawingSurface_Polygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_LinePoints_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAPoint2 *p1,
    /* [in] */ IDAPoint2 *p2);


void __RPC_STUB IDADrawingSurface_LinePoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Line_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double startX,
    /* [in] */ double startY,
    /* [in] */ double endX,
    /* [in] */ double endY);


void __RPC_STUB IDADrawingSurface_Line_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_ArcRadians_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double xPos,
    /* [in] */ double yPos,
    /* [in] */ double startAngle,
    /* [in] */ double endAngle,
    /* [in] */ double arcWidth,
    /* [in] */ double arcHeight);


void __RPC_STUB IDADrawingSurface_ArcRadians_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_ArcDegrees_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double xPos,
    /* [in] */ double yPos,
    /* [in] */ double startAngle,
    /* [in] */ double endAngle,
    /* [in] */ double arcWidth,
    /* [in] */ double arcHeight);


void __RPC_STUB IDADrawingSurface_ArcDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Oval_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double xPos,
    /* [in] */ double yPos,
    /* [in] */ double w,
    /* [in] */ double h);


void __RPC_STUB IDADrawingSurface_Oval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Rect_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double xPos,
    /* [in] */ double yPos,
    /* [in] */ double w,
    /* [in] */ double h);


void __RPC_STUB IDADrawingSurface_Rect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_RoundRect_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double xPos,
    /* [in] */ double yPos,
    /* [in] */ double w,
    /* [in] */ double h,
    /* [in] */ double arcWidth,
    /* [in] */ double arcHeight);


void __RPC_STUB IDADrawingSurface_RoundRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_PieRadians_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double xPos,
    /* [in] */ double yPos,
    /* [in] */ double startAngle,
    /* [in] */ double endAngle,
    /* [in] */ double arcWidth,
    /* [in] */ double arcHeight);


void __RPC_STUB IDADrawingSurface_PieRadians_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_PieDegrees_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ double xPos,
    /* [in] */ double yPos,
    /* [in] */ double startAngle,
    /* [in] */ double endAngle,
    /* [in] */ double arcWidth,
    /* [in] */ double arcHeight);


void __RPC_STUB IDADrawingSurface_PieDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_Text_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ BSTR str,
    /* [in] */ double xPos,
    /* [in] */ double yPos);


void __RPC_STUB IDADrawingSurface_Text_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_TextPoint_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ BSTR str,
    /* [in] */ IDAPoint2 *point);


void __RPC_STUB IDADrawingSurface_TextPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_FillPath_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAPath2 *path);


void __RPC_STUB IDADrawingSurface_FillPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_DrawPath_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAPath2 *path);


void __RPC_STUB IDADrawingSurface_DrawPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDADrawingSurface_OverlayImage_Proxy( 
    IDADrawingSurface * This,
    /* [in] */ IDAImage *img);


void __RPC_STUB IDADrawingSurface_OverlayImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDADrawingSurface_INTERFACE_DEFINED__ */


#ifndef __IDAPickableResult_INTERFACE_DEFINED__
#define __IDAPickableResult_INTERFACE_DEFINED__

/* interface IDAPickableResult */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAPickableResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4A933703-E36F-11d0-9B99-00C04FC2F51D")
    IDAPickableResult : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Image( 
            /* [retval][out] */ IDAImage **ppImage) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Geometry( 
            /* [retval][out] */ IDAGeometry **ppGeometry) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PickEvent( 
            /* [retval][out] */ IDAEvent **ppPickEvent) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAPickableResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAPickableResult * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAPickableResult * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAPickableResult * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAPickableResult * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAPickableResult * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAPickableResult * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAPickableResult * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDAPickableResult * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Geometry )( 
            IDAPickableResult * This,
            /* [retval][out] */ IDAGeometry **ppGeometry);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PickEvent )( 
            IDAPickableResult * This,
            /* [retval][out] */ IDAEvent **ppPickEvent);
        
        END_INTERFACE
    } IDAPickableResultVtbl;

    interface IDAPickableResult
    {
        CONST_VTBL struct IDAPickableResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAPickableResult_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAPickableResult_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAPickableResult_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAPickableResult_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAPickableResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAPickableResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAPickableResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAPickableResult_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDAPickableResult_get_Geometry(This,ppGeometry)	\
    (This)->lpVtbl -> get_Geometry(This,ppGeometry)

#define IDAPickableResult_get_PickEvent(This,ppPickEvent)	\
    (This)->lpVtbl -> get_PickEvent(This,ppPickEvent)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAPickableResult_get_Image_Proxy( 
    IDAPickableResult * This,
    /* [retval][out] */ IDAImage **ppImage);


void __RPC_STUB IDAPickableResult_get_Image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAPickableResult_get_Geometry_Proxy( 
    IDAPickableResult * This,
    /* [retval][out] */ IDAGeometry **ppGeometry);


void __RPC_STUB IDAPickableResult_get_Geometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAPickableResult_get_PickEvent_Proxy( 
    IDAPickableResult * This,
    /* [retval][out] */ IDAEvent **ppPickEvent);


void __RPC_STUB IDAPickableResult_get_PickEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAPickableResult_INTERFACE_DEFINED__ */


#ifndef __IDAEvent_INTERFACE_DEFINED__
#define __IDAEvent_INTERFACE_DEFINED__

/* interface IDAEvent */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAEvent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("50B4791E-4731-11d0-8912-00C04FC2A0CA")
    IDAEvent : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ IDAUntilNotifier *notifier_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Snapshot( 
            /* [in] */ IDABehavior *b_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AttachData( 
            /* [in] */ IDABehavior *data_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ScriptCallback( 
            /* [in] */ BSTR scriptlet_0,
            /* [in] */ BSTR language_1,
            /* [retval][out] */ IDAEvent **ret_2) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAEventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAEvent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAEvent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAEvent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAEvent * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAEvent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAEvent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAEvent * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAEvent * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAEvent * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAEvent * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAEvent * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAEvent * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAEvent * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAEvent * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAEvent * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAEvent * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAEvent * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAEvent * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAEvent * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAEvent * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAEvent * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IDAEvent * This,
            /* [in] */ IDAUntilNotifier *notifier_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Snapshot )( 
            IDAEvent * This,
            /* [in] */ IDABehavior *b_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AttachData )( 
            IDAEvent * This,
            /* [in] */ IDABehavior *data_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ScriptCallback )( 
            IDAEvent * This,
            /* [in] */ BSTR scriptlet_0,
            /* [in] */ BSTR language_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        END_INTERFACE
    } IDAEventVtbl;

    interface IDAEvent
    {
        CONST_VTBL struct IDAEventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAEvent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAEvent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAEvent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAEvent_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAEvent_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAEvent_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAEvent_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAEvent_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAEvent_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAEvent_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAEvent_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAEvent_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAEvent_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAEvent_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAEvent_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAEvent_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAEvent_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAEvent_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAEvent_Notify(This,notifier_0,ret_1)	\
    (This)->lpVtbl -> Notify(This,notifier_0,ret_1)

#define IDAEvent_Snapshot(This,b_0,ret_1)	\
    (This)->lpVtbl -> Snapshot(This,b_0,ret_1)

#define IDAEvent_AttachData(This,data_0,ret_1)	\
    (This)->lpVtbl -> AttachData(This,data_0,ret_1)

#define IDAEvent_ScriptCallback(This,scriptlet_0,language_1,ret_2)	\
    (This)->lpVtbl -> ScriptCallback(This,scriptlet_0,language_1,ret_2)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAEvent_Notify_Proxy( 
    IDAEvent * This,
    /* [in] */ IDAUntilNotifier *notifier_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAEvent_Notify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAEvent_Snapshot_Proxy( 
    IDAEvent * This,
    /* [in] */ IDABehavior *b_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAEvent_Snapshot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAEvent_AttachData_Proxy( 
    IDAEvent * This,
    /* [in] */ IDABehavior *data_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAEvent_AttachData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAEvent_ScriptCallback_Proxy( 
    IDAEvent * This,
    /* [in] */ BSTR scriptlet_0,
    /* [in] */ BSTR language_1,
    /* [retval][out] */ IDAEvent **ret_2);


void __RPC_STUB IDAEvent_ScriptCallback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAEvent_INTERFACE_DEFINED__ */


#ifndef __IDA2Behavior_INTERFACE_DEFINED__
#define __IDA2Behavior_INTERFACE_DEFINED__

/* interface IDA2Behavior */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2Behavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9CADDC0C-AD56-11d1-9FF8-00C04FA32195")
    IDA2Behavior : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SwitchToEx( 
            /* [in] */ IDABehavior *newBvr,
            /* [in] */ DWORD dwFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ApplyPreference( 
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val,
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ExtendedAttrib( 
            /* [in] */ BSTR arg1,
            /* [in] */ VARIANT arg2,
            /* [retval][out] */ IDABehavior **ppResult) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2BehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2Behavior * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2Behavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2Behavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2Behavior * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2Behavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2Behavior * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2Behavior * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2Behavior * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2Behavior * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2Behavior * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2Behavior * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2Behavior * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2Behavior * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2Behavior * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2Behavior * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2Behavior * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2Behavior * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2Behavior * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2Behavior * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2Behavior * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2Behavior * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToEx )( 
            IDA2Behavior * This,
            /* [in] */ IDABehavior *newBvr,
            /* [in] */ DWORD dwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *ApplyPreference )( 
            IDA2Behavior * This,
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *ExtendedAttrib )( 
            IDA2Behavior * This,
            /* [in] */ BSTR arg1,
            /* [in] */ VARIANT arg2,
            /* [retval][out] */ IDABehavior **ppResult);
        
        END_INTERFACE
    } IDA2BehaviorVtbl;

    interface IDA2Behavior
    {
        CONST_VTBL struct IDA2BehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2Behavior_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2Behavior_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2Behavior_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2Behavior_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2Behavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2Behavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2Behavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2Behavior_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2Behavior_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2Behavior_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2Behavior_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2Behavior_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2Behavior_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2Behavior_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2Behavior_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2Behavior_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2Behavior_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2Behavior_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2Behavior_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2Behavior_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2Behavior_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2Behavior_SwitchToEx(This,newBvr,dwFlags)	\
    (This)->lpVtbl -> SwitchToEx(This,newBvr,dwFlags)

#define IDA2Behavior_ApplyPreference(This,pref,val,bvr)	\
    (This)->lpVtbl -> ApplyPreference(This,pref,val,bvr)

#define IDA2Behavior_ExtendedAttrib(This,arg1,arg2,ppResult)	\
    (This)->lpVtbl -> ExtendedAttrib(This,arg1,arg2,ppResult)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2Behavior_SwitchToEx_Proxy( 
    IDA2Behavior * This,
    /* [in] */ IDABehavior *newBvr,
    /* [in] */ DWORD dwFlags);


void __RPC_STUB IDA2Behavior_SwitchToEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Behavior_ApplyPreference_Proxy( 
    IDA2Behavior * This,
    /* [in] */ BSTR pref,
    /* [in] */ VARIANT val,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDA2Behavior_ApplyPreference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Behavior_ExtendedAttrib_Proxy( 
    IDA2Behavior * This,
    /* [in] */ BSTR arg1,
    /* [in] */ VARIANT arg2,
    /* [retval][out] */ IDABehavior **ppResult);


void __RPC_STUB IDA2Behavior_ExtendedAttrib_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2Behavior_INTERFACE_DEFINED__ */


#ifndef __IDAImport_INTERFACE_DEFINED__
#define __IDAImport_INTERFACE_DEFINED__

/* interface IDAImport */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAImport;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FC54BEAA-5B12-11d1-8E7B-00C04FC29D46")
    IDAImport : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ImportStatus( 
            /* [retval][out] */ LONG *status) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportCancel( void) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ImportPriority( 
            /* [retval][out] */ float *prio) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ImportPriority( 
            /* [in] */ float prio) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAImportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAImport * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAImport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAImport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAImport * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAImport * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAImport * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAImport * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAImport * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAImport * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAImport * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAImport * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAImport * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAImport * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAImport * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAImport * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAImport * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAImport * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAImport * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAImport * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAImport * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAImport * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *ImportStatus )( 
            IDAImport * This,
            /* [retval][out] */ LONG *status);
        
        HRESULT ( STDMETHODCALLTYPE *ImportCancel )( 
            IDAImport * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImportPriority )( 
            IDAImport * This,
            /* [retval][out] */ float *prio);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImportPriority )( 
            IDAImport * This,
            /* [in] */ float prio);
        
        END_INTERFACE
    } IDAImportVtbl;

    interface IDAImport
    {
        CONST_VTBL struct IDAImportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAImport_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAImport_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAImport_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAImport_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAImport_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAImport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAImport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAImport_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAImport_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAImport_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAImport_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAImport_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAImport_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAImport_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAImport_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAImport_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAImport_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAImport_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAImport_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAImport_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAImport_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAImport_ImportStatus(This,status)	\
    (This)->lpVtbl -> ImportStatus(This,status)

#define IDAImport_ImportCancel(This)	\
    (This)->lpVtbl -> ImportCancel(This)

#define IDAImport_get_ImportPriority(This,prio)	\
    (This)->lpVtbl -> get_ImportPriority(This,prio)

#define IDAImport_put_ImportPriority(This,prio)	\
    (This)->lpVtbl -> put_ImportPriority(This,prio)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAImport_ImportStatus_Proxy( 
    IDAImport * This,
    /* [retval][out] */ LONG *status);


void __RPC_STUB IDAImport_ImportStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImport_ImportCancel_Proxy( 
    IDAImport * This);


void __RPC_STUB IDAImport_ImportCancel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImport_get_ImportPriority_Proxy( 
    IDAImport * This,
    /* [retval][out] */ float *prio);


void __RPC_STUB IDAImport_get_ImportPriority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAImport_put_ImportPriority_Proxy( 
    IDAImport * This,
    /* [in] */ float prio);


void __RPC_STUB IDAImport_put_ImportPriority_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAImport_INTERFACE_DEFINED__ */


#ifndef __IDAModifiableBehavior_INTERFACE_DEFINED__
#define __IDAModifiableBehavior_INTERFACE_DEFINED__

/* interface IDAModifiableBehavior */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAModifiableBehavior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FC54BEAB-5B12-11d1-8E7B-00C04FC29D46")
    IDAModifiableBehavior : public IDABehavior
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentBehavior( 
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CurrentBehavior( 
            /* [in] */ VARIANT val) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SwitchToEx( 
            /* [in] */ IDABehavior *newBvr,
            /* [in] */ DWORD dwFlags) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAModifiableBehaviorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAModifiableBehavior * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAModifiableBehavior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAModifiableBehavior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAModifiableBehavior * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAModifiableBehavior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAModifiableBehavior * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAModifiableBehavior * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAModifiableBehavior * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAModifiableBehavior * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAModifiableBehavior * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAModifiableBehavior * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAModifiableBehavior * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAModifiableBehavior * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAModifiableBehavior * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAModifiableBehavior * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAModifiableBehavior * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAModifiableBehavior * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAModifiableBehavior * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAModifiableBehavior * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAModifiableBehavior * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAModifiableBehavior * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentBehavior )( 
            IDAModifiableBehavior * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentBehavior )( 
            IDAModifiableBehavior * This,
            /* [in] */ VARIANT val);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToEx )( 
            IDAModifiableBehavior * This,
            /* [in] */ IDABehavior *newBvr,
            /* [in] */ DWORD dwFlags);
        
        END_INTERFACE
    } IDAModifiableBehaviorVtbl;

    interface IDAModifiableBehavior
    {
        CONST_VTBL struct IDAModifiableBehaviorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAModifiableBehavior_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAModifiableBehavior_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAModifiableBehavior_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAModifiableBehavior_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAModifiableBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAModifiableBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAModifiableBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAModifiableBehavior_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAModifiableBehavior_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAModifiableBehavior_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAModifiableBehavior_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAModifiableBehavior_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAModifiableBehavior_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAModifiableBehavior_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAModifiableBehavior_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAModifiableBehavior_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAModifiableBehavior_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAModifiableBehavior_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAModifiableBehavior_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAModifiableBehavior_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAModifiableBehavior_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAModifiableBehavior_get_CurrentBehavior(This,bvr)	\
    (This)->lpVtbl -> get_CurrentBehavior(This,bvr)

#define IDAModifiableBehavior_put_CurrentBehavior(This,val)	\
    (This)->lpVtbl -> put_CurrentBehavior(This,val)

#define IDAModifiableBehavior_SwitchToEx(This,newBvr,dwFlags)	\
    (This)->lpVtbl -> SwitchToEx(This,newBvr,dwFlags)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAModifiableBehavior_get_CurrentBehavior_Proxy( 
    IDAModifiableBehavior * This,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDAModifiableBehavior_get_CurrentBehavior_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAModifiableBehavior_put_CurrentBehavior_Proxy( 
    IDAModifiableBehavior * This,
    /* [in] */ VARIANT val);


void __RPC_STUB IDAModifiableBehavior_put_CurrentBehavior_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAModifiableBehavior_SwitchToEx_Proxy( 
    IDAModifiableBehavior * This,
    /* [in] */ IDABehavior *newBvr,
    /* [in] */ DWORD dwFlags);


void __RPC_STUB IDAModifiableBehavior_SwitchToEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAModifiableBehavior_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DABehavior;

#ifdef __cplusplus

class DECLSPEC_UUID("283807B8-2C60-11d0-A31D-00AA00B92C03")
DABehavior;
#endif

#ifndef __IDAUntilNotifier_INTERFACE_DEFINED__
#define __IDAUntilNotifier_INTERFACE_DEFINED__

/* interface IDAUntilNotifier */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAUntilNotifier;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3F3DA01A-4705-11d0-8710-00C04FC29D46")
    IDAUntilNotifier : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Notify( 
            /* [in] */ IDABehavior *eventData,
            /* [in] */ IDABehavior *curRunningBvr,
            /* [in] */ IDAView *curView,
            /* [retval][out] */ IDABehavior **ppBvr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAUntilNotifierVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAUntilNotifier * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAUntilNotifier * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAUntilNotifier * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAUntilNotifier * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAUntilNotifier * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAUntilNotifier * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAUntilNotifier * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IDAUntilNotifier * This,
            /* [in] */ IDABehavior *eventData,
            /* [in] */ IDABehavior *curRunningBvr,
            /* [in] */ IDAView *curView,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        END_INTERFACE
    } IDAUntilNotifierVtbl;

    interface IDAUntilNotifier
    {
        CONST_VTBL struct IDAUntilNotifierVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAUntilNotifier_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAUntilNotifier_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAUntilNotifier_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAUntilNotifier_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAUntilNotifier_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAUntilNotifier_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAUntilNotifier_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAUntilNotifier_Notify(This,eventData,curRunningBvr,curView,ppBvr)	\
    (This)->lpVtbl -> Notify(This,eventData,curRunningBvr,curView,ppBvr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAUntilNotifier_Notify_Proxy( 
    IDAUntilNotifier * This,
    /* [in] */ IDABehavior *eventData,
    /* [in] */ IDABehavior *curRunningBvr,
    /* [in] */ IDAView *curView,
    /* [retval][out] */ IDABehavior **ppBvr);


void __RPC_STUB IDAUntilNotifier_Notify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAUntilNotifier_INTERFACE_DEFINED__ */


#ifndef __IDABoolean_INTERFACE_DEFINED__
#define __IDABoolean_INTERFACE_DEFINED__

/* interface IDABoolean */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDABoolean;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BC0-3C52-11d0-9200-848C1D000000")
    IDABoolean : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Extract( 
            /* [retval][out] */ VARIANT_BOOL *ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDABooleanVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDABoolean * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDABoolean * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDABoolean * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDABoolean * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDABoolean * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDABoolean * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDABoolean * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDABoolean * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDABoolean * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDABoolean * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDABoolean * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDABoolean * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDABoolean * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDABoolean * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDABoolean * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDABoolean * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDABoolean * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDABoolean * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDABoolean * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDABoolean * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDABoolean * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Extract )( 
            IDABoolean * This,
            /* [retval][out] */ VARIANT_BOOL *ret_0);
        
        END_INTERFACE
    } IDABooleanVtbl;

    interface IDABoolean
    {
        CONST_VTBL struct IDABooleanVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDABoolean_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDABoolean_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDABoolean_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDABoolean_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDABoolean_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDABoolean_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDABoolean_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDABoolean_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDABoolean_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDABoolean_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDABoolean_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDABoolean_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDABoolean_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDABoolean_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDABoolean_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDABoolean_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDABoolean_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDABoolean_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDABoolean_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDABoolean_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDABoolean_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDABoolean_Extract(This,ret_0)	\
    (This)->lpVtbl -> Extract(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDABoolean_Extract_Proxy( 
    IDABoolean * This,
    /* [retval][out] */ VARIANT_BOOL *ret_0);


void __RPC_STUB IDABoolean_Extract_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDABoolean_INTERFACE_DEFINED__ */


#ifndef __IDACamera_INTERFACE_DEFINED__
#define __IDACamera_INTERFACE_DEFINED__

/* interface IDACamera */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDACamera;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BE1-3C52-11d0-9200-848C1D000000")
    IDACamera : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDACamera **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Depth( 
            /* [in] */ double depth_0,
            /* [retval][out] */ IDACamera **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DepthAnim( 
            /* [in] */ IDANumber *depth_0,
            /* [retval][out] */ IDACamera **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DepthResolution( 
            /* [in] */ double resolution_0,
            /* [retval][out] */ IDACamera **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DepthResolutionAnim( 
            /* [in] */ IDANumber *resolution_0,
            /* [retval][out] */ IDACamera **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDACameraVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDACamera * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDACamera * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDACamera * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDACamera * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDACamera * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDACamera * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDACamera * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDACamera * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDACamera * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDACamera * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDACamera * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDACamera * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDACamera * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDACamera * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDACamera * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDACamera * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDACamera * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDACamera * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDACamera * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDACamera * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDACamera * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDACamera * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Depth )( 
            IDACamera * This,
            /* [in] */ double depth_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DepthAnim )( 
            IDACamera * This,
            /* [in] */ IDANumber *depth_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DepthResolution )( 
            IDACamera * This,
            /* [in] */ double resolution_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DepthResolutionAnim )( 
            IDACamera * This,
            /* [in] */ IDANumber *resolution_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        END_INTERFACE
    } IDACameraVtbl;

    interface IDACamera
    {
        CONST_VTBL struct IDACameraVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDACamera_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDACamera_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDACamera_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDACamera_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDACamera_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDACamera_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDACamera_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDACamera_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDACamera_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDACamera_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDACamera_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDACamera_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDACamera_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDACamera_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDACamera_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDACamera_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDACamera_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDACamera_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDACamera_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDACamera_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDACamera_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDACamera_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDACamera_Depth(This,depth_0,ret_1)	\
    (This)->lpVtbl -> Depth(This,depth_0,ret_1)

#define IDACamera_DepthAnim(This,depth_0,ret_1)	\
    (This)->lpVtbl -> DepthAnim(This,depth_0,ret_1)

#define IDACamera_DepthResolution(This,resolution_0,ret_1)	\
    (This)->lpVtbl -> DepthResolution(This,resolution_0,ret_1)

#define IDACamera_DepthResolutionAnim(This,resolution_0,ret_1)	\
    (This)->lpVtbl -> DepthResolutionAnim(This,resolution_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDACamera_Transform_Proxy( 
    IDACamera * This,
    /* [in] */ IDATransform3 *xf_0,
    /* [retval][out] */ IDACamera **ret_1);


void __RPC_STUB IDACamera_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDACamera_Depth_Proxy( 
    IDACamera * This,
    /* [in] */ double depth_0,
    /* [retval][out] */ IDACamera **ret_1);


void __RPC_STUB IDACamera_Depth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDACamera_DepthAnim_Proxy( 
    IDACamera * This,
    /* [in] */ IDANumber *depth_0,
    /* [retval][out] */ IDACamera **ret_1);


void __RPC_STUB IDACamera_DepthAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDACamera_DepthResolution_Proxy( 
    IDACamera * This,
    /* [in] */ double resolution_0,
    /* [retval][out] */ IDACamera **ret_1);


void __RPC_STUB IDACamera_DepthResolution_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDACamera_DepthResolutionAnim_Proxy( 
    IDACamera * This,
    /* [in] */ IDANumber *resolution_0,
    /* [retval][out] */ IDACamera **ret_1);


void __RPC_STUB IDACamera_DepthResolutionAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDACamera_INTERFACE_DEFINED__ */


#ifndef __IDAColor_INTERFACE_DEFINED__
#define __IDAColor_INTERFACE_DEFINED__

/* interface IDAColor */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BC5-3C52-11d0-9200-848C1D000000")
    IDAColor : public IDABehavior
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Red( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Green( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Blue( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Hue( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Saturation( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Lightness( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAColor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAColor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAColor * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAColor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAColor * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAColor * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAColor * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAColor * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAColor * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAColor * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAColor * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAColor * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAColor * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAColor * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAColor * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAColor * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAColor * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAColor * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAColor * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAColor * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Red )( 
            IDAColor * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Green )( 
            IDAColor * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Blue )( 
            IDAColor * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Hue )( 
            IDAColor * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Saturation )( 
            IDAColor * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lightness )( 
            IDAColor * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        END_INTERFACE
    } IDAColorVtbl;

    interface IDAColor
    {
        CONST_VTBL struct IDAColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAColor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAColor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAColor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAColor_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAColor_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAColor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAColor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAColor_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAColor_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAColor_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAColor_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAColor_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAColor_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAColor_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAColor_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAColor_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAColor_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAColor_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAColor_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAColor_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAColor_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAColor_get_Red(This,ret_0)	\
    (This)->lpVtbl -> get_Red(This,ret_0)

#define IDAColor_get_Green(This,ret_0)	\
    (This)->lpVtbl -> get_Green(This,ret_0)

#define IDAColor_get_Blue(This,ret_0)	\
    (This)->lpVtbl -> get_Blue(This,ret_0)

#define IDAColor_get_Hue(This,ret_0)	\
    (This)->lpVtbl -> get_Hue(This,ret_0)

#define IDAColor_get_Saturation(This,ret_0)	\
    (This)->lpVtbl -> get_Saturation(This,ret_0)

#define IDAColor_get_Lightness(This,ret_0)	\
    (This)->lpVtbl -> get_Lightness(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDAColor_get_Red_Proxy( 
    IDAColor * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAColor_get_Red_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAColor_get_Green_Proxy( 
    IDAColor * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAColor_get_Green_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAColor_get_Blue_Proxy( 
    IDAColor * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAColor_get_Blue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAColor_get_Hue_Proxy( 
    IDAColor * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAColor_get_Hue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAColor_get_Saturation_Proxy( 
    IDAColor * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAColor_get_Saturation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAColor_get_Lightness_Proxy( 
    IDAColor * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAColor_get_Lightness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAColor_INTERFACE_DEFINED__ */


#ifndef __IDAGeometry_INTERFACE_DEFINED__
#define __IDAGeometry_INTERFACE_DEFINED__

/* interface IDAGeometry */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAGeometry;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BDF-3C52-11d0-9200-848C1D000000")
    IDAGeometry : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RenderSound( 
            /* [in] */ IDAMicrophone *mic_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Pickable( 
            /* [retval][out] */ IDAPickableResult **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PickableOccluded( 
            /* [retval][out] */ IDAPickableResult **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Undetectable( 
            /* [retval][out] */ IDAGeometry **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EmissiveColor( 
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DiffuseColor( 
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SpecularColor( 
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SpecularExponent( 
            /* [in] */ double power_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SpecularExponentAnim( 
            /* [in] */ IDANumber *power_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Texture( 
            /* [in] */ IDAImage *texture_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Opacity( 
            /* [in] */ double level_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpacityAnim( 
            /* [in] */ IDANumber *level_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BoundingBox( 
            /* [retval][out] */ IDABbox3 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Render( 
            /* [in] */ IDACamera *cam_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LightColor( 
            /* [in] */ IDAColor *color_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LightAttenuationAnim( 
            /* [in] */ IDANumber *constant_0,
            /* [in] */ IDANumber *linear_1,
            /* [in] */ IDANumber *quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LightAttenuation( 
            /* [in] */ double constant_0,
            /* [in] */ double linear_1,
            /* [in] */ double quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAGeometryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAGeometry * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAGeometry * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAGeometry * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAGeometry * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAGeometry * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAGeometry * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAGeometry * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAGeometry * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAGeometry * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAGeometry * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAGeometry * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAGeometry * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAGeometry * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAGeometry * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAGeometry * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAGeometry * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAGeometry * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAGeometry * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAGeometry * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAGeometry * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAGeometry * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *RenderSound )( 
            IDAGeometry * This,
            /* [in] */ IDAMicrophone *mic_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Pickable )( 
            IDAGeometry * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *PickableOccluded )( 
            IDAGeometry * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Undetectable )( 
            IDAGeometry * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *EmissiveColor )( 
            IDAGeometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DiffuseColor )( 
            IDAGeometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularColor )( 
            IDAGeometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularExponent )( 
            IDAGeometry * This,
            /* [in] */ double power_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularExponentAnim )( 
            IDAGeometry * This,
            /* [in] */ IDANumber *power_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Texture )( 
            IDAGeometry * This,
            /* [in] */ IDAImage *texture_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Opacity )( 
            IDAGeometry * This,
            /* [in] */ double level_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OpacityAnim )( 
            IDAGeometry * This,
            /* [in] */ IDANumber *level_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAGeometry * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundingBox )( 
            IDAGeometry * This,
            /* [retval][out] */ IDABbox3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            IDAGeometry * This,
            /* [in] */ IDACamera *cam_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightColor )( 
            IDAGeometry * This,
            /* [in] */ IDAColor *color_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightAttenuationAnim )( 
            IDAGeometry * This,
            /* [in] */ IDANumber *constant_0,
            /* [in] */ IDANumber *linear_1,
            /* [in] */ IDANumber *quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *LightAttenuation )( 
            IDAGeometry * This,
            /* [in] */ double constant_0,
            /* [in] */ double linear_1,
            /* [in] */ double quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        END_INTERFACE
    } IDAGeometryVtbl;

    interface IDAGeometry
    {
        CONST_VTBL struct IDAGeometryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAGeometry_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAGeometry_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAGeometry_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAGeometry_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAGeometry_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAGeometry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAGeometry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAGeometry_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAGeometry_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAGeometry_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAGeometry_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAGeometry_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAGeometry_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAGeometry_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAGeometry_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAGeometry_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAGeometry_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAGeometry_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAGeometry_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAGeometry_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAGeometry_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAGeometry_RenderSound(This,mic_0,ret_1)	\
    (This)->lpVtbl -> RenderSound(This,mic_0,ret_1)

#define IDAGeometry_Pickable(This,ret_0)	\
    (This)->lpVtbl -> Pickable(This,ret_0)

#define IDAGeometry_PickableOccluded(This,ret_0)	\
    (This)->lpVtbl -> PickableOccluded(This,ret_0)

#define IDAGeometry_Undetectable(This,ret_0)	\
    (This)->lpVtbl -> Undetectable(This,ret_0)

#define IDAGeometry_EmissiveColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> EmissiveColor(This,col_0,ret_1)

#define IDAGeometry_DiffuseColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> DiffuseColor(This,col_0,ret_1)

#define IDAGeometry_SpecularColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> SpecularColor(This,col_0,ret_1)

#define IDAGeometry_SpecularExponent(This,power_0,ret_1)	\
    (This)->lpVtbl -> SpecularExponent(This,power_0,ret_1)

#define IDAGeometry_SpecularExponentAnim(This,power_0,ret_1)	\
    (This)->lpVtbl -> SpecularExponentAnim(This,power_0,ret_1)

#define IDAGeometry_Texture(This,texture_0,ret_1)	\
    (This)->lpVtbl -> Texture(This,texture_0,ret_1)

#define IDAGeometry_Opacity(This,level_0,ret_1)	\
    (This)->lpVtbl -> Opacity(This,level_0,ret_1)

#define IDAGeometry_OpacityAnim(This,level_0,ret_1)	\
    (This)->lpVtbl -> OpacityAnim(This,level_0,ret_1)

#define IDAGeometry_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDAGeometry_get_BoundingBox(This,ret_0)	\
    (This)->lpVtbl -> get_BoundingBox(This,ret_0)

#define IDAGeometry_Render(This,cam_0,ret_1)	\
    (This)->lpVtbl -> Render(This,cam_0,ret_1)

#define IDAGeometry_LightColor(This,color_0,ret_1)	\
    (This)->lpVtbl -> LightColor(This,color_0,ret_1)

#define IDAGeometry_LightAttenuationAnim(This,constant_0,linear_1,quadratic_2,ret_3)	\
    (This)->lpVtbl -> LightAttenuationAnim(This,constant_0,linear_1,quadratic_2,ret_3)

#define IDAGeometry_LightAttenuation(This,constant_0,linear_1,quadratic_2,ret_3)	\
    (This)->lpVtbl -> LightAttenuation(This,constant_0,linear_1,quadratic_2,ret_3)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAGeometry_RenderSound_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDAMicrophone *mic_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDAGeometry_RenderSound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_Pickable_Proxy( 
    IDAGeometry * This,
    /* [retval][out] */ IDAPickableResult **ret_0);


void __RPC_STUB IDAGeometry_Pickable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_PickableOccluded_Proxy( 
    IDAGeometry * This,
    /* [retval][out] */ IDAPickableResult **ret_0);


void __RPC_STUB IDAGeometry_PickableOccluded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_Undetectable_Proxy( 
    IDAGeometry * This,
    /* [retval][out] */ IDAGeometry **ret_0);


void __RPC_STUB IDAGeometry_Undetectable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_EmissiveColor_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDAColor *col_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_EmissiveColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_DiffuseColor_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDAColor *col_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_DiffuseColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_SpecularColor_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDAColor *col_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_SpecularColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_SpecularExponent_Proxy( 
    IDAGeometry * This,
    /* [in] */ double power_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_SpecularExponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_SpecularExponentAnim_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDANumber *power_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_SpecularExponentAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_Texture_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDAImage *texture_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_Texture_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_Opacity_Proxy( 
    IDAGeometry * This,
    /* [in] */ double level_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_Opacity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_OpacityAnim_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDANumber *level_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_OpacityAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_Transform_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDATransform3 *xf_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAGeometry_get_BoundingBox_Proxy( 
    IDAGeometry * This,
    /* [retval][out] */ IDABbox3 **ret_0);


void __RPC_STUB IDAGeometry_get_BoundingBox_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_Render_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDACamera *cam_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAGeometry_Render_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_LightColor_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDAColor *color_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAGeometry_LightColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_LightAttenuationAnim_Proxy( 
    IDAGeometry * This,
    /* [in] */ IDANumber *constant_0,
    /* [in] */ IDANumber *linear_1,
    /* [in] */ IDANumber *quadratic_2,
    /* [retval][out] */ IDAGeometry **ret_3);


void __RPC_STUB IDAGeometry_LightAttenuationAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAGeometry_LightAttenuation_Proxy( 
    IDAGeometry * This,
    /* [in] */ double constant_0,
    /* [in] */ double linear_1,
    /* [in] */ double quadratic_2,
    /* [retval][out] */ IDAGeometry **ret_3);


void __RPC_STUB IDAGeometry_LightAttenuation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAGeometry_INTERFACE_DEFINED__ */


#ifndef __IDAImage_INTERFACE_DEFINED__
#define __IDAImage_INTERFACE_DEFINED__

/* interface IDAImage */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAImage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BD3-3C52-11d0-9200-848C1D000000")
    IDAImage : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Pickable( 
            /* [retval][out] */ IDAPickableResult **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PickableOccluded( 
            /* [retval][out] */ IDAPickableResult **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ApplyBitmapEffect( 
            /* [in] */ IUnknown *effectToApply_0,
            /* [in] */ IDAEvent *firesWhenChanged_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BoundingBox( 
            /* [retval][out] */ IDABbox2 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Crop( 
            /* [in] */ IDAPoint2 *min_0,
            /* [in] */ IDAPoint2 *max_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpacityAnim( 
            /* [in] */ IDANumber *opacity_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Opacity( 
            /* [in] */ double opacity_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Undetectable( 
            /* [retval][out] */ IDAImage **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Tile( 
            /* [retval][out] */ IDAImage **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clip( 
            /* [in] */ IDAMatte *m_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MapToUnitSquare( 
            /* [retval][out] */ IDAImage **ret_0) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE ClipPolygonImageEx( 
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClipPolygonImage( 
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAImage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAImage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAImage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAImage * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAImage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAImage * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAImage * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAImage * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAImage * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAImage * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAImage * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAImage * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAImage * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAImage * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAImage * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAImage * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAImage * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAImage * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAImage * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAImage * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAImage * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Pickable )( 
            IDAImage * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *PickableOccluded )( 
            IDAImage * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ApplyBitmapEffect )( 
            IDAImage * This,
            /* [in] */ IUnknown *effectToApply_0,
            /* [in] */ IDAEvent *firesWhenChanged_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundingBox )( 
            IDAImage * This,
            /* [retval][out] */ IDABbox2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Crop )( 
            IDAImage * This,
            /* [in] */ IDAPoint2 *min_0,
            /* [in] */ IDAPoint2 *max_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAImage * This,
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OpacityAnim )( 
            IDAImage * This,
            /* [in] */ IDANumber *opacity_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Opacity )( 
            IDAImage * This,
            /* [in] */ double opacity_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Undetectable )( 
            IDAImage * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Tile )( 
            IDAImage * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Clip )( 
            IDAImage * This,
            /* [in] */ IDAMatte *m_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MapToUnitSquare )( 
            IDAImage * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ClipPolygonImageEx )( 
            IDAImage * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ClipPolygonImage )( 
            IDAImage * This,
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        END_INTERFACE
    } IDAImageVtbl;

    interface IDAImage
    {
        CONST_VTBL struct IDAImageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAImage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAImage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAImage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAImage_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAImage_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAImage_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAImage_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAImage_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAImage_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAImage_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAImage_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAImage_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAImage_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAImage_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAImage_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAImage_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAImage_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAImage_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAImage_Pickable(This,ret_0)	\
    (This)->lpVtbl -> Pickable(This,ret_0)

#define IDAImage_PickableOccluded(This,ret_0)	\
    (This)->lpVtbl -> PickableOccluded(This,ret_0)

#define IDAImage_ApplyBitmapEffect(This,effectToApply_0,firesWhenChanged_1,ret_2)	\
    (This)->lpVtbl -> ApplyBitmapEffect(This,effectToApply_0,firesWhenChanged_1,ret_2)

#define IDAImage_get_BoundingBox(This,ret_0)	\
    (This)->lpVtbl -> get_BoundingBox(This,ret_0)

#define IDAImage_Crop(This,min_0,max_1,ret_2)	\
    (This)->lpVtbl -> Crop(This,min_0,max_1,ret_2)

#define IDAImage_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDAImage_OpacityAnim(This,opacity_0,ret_1)	\
    (This)->lpVtbl -> OpacityAnim(This,opacity_0,ret_1)

#define IDAImage_Opacity(This,opacity_0,ret_1)	\
    (This)->lpVtbl -> Opacity(This,opacity_0,ret_1)

#define IDAImage_Undetectable(This,ret_0)	\
    (This)->lpVtbl -> Undetectable(This,ret_0)

#define IDAImage_Tile(This,ret_0)	\
    (This)->lpVtbl -> Tile(This,ret_0)

#define IDAImage_Clip(This,m_0,ret_1)	\
    (This)->lpVtbl -> Clip(This,m_0,ret_1)

#define IDAImage_MapToUnitSquare(This,ret_0)	\
    (This)->lpVtbl -> MapToUnitSquare(This,ret_0)

#define IDAImage_ClipPolygonImageEx(This,points_0size,points_0,ret_1)	\
    (This)->lpVtbl -> ClipPolygonImageEx(This,points_0size,points_0,ret_1)

#define IDAImage_ClipPolygonImage(This,points_0,ret_1)	\
    (This)->lpVtbl -> ClipPolygonImage(This,points_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAImage_Pickable_Proxy( 
    IDAImage * This,
    /* [retval][out] */ IDAPickableResult **ret_0);


void __RPC_STUB IDAImage_Pickable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_PickableOccluded_Proxy( 
    IDAImage * This,
    /* [retval][out] */ IDAPickableResult **ret_0);


void __RPC_STUB IDAImage_PickableOccluded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_ApplyBitmapEffect_Proxy( 
    IDAImage * This,
    /* [in] */ IUnknown *effectToApply_0,
    /* [in] */ IDAEvent *firesWhenChanged_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAImage_ApplyBitmapEffect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAImage_get_BoundingBox_Proxy( 
    IDAImage * This,
    /* [retval][out] */ IDABbox2 **ret_0);


void __RPC_STUB IDAImage_get_BoundingBox_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_Crop_Proxy( 
    IDAImage * This,
    /* [in] */ IDAPoint2 *min_0,
    /* [in] */ IDAPoint2 *max_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAImage_Crop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_Transform_Proxy( 
    IDAImage * This,
    /* [in] */ IDATransform2 *xf_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAImage_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_OpacityAnim_Proxy( 
    IDAImage * This,
    /* [in] */ IDANumber *opacity_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAImage_OpacityAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_Opacity_Proxy( 
    IDAImage * This,
    /* [in] */ double opacity_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAImage_Opacity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_Undetectable_Proxy( 
    IDAImage * This,
    /* [retval][out] */ IDAImage **ret_0);


void __RPC_STUB IDAImage_Undetectable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_Tile_Proxy( 
    IDAImage * This,
    /* [retval][out] */ IDAImage **ret_0);


void __RPC_STUB IDAImage_Tile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_Clip_Proxy( 
    IDAImage * This,
    /* [in] */ IDAMatte *m_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAImage_Clip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_MapToUnitSquare_Proxy( 
    IDAImage * This,
    /* [retval][out] */ IDAImage **ret_0);


void __RPC_STUB IDAImage_MapToUnitSquare_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAImage_ClipPolygonImageEx_Proxy( 
    IDAImage * This,
    /* [in] */ LONG points_0size,
    /* [size_is][in] */ IDAPoint2 *points_0[  ],
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAImage_ClipPolygonImageEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAImage_ClipPolygonImage_Proxy( 
    IDAImage * This,
    /* [in] */ VARIANT points_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAImage_ClipPolygonImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAImage_INTERFACE_DEFINED__ */


#ifndef __IDAMatte_INTERFACE_DEFINED__
#define __IDAMatte_INTERFACE_DEFINED__

/* interface IDAMatte */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAMatte;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BD1-3C52-11d0-9200-848C1D000000")
    IDAMatte : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAMatte **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAMatteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAMatte * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAMatte * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAMatte * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAMatte * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAMatte * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAMatte * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAMatte * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAMatte * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAMatte * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAMatte * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAMatte * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAMatte * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAMatte * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAMatte * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAMatte * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAMatte * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAMatte * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAMatte * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAMatte * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAMatte * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAMatte * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAMatte * This,
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAMatte **ret_1);
        
        END_INTERFACE
    } IDAMatteVtbl;

    interface IDAMatte
    {
        CONST_VTBL struct IDAMatteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAMatte_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAMatte_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAMatte_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAMatte_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAMatte_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAMatte_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAMatte_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAMatte_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAMatte_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAMatte_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAMatte_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAMatte_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAMatte_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAMatte_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAMatte_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAMatte_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAMatte_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAMatte_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAMatte_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAMatte_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAMatte_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAMatte_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAMatte_Transform_Proxy( 
    IDAMatte * This,
    /* [in] */ IDATransform2 *xf_0,
    /* [retval][out] */ IDAMatte **ret_1);


void __RPC_STUB IDAMatte_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAMatte_INTERFACE_DEFINED__ */


#ifndef __IDAMicrophone_INTERFACE_DEFINED__
#define __IDAMicrophone_INTERFACE_DEFINED__

/* interface IDAMicrophone */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAMicrophone;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BE5-3C52-11d0-9200-848C1D000000")
    IDAMicrophone : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAMicrophone **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAMicrophoneVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAMicrophone * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAMicrophone * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAMicrophone * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAMicrophone * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAMicrophone * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAMicrophone * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAMicrophone * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAMicrophone * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAMicrophone * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAMicrophone * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAMicrophone * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAMicrophone * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAMicrophone * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAMicrophone * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAMicrophone * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAMicrophone * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAMicrophone * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAMicrophone * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAMicrophone * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAMicrophone * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAMicrophone * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAMicrophone * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAMicrophone **ret_1);
        
        END_INTERFACE
    } IDAMicrophoneVtbl;

    interface IDAMicrophone
    {
        CONST_VTBL struct IDAMicrophoneVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAMicrophone_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAMicrophone_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAMicrophone_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAMicrophone_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAMicrophone_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAMicrophone_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAMicrophone_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAMicrophone_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAMicrophone_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAMicrophone_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAMicrophone_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAMicrophone_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAMicrophone_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAMicrophone_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAMicrophone_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAMicrophone_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAMicrophone_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAMicrophone_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAMicrophone_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAMicrophone_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAMicrophone_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAMicrophone_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAMicrophone_Transform_Proxy( 
    IDAMicrophone * This,
    /* [in] */ IDATransform3 *xf_0,
    /* [retval][out] */ IDAMicrophone **ret_1);


void __RPC_STUB IDAMicrophone_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAMicrophone_INTERFACE_DEFINED__ */


#ifndef __IDAMontage_INTERFACE_DEFINED__
#define __IDAMontage_INTERFACE_DEFINED__

/* interface IDAMontage */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAMontage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BD5-3C52-11d0-9200-848C1D000000")
    IDAMontage : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Render( 
            /* [retval][out] */ IDAImage **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAMontageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAMontage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAMontage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAMontage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAMontage * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAMontage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAMontage * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAMontage * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAMontage * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAMontage * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAMontage * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAMontage * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAMontage * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAMontage * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAMontage * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAMontage * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAMontage * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAMontage * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAMontage * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAMontage * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAMontage * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAMontage * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            IDAMontage * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        END_INTERFACE
    } IDAMontageVtbl;

    interface IDAMontage
    {
        CONST_VTBL struct IDAMontageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAMontage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAMontage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAMontage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAMontage_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAMontage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAMontage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAMontage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAMontage_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAMontage_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAMontage_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAMontage_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAMontage_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAMontage_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAMontage_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAMontage_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAMontage_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAMontage_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAMontage_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAMontage_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAMontage_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAMontage_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAMontage_Render(This,ret_0)	\
    (This)->lpVtbl -> Render(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAMontage_Render_Proxy( 
    IDAMontage * This,
    /* [retval][out] */ IDAImage **ret_0);


void __RPC_STUB IDAMontage_Render_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAMontage_INTERFACE_DEFINED__ */


#ifndef __IDAPath2_INTERFACE_DEFINED__
#define __IDAPath2_INTERFACE_DEFINED__

/* interface IDAPath2 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAPath2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BCF-3C52-11d0-9200-848C1D000000")
    IDAPath2 : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAPath2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BoundingBox( 
            /* [in] */ IDALineStyle *style_0,
            /* [retval][out] */ IDABbox2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Fill( 
            /* [in] */ IDALineStyle *border_0,
            /* [in] */ IDAImage *fill_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Draw( 
            /* [in] */ IDALineStyle *border_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( 
            /* [retval][out] */ IDAPath2 **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAPath2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAPath2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAPath2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAPath2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAPath2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAPath2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAPath2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAPath2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAPath2 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAPath2 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAPath2 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAPath2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAPath2 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAPath2 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAPath2 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAPath2 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAPath2 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAPath2 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAPath2 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAPath2 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAPath2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAPath2 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAPath2 * This,
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *BoundingBox )( 
            IDAPath2 * This,
            /* [in] */ IDALineStyle *style_0,
            /* [retval][out] */ IDABbox2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Fill )( 
            IDAPath2 * This,
            /* [in] */ IDALineStyle *border_0,
            /* [in] */ IDAImage *fill_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Draw )( 
            IDAPath2 * This,
            /* [in] */ IDALineStyle *border_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            IDAPath2 * This,
            /* [retval][out] */ IDAPath2 **ret_0);
        
        END_INTERFACE
    } IDAPath2Vtbl;

    interface IDAPath2
    {
        CONST_VTBL struct IDAPath2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAPath2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAPath2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAPath2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAPath2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAPath2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAPath2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAPath2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAPath2_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAPath2_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAPath2_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAPath2_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAPath2_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAPath2_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAPath2_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAPath2_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAPath2_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAPath2_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAPath2_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAPath2_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAPath2_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAPath2_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAPath2_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDAPath2_BoundingBox(This,style_0,ret_1)	\
    (This)->lpVtbl -> BoundingBox(This,style_0,ret_1)

#define IDAPath2_Fill(This,border_0,fill_1,ret_2)	\
    (This)->lpVtbl -> Fill(This,border_0,fill_1,ret_2)

#define IDAPath2_Draw(This,border_0,ret_1)	\
    (This)->lpVtbl -> Draw(This,border_0,ret_1)

#define IDAPath2_Close(This,ret_0)	\
    (This)->lpVtbl -> Close(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAPath2_Transform_Proxy( 
    IDAPath2 * This,
    /* [in] */ IDATransform2 *xf_0,
    /* [retval][out] */ IDAPath2 **ret_1);


void __RPC_STUB IDAPath2_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPath2_BoundingBox_Proxy( 
    IDAPath2 * This,
    /* [in] */ IDALineStyle *style_0,
    /* [retval][out] */ IDABbox2 **ret_1);


void __RPC_STUB IDAPath2_BoundingBox_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPath2_Fill_Proxy( 
    IDAPath2 * This,
    /* [in] */ IDALineStyle *border_0,
    /* [in] */ IDAImage *fill_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAPath2_Fill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPath2_Draw_Proxy( 
    IDAPath2 * This,
    /* [in] */ IDALineStyle *border_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAPath2_Draw_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPath2_Close_Proxy( 
    IDAPath2 * This,
    /* [retval][out] */ IDAPath2 **ret_0);


void __RPC_STUB IDAPath2_Close_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAPath2_INTERFACE_DEFINED__ */


#ifndef __IDAPoint2_INTERFACE_DEFINED__
#define __IDAPoint2_INTERFACE_DEFINED__

/* interface IDAPoint2 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAPoint2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BC7-3C52-11d0-9200-848C1D000000")
    IDAPoint2 : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AnimateControlPosition( 
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDAPoint2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AnimateControlPositionPixel( 
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDAPoint2 **ret_4) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Y( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PolarCoordAngle( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PolarCoordLength( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAPoint2 **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAPoint2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAPoint2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAPoint2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAPoint2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAPoint2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAPoint2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAPoint2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAPoint2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAPoint2 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAPoint2 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAPoint2 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAPoint2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAPoint2 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAPoint2 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAPoint2 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAPoint2 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAPoint2 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAPoint2 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAPoint2 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAPoint2 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAPoint2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAPoint2 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *AnimateControlPosition )( 
            IDAPoint2 * This,
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDAPoint2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *AnimateControlPositionPixel )( 
            IDAPoint2 * This,
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDAPoint2 **ret_4);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X )( 
            IDAPoint2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Y )( 
            IDAPoint2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PolarCoordAngle )( 
            IDAPoint2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PolarCoordLength )( 
            IDAPoint2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAPoint2 * This,
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAPoint2 **ret_1);
        
        END_INTERFACE
    } IDAPoint2Vtbl;

    interface IDAPoint2
    {
        CONST_VTBL struct IDAPoint2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAPoint2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAPoint2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAPoint2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAPoint2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAPoint2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAPoint2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAPoint2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAPoint2_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAPoint2_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAPoint2_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAPoint2_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAPoint2_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAPoint2_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAPoint2_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAPoint2_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAPoint2_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAPoint2_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAPoint2_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAPoint2_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAPoint2_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAPoint2_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAPoint2_AnimateControlPosition(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)	\
    (This)->lpVtbl -> AnimateControlPosition(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)

#define IDAPoint2_AnimateControlPositionPixel(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)	\
    (This)->lpVtbl -> AnimateControlPositionPixel(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)

#define IDAPoint2_get_X(This,ret_0)	\
    (This)->lpVtbl -> get_X(This,ret_0)

#define IDAPoint2_get_Y(This,ret_0)	\
    (This)->lpVtbl -> get_Y(This,ret_0)

#define IDAPoint2_get_PolarCoordAngle(This,ret_0)	\
    (This)->lpVtbl -> get_PolarCoordAngle(This,ret_0)

#define IDAPoint2_get_PolarCoordLength(This,ret_0)	\
    (This)->lpVtbl -> get_PolarCoordLength(This,ret_0)

#define IDAPoint2_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAPoint2_AnimateControlPosition_Proxy( 
    IDAPoint2 * This,
    /* [in] */ BSTR propertyPath_0,
    /* [in] */ BSTR scriptingLanguage_1,
    /* [in] */ VARIANT_BOOL invokeAsMethod_2,
    /* [in] */ double minUpdateInterval_3,
    /* [retval][out] */ IDAPoint2 **ret_4);


void __RPC_STUB IDAPoint2_AnimateControlPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPoint2_AnimateControlPositionPixel_Proxy( 
    IDAPoint2 * This,
    /* [in] */ BSTR propertyPath_0,
    /* [in] */ BSTR scriptingLanguage_1,
    /* [in] */ VARIANT_BOOL invokeAsMethod_2,
    /* [in] */ double minUpdateInterval_3,
    /* [retval][out] */ IDAPoint2 **ret_4);


void __RPC_STUB IDAPoint2_AnimateControlPositionPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint2_get_X_Proxy( 
    IDAPoint2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint2_get_X_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint2_get_Y_Proxy( 
    IDAPoint2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint2_get_Y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint2_get_PolarCoordAngle_Proxy( 
    IDAPoint2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint2_get_PolarCoordAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint2_get_PolarCoordLength_Proxy( 
    IDAPoint2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint2_get_PolarCoordLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPoint2_Transform_Proxy( 
    IDAPoint2 * This,
    /* [in] */ IDATransform2 *xf_0,
    /* [retval][out] */ IDAPoint2 **ret_1);


void __RPC_STUB IDAPoint2_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAPoint2_INTERFACE_DEFINED__ */


#ifndef __IDAPoint3_INTERFACE_DEFINED__
#define __IDAPoint3_INTERFACE_DEFINED__

/* interface IDAPoint3 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAPoint3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BD7-3C52-11d0-9200-848C1D000000")
    IDAPoint3 : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Project( 
            /* [in] */ IDACamera *cam_0,
            /* [retval][out] */ IDAPoint2 **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Y( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Z( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SphericalCoordXYAngle( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SphericalCoordYZAngle( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SphericalCoordLength( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAPoint3 **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAPoint3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAPoint3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAPoint3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAPoint3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAPoint3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAPoint3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAPoint3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAPoint3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAPoint3 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAPoint3 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAPoint3 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAPoint3 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAPoint3 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAPoint3 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAPoint3 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAPoint3 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAPoint3 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAPoint3 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAPoint3 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAPoint3 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Project )( 
            IDAPoint3 * This,
            /* [in] */ IDACamera *cam_0,
            /* [retval][out] */ IDAPoint2 **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Y )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Z )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SphericalCoordXYAngle )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SphericalCoordYZAngle )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SphericalCoordLength )( 
            IDAPoint3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAPoint3 * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAPoint3 **ret_1);
        
        END_INTERFACE
    } IDAPoint3Vtbl;

    interface IDAPoint3
    {
        CONST_VTBL struct IDAPoint3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAPoint3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAPoint3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAPoint3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAPoint3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAPoint3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAPoint3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAPoint3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAPoint3_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAPoint3_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAPoint3_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAPoint3_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAPoint3_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAPoint3_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAPoint3_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAPoint3_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAPoint3_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAPoint3_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAPoint3_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAPoint3_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAPoint3_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAPoint3_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAPoint3_Project(This,cam_0,ret_1)	\
    (This)->lpVtbl -> Project(This,cam_0,ret_1)

#define IDAPoint3_get_X(This,ret_0)	\
    (This)->lpVtbl -> get_X(This,ret_0)

#define IDAPoint3_get_Y(This,ret_0)	\
    (This)->lpVtbl -> get_Y(This,ret_0)

#define IDAPoint3_get_Z(This,ret_0)	\
    (This)->lpVtbl -> get_Z(This,ret_0)

#define IDAPoint3_get_SphericalCoordXYAngle(This,ret_0)	\
    (This)->lpVtbl -> get_SphericalCoordXYAngle(This,ret_0)

#define IDAPoint3_get_SphericalCoordYZAngle(This,ret_0)	\
    (This)->lpVtbl -> get_SphericalCoordYZAngle(This,ret_0)

#define IDAPoint3_get_SphericalCoordLength(This,ret_0)	\
    (This)->lpVtbl -> get_SphericalCoordLength(This,ret_0)

#define IDAPoint3_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAPoint3_Project_Proxy( 
    IDAPoint3 * This,
    /* [in] */ IDACamera *cam_0,
    /* [retval][out] */ IDAPoint2 **ret_1);


void __RPC_STUB IDAPoint3_Project_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint3_get_X_Proxy( 
    IDAPoint3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint3_get_X_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint3_get_Y_Proxy( 
    IDAPoint3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint3_get_Y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint3_get_Z_Proxy( 
    IDAPoint3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint3_get_Z_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint3_get_SphericalCoordXYAngle_Proxy( 
    IDAPoint3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint3_get_SphericalCoordXYAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint3_get_SphericalCoordYZAngle_Proxy( 
    IDAPoint3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint3_get_SphericalCoordYZAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPoint3_get_SphericalCoordLength_Proxy( 
    IDAPoint3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAPoint3_get_SphericalCoordLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPoint3_Transform_Proxy( 
    IDAPoint3 * This,
    /* [in] */ IDATransform3 *xf_0,
    /* [retval][out] */ IDAPoint3 **ret_1);


void __RPC_STUB IDAPoint3_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAPoint3_INTERFACE_DEFINED__ */


#ifndef __IDASound_INTERFACE_DEFINED__
#define __IDASound_INTERFACE_DEFINED__

/* interface IDASound */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDASound;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BE3-3C52-11d0-9200-848C1D000000")
    IDASound : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PhaseAnim( 
            /* [in] */ IDANumber *phaseAmt_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Phase( 
            /* [in] */ double phaseAmt_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RateAnim( 
            /* [in] */ IDANumber *pitchShift_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rate( 
            /* [in] */ double pitchShift_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PanAnim( 
            /* [in] */ IDANumber *panAmt_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Pan( 
            /* [in] */ double panAmt_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GainAnim( 
            /* [in] */ IDANumber *gainAmt_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Gain( 
            /* [in] */ double gainAmt_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Loop( 
            /* [retval][out] */ IDASound **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDASoundVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDASound * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDASound * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDASound * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDASound * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDASound * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDASound * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDASound * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDASound * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDASound * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDASound * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDASound * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDASound * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDASound * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDASound * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDASound * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDASound * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDASound * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDASound * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDASound * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDASound * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDASound * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *PhaseAnim )( 
            IDASound * This,
            /* [in] */ IDANumber *phaseAmt_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Phase )( 
            IDASound * This,
            /* [in] */ double phaseAmt_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *RateAnim )( 
            IDASound * This,
            /* [in] */ IDANumber *pitchShift_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rate )( 
            IDASound * This,
            /* [in] */ double pitchShift_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *PanAnim )( 
            IDASound * This,
            /* [in] */ IDANumber *panAmt_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Pan )( 
            IDASound * This,
            /* [in] */ double panAmt_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *GainAnim )( 
            IDASound * This,
            /* [in] */ IDANumber *gainAmt_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Gain )( 
            IDASound * This,
            /* [in] */ double gainAmt_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Loop )( 
            IDASound * This,
            /* [retval][out] */ IDASound **ret_0);
        
        END_INTERFACE
    } IDASoundVtbl;

    interface IDASound
    {
        CONST_VTBL struct IDASoundVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDASound_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDASound_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDASound_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDASound_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDASound_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDASound_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDASound_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDASound_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDASound_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDASound_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDASound_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDASound_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDASound_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDASound_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDASound_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDASound_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDASound_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDASound_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDASound_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDASound_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDASound_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDASound_PhaseAnim(This,phaseAmt_0,ret_1)	\
    (This)->lpVtbl -> PhaseAnim(This,phaseAmt_0,ret_1)

#define IDASound_Phase(This,phaseAmt_0,ret_1)	\
    (This)->lpVtbl -> Phase(This,phaseAmt_0,ret_1)

#define IDASound_RateAnim(This,pitchShift_0,ret_1)	\
    (This)->lpVtbl -> RateAnim(This,pitchShift_0,ret_1)

#define IDASound_Rate(This,pitchShift_0,ret_1)	\
    (This)->lpVtbl -> Rate(This,pitchShift_0,ret_1)

#define IDASound_PanAnim(This,panAmt_0,ret_1)	\
    (This)->lpVtbl -> PanAnim(This,panAmt_0,ret_1)

#define IDASound_Pan(This,panAmt_0,ret_1)	\
    (This)->lpVtbl -> Pan(This,panAmt_0,ret_1)

#define IDASound_GainAnim(This,gainAmt_0,ret_1)	\
    (This)->lpVtbl -> GainAnim(This,gainAmt_0,ret_1)

#define IDASound_Gain(This,gainAmt_0,ret_1)	\
    (This)->lpVtbl -> Gain(This,gainAmt_0,ret_1)

#define IDASound_Loop(This,ret_0)	\
    (This)->lpVtbl -> Loop(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDASound_PhaseAnim_Proxy( 
    IDASound * This,
    /* [in] */ IDANumber *phaseAmt_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_PhaseAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_Phase_Proxy( 
    IDASound * This,
    /* [in] */ double phaseAmt_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_Phase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_RateAnim_Proxy( 
    IDASound * This,
    /* [in] */ IDANumber *pitchShift_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_RateAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_Rate_Proxy( 
    IDASound * This,
    /* [in] */ double pitchShift_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_PanAnim_Proxy( 
    IDASound * This,
    /* [in] */ IDANumber *panAmt_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_PanAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_Pan_Proxy( 
    IDASound * This,
    /* [in] */ double panAmt_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_Pan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_GainAnim_Proxy( 
    IDASound * This,
    /* [in] */ IDANumber *gainAmt_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_GainAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_Gain_Proxy( 
    IDASound * This,
    /* [in] */ double gainAmt_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDASound_Gain_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASound_Loop_Proxy( 
    IDASound * This,
    /* [retval][out] */ IDASound **ret_0);


void __RPC_STUB IDASound_Loop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDASound_INTERFACE_DEFINED__ */


#ifndef __IDAString_INTERFACE_DEFINED__
#define __IDAString_INTERFACE_DEFINED__

/* interface IDAString */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAString;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BC3-3C52-11d0-9200-848C1D000000")
    IDAString : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Extract( 
            /* [retval][out] */ BSTR *ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AnimateProperty( 
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDAString **ret_4) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAStringVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAString * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAString * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAString * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAString * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAString * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAString * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAString * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAString * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAString * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAString * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAString * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAString * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAString * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAString * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAString * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAString * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAString * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAString * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAString * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAString * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAString * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Extract )( 
            IDAString * This,
            /* [retval][out] */ BSTR *ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *AnimateProperty )( 
            IDAString * This,
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDAString **ret_4);
        
        END_INTERFACE
    } IDAStringVtbl;

    interface IDAString
    {
        CONST_VTBL struct IDAStringVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAString_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAString_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAString_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAString_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAString_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAString_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAString_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAString_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAString_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAString_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAString_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAString_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAString_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAString_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAString_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAString_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAString_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAString_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAString_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAString_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAString_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAString_Extract(This,ret_0)	\
    (This)->lpVtbl -> Extract(This,ret_0)

#define IDAString_AnimateProperty(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)	\
    (This)->lpVtbl -> AnimateProperty(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAString_Extract_Proxy( 
    IDAString * This,
    /* [retval][out] */ BSTR *ret_0);


void __RPC_STUB IDAString_Extract_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAString_AnimateProperty_Proxy( 
    IDAString * This,
    /* [in] */ BSTR propertyPath_0,
    /* [in] */ BSTR scriptingLanguage_1,
    /* [in] */ VARIANT_BOOL invokeAsMethod_2,
    /* [in] */ double minUpdateInterval_3,
    /* [retval][out] */ IDAString **ret_4);


void __RPC_STUB IDAString_AnimateProperty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAString_INTERFACE_DEFINED__ */


#ifndef __IDATransform2_INTERFACE_DEFINED__
#define __IDATransform2_INTERFACE_DEFINED__

/* interface IDATransform2 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDATransform2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BCB-3C52-11d0-9200-848C1D000000")
    IDATransform2 : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Inverse( 
            /* [retval][out] */ IDATransform2 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSingular( 
            /* [retval][out] */ IDABoolean **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDATransform2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDATransform2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDATransform2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDATransform2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDATransform2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDATransform2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDATransform2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDATransform2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDATransform2 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDATransform2 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDATransform2 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDATransform2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDATransform2 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDATransform2 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDATransform2 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDATransform2 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDATransform2 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDATransform2 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDATransform2 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDATransform2 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDATransform2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDATransform2 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Inverse )( 
            IDATransform2 * This,
            /* [retval][out] */ IDATransform2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSingular )( 
            IDATransform2 * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        END_INTERFACE
    } IDATransform2Vtbl;

    interface IDATransform2
    {
        CONST_VTBL struct IDATransform2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDATransform2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDATransform2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDATransform2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDATransform2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDATransform2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDATransform2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDATransform2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDATransform2_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDATransform2_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDATransform2_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDATransform2_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDATransform2_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDATransform2_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDATransform2_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDATransform2_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDATransform2_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDATransform2_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDATransform2_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDATransform2_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDATransform2_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDATransform2_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDATransform2_Inverse(This,ret_0)	\
    (This)->lpVtbl -> Inverse(This,ret_0)

#define IDATransform2_get_IsSingular(This,ret_0)	\
    (This)->lpVtbl -> get_IsSingular(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDATransform2_Inverse_Proxy( 
    IDATransform2 * This,
    /* [retval][out] */ IDATransform2 **ret_0);


void __RPC_STUB IDATransform2_Inverse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDATransform2_get_IsSingular_Proxy( 
    IDATransform2 * This,
    /* [retval][out] */ IDABoolean **ret_0);


void __RPC_STUB IDATransform2_get_IsSingular_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDATransform2_INTERFACE_DEFINED__ */


#ifndef __IDATransform3_INTERFACE_DEFINED__
#define __IDATransform3_INTERFACE_DEFINED__

/* interface IDATransform3 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDATransform3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BDB-3C52-11d0-9200-848C1D000000")
    IDATransform3 : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Inverse( 
            /* [retval][out] */ IDATransform3 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSingular( 
            /* [retval][out] */ IDABoolean **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParallelTransform2( 
            /* [retval][out] */ IDATransform2 **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDATransform3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDATransform3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDATransform3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDATransform3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDATransform3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDATransform3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDATransform3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDATransform3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDATransform3 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDATransform3 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDATransform3 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDATransform3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDATransform3 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDATransform3 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDATransform3 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDATransform3 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDATransform3 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDATransform3 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDATransform3 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDATransform3 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDATransform3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDATransform3 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Inverse )( 
            IDATransform3 * This,
            /* [retval][out] */ IDATransform3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSingular )( 
            IDATransform3 * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ParallelTransform2 )( 
            IDATransform3 * This,
            /* [retval][out] */ IDATransform2 **ret_0);
        
        END_INTERFACE
    } IDATransform3Vtbl;

    interface IDATransform3
    {
        CONST_VTBL struct IDATransform3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDATransform3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDATransform3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDATransform3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDATransform3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDATransform3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDATransform3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDATransform3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDATransform3_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDATransform3_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDATransform3_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDATransform3_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDATransform3_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDATransform3_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDATransform3_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDATransform3_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDATransform3_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDATransform3_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDATransform3_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDATransform3_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDATransform3_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDATransform3_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDATransform3_Inverse(This,ret_0)	\
    (This)->lpVtbl -> Inverse(This,ret_0)

#define IDATransform3_get_IsSingular(This,ret_0)	\
    (This)->lpVtbl -> get_IsSingular(This,ret_0)

#define IDATransform3_ParallelTransform2(This,ret_0)	\
    (This)->lpVtbl -> ParallelTransform2(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDATransform3_Inverse_Proxy( 
    IDATransform3 * This,
    /* [retval][out] */ IDATransform3 **ret_0);


void __RPC_STUB IDATransform3_Inverse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDATransform3_get_IsSingular_Proxy( 
    IDATransform3 * This,
    /* [retval][out] */ IDABoolean **ret_0);


void __RPC_STUB IDATransform3_get_IsSingular_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDATransform3_ParallelTransform2_Proxy( 
    IDATransform3 * This,
    /* [retval][out] */ IDATransform2 **ret_0);


void __RPC_STUB IDATransform3_ParallelTransform2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDATransform3_INTERFACE_DEFINED__ */


#ifndef __IDAVector2_INTERFACE_DEFINED__
#define __IDAVector2_INTERFACE_DEFINED__

/* interface IDAVector2 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAVector2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BC9-3C52-11d0-9200-848C1D000000")
    IDAVector2 : public IDABehavior
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LengthSquared( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Normalize( 
            /* [retval][out] */ IDAVector2 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MulAnim( 
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Mul( 
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DivAnim( 
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Div( 
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Y( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PolarCoordAngle( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PolarCoordLength( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAVector2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAVector2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAVector2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAVector2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAVector2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAVector2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAVector2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAVector2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAVector2 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAVector2 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAVector2 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAVector2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAVector2 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAVector2 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAVector2 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAVector2 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAVector2 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAVector2 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAVector2 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAVector2 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAVector2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAVector2 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IDAVector2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LengthSquared )( 
            IDAVector2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Normalize )( 
            IDAVector2 * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *MulAnim )( 
            IDAVector2 * This,
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mul )( 
            IDAVector2 * This,
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DivAnim )( 
            IDAVector2 * This,
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Div )( 
            IDAVector2 * This,
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X )( 
            IDAVector2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Y )( 
            IDAVector2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PolarCoordAngle )( 
            IDAVector2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PolarCoordLength )( 
            IDAVector2 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAVector2 * This,
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        END_INTERFACE
    } IDAVector2Vtbl;

    interface IDAVector2
    {
        CONST_VTBL struct IDAVector2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAVector2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAVector2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAVector2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAVector2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAVector2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAVector2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAVector2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAVector2_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAVector2_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAVector2_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAVector2_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAVector2_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAVector2_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAVector2_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAVector2_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAVector2_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAVector2_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAVector2_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAVector2_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAVector2_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAVector2_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAVector2_get_Length(This,ret_0)	\
    (This)->lpVtbl -> get_Length(This,ret_0)

#define IDAVector2_get_LengthSquared(This,ret_0)	\
    (This)->lpVtbl -> get_LengthSquared(This,ret_0)

#define IDAVector2_Normalize(This,ret_0)	\
    (This)->lpVtbl -> Normalize(This,ret_0)

#define IDAVector2_MulAnim(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> MulAnim(This,scalar_0,ret_1)

#define IDAVector2_Mul(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> Mul(This,scalar_0,ret_1)

#define IDAVector2_DivAnim(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> DivAnim(This,scalar_0,ret_1)

#define IDAVector2_Div(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> Div(This,scalar_0,ret_1)

#define IDAVector2_get_X(This,ret_0)	\
    (This)->lpVtbl -> get_X(This,ret_0)

#define IDAVector2_get_Y(This,ret_0)	\
    (This)->lpVtbl -> get_Y(This,ret_0)

#define IDAVector2_get_PolarCoordAngle(This,ret_0)	\
    (This)->lpVtbl -> get_PolarCoordAngle(This,ret_0)

#define IDAVector2_get_PolarCoordLength(This,ret_0)	\
    (This)->lpVtbl -> get_PolarCoordLength(This,ret_0)

#define IDAVector2_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector2_get_Length_Proxy( 
    IDAVector2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector2_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector2_get_LengthSquared_Proxy( 
    IDAVector2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector2_get_LengthSquared_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector2_Normalize_Proxy( 
    IDAVector2 * This,
    /* [retval][out] */ IDAVector2 **ret_0);


void __RPC_STUB IDAVector2_Normalize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector2_MulAnim_Proxy( 
    IDAVector2 * This,
    /* [in] */ IDANumber *scalar_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAVector2_MulAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector2_Mul_Proxy( 
    IDAVector2 * This,
    /* [in] */ double scalar_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAVector2_Mul_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector2_DivAnim_Proxy( 
    IDAVector2 * This,
    /* [in] */ IDANumber *scalar_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAVector2_DivAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector2_Div_Proxy( 
    IDAVector2 * This,
    /* [in] */ double scalar_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAVector2_Div_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector2_get_X_Proxy( 
    IDAVector2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector2_get_X_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector2_get_Y_Proxy( 
    IDAVector2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector2_get_Y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector2_get_PolarCoordAngle_Proxy( 
    IDAVector2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector2_get_PolarCoordAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector2_get_PolarCoordLength_Proxy( 
    IDAVector2 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector2_get_PolarCoordLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector2_Transform_Proxy( 
    IDAVector2 * This,
    /* [in] */ IDATransform2 *xf_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAVector2_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAVector2_INTERFACE_DEFINED__ */


#ifndef __IDAVector3_INTERFACE_DEFINED__
#define __IDAVector3_INTERFACE_DEFINED__

/* interface IDAVector3 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAVector3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BD9-3C52-11d0-9200-848C1D000000")
    IDAVector3 : public IDABehavior
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LengthSquared( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Normalize( 
            /* [retval][out] */ IDAVector3 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MulAnim( 
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Mul( 
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DivAnim( 
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Div( 
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_X( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Y( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Z( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SphericalCoordXYAngle( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SphericalCoordYZAngle( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SphericalCoordLength( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform( 
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAVector3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAVector3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAVector3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAVector3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAVector3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAVector3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAVector3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAVector3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAVector3 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAVector3 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAVector3 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAVector3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAVector3 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAVector3 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAVector3 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAVector3 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAVector3 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAVector3 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAVector3 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAVector3 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAVector3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAVector3 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LengthSquared )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Normalize )( 
            IDAVector3 * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *MulAnim )( 
            IDAVector3 * This,
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mul )( 
            IDAVector3 * This,
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DivAnim )( 
            IDAVector3 * This,
            /* [in] */ IDANumber *scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Div )( 
            IDAVector3 * This,
            /* [in] */ double scalar_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_X )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Y )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Z )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SphericalCoordXYAngle )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SphericalCoordYZAngle )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SphericalCoordLength )( 
            IDAVector3 * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDAVector3 * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        END_INTERFACE
    } IDAVector3Vtbl;

    interface IDAVector3
    {
        CONST_VTBL struct IDAVector3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAVector3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAVector3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAVector3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAVector3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAVector3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAVector3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAVector3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAVector3_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAVector3_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAVector3_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAVector3_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAVector3_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAVector3_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAVector3_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAVector3_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAVector3_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAVector3_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAVector3_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAVector3_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAVector3_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAVector3_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAVector3_get_Length(This,ret_0)	\
    (This)->lpVtbl -> get_Length(This,ret_0)

#define IDAVector3_get_LengthSquared(This,ret_0)	\
    (This)->lpVtbl -> get_LengthSquared(This,ret_0)

#define IDAVector3_Normalize(This,ret_0)	\
    (This)->lpVtbl -> Normalize(This,ret_0)

#define IDAVector3_MulAnim(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> MulAnim(This,scalar_0,ret_1)

#define IDAVector3_Mul(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> Mul(This,scalar_0,ret_1)

#define IDAVector3_DivAnim(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> DivAnim(This,scalar_0,ret_1)

#define IDAVector3_Div(This,scalar_0,ret_1)	\
    (This)->lpVtbl -> Div(This,scalar_0,ret_1)

#define IDAVector3_get_X(This,ret_0)	\
    (This)->lpVtbl -> get_X(This,ret_0)

#define IDAVector3_get_Y(This,ret_0)	\
    (This)->lpVtbl -> get_Y(This,ret_0)

#define IDAVector3_get_Z(This,ret_0)	\
    (This)->lpVtbl -> get_Z(This,ret_0)

#define IDAVector3_get_SphericalCoordXYAngle(This,ret_0)	\
    (This)->lpVtbl -> get_SphericalCoordXYAngle(This,ret_0)

#define IDAVector3_get_SphericalCoordYZAngle(This,ret_0)	\
    (This)->lpVtbl -> get_SphericalCoordYZAngle(This,ret_0)

#define IDAVector3_get_SphericalCoordLength(This,ret_0)	\
    (This)->lpVtbl -> get_SphericalCoordLength(This,ret_0)

#define IDAVector3_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_Length_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_LengthSquared_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_LengthSquared_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector3_Normalize_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDAVector3 **ret_0);


void __RPC_STUB IDAVector3_Normalize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector3_MulAnim_Proxy( 
    IDAVector3 * This,
    /* [in] */ IDANumber *scalar_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAVector3_MulAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector3_Mul_Proxy( 
    IDAVector3 * This,
    /* [in] */ double scalar_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAVector3_Mul_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector3_DivAnim_Proxy( 
    IDAVector3 * This,
    /* [in] */ IDANumber *scalar_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAVector3_DivAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector3_Div_Proxy( 
    IDAVector3 * This,
    /* [in] */ double scalar_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAVector3_Div_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_X_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_X_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_Y_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_Y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_Z_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_Z_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_SphericalCoordXYAngle_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_SphericalCoordXYAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_SphericalCoordYZAngle_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_SphericalCoordYZAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAVector3_get_SphericalCoordLength_Proxy( 
    IDAVector3 * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAVector3_get_SphericalCoordLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAVector3_Transform_Proxy( 
    IDAVector3 * This,
    /* [in] */ IDATransform3 *xf_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAVector3_Transform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAVector3_INTERFACE_DEFINED__ */


#ifndef __IDAFontStyle_INTERFACE_DEFINED__
#define __IDAFontStyle_INTERFACE_DEFINED__

/* interface IDAFontStyle */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAFontStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("25B0F91D-D23D-11d0-9B85-00C04FC2F51D")
    IDAFontStyle : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Bold( 
            /* [retval][out] */ IDAFontStyle **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Italic( 
            /* [retval][out] */ IDAFontStyle **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Underline( 
            /* [retval][out] */ IDAFontStyle **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Strikethrough( 
            /* [retval][out] */ IDAFontStyle **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AntiAliasing( 
            /* [in] */ double aaStyle_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Color( 
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FamilyAnim( 
            /* [in] */ IDAString *face_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Family( 
            /* [in] */ BSTR face_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SizeAnim( 
            /* [in] */ IDANumber *size_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Size( 
            /* [in] */ double size_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Weight( 
            /* [in] */ double weight_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WeightAnim( 
            /* [in] */ IDANumber *weight_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAFontStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAFontStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAFontStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAFontStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAFontStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAFontStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAFontStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAFontStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAFontStyle * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAFontStyle * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAFontStyle * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAFontStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAFontStyle * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAFontStyle * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAFontStyle * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAFontStyle * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAFontStyle * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAFontStyle * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAFontStyle * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAFontStyle * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAFontStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAFontStyle * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Bold )( 
            IDAFontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Italic )( 
            IDAFontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Underline )( 
            IDAFontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Strikethrough )( 
            IDAFontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *AntiAliasing )( 
            IDAFontStyle * This,
            /* [in] */ double aaStyle_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Color )( 
            IDAFontStyle * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *FamilyAnim )( 
            IDAFontStyle * This,
            /* [in] */ IDAString *face_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Family )( 
            IDAFontStyle * This,
            /* [in] */ BSTR face_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SizeAnim )( 
            IDAFontStyle * This,
            /* [in] */ IDANumber *size_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Size )( 
            IDAFontStyle * This,
            /* [in] */ double size_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Weight )( 
            IDAFontStyle * This,
            /* [in] */ double weight_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *WeightAnim )( 
            IDAFontStyle * This,
            /* [in] */ IDANumber *weight_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        END_INTERFACE
    } IDAFontStyleVtbl;

    interface IDAFontStyle
    {
        CONST_VTBL struct IDAFontStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAFontStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAFontStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAFontStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAFontStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAFontStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAFontStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAFontStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAFontStyle_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAFontStyle_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAFontStyle_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAFontStyle_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAFontStyle_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAFontStyle_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAFontStyle_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAFontStyle_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAFontStyle_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAFontStyle_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAFontStyle_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAFontStyle_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAFontStyle_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAFontStyle_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAFontStyle_Bold(This,ret_0)	\
    (This)->lpVtbl -> Bold(This,ret_0)

#define IDAFontStyle_Italic(This,ret_0)	\
    (This)->lpVtbl -> Italic(This,ret_0)

#define IDAFontStyle_Underline(This,ret_0)	\
    (This)->lpVtbl -> Underline(This,ret_0)

#define IDAFontStyle_Strikethrough(This,ret_0)	\
    (This)->lpVtbl -> Strikethrough(This,ret_0)

#define IDAFontStyle_AntiAliasing(This,aaStyle_0,ret_1)	\
    (This)->lpVtbl -> AntiAliasing(This,aaStyle_0,ret_1)

#define IDAFontStyle_Color(This,col_0,ret_1)	\
    (This)->lpVtbl -> Color(This,col_0,ret_1)

#define IDAFontStyle_FamilyAnim(This,face_0,ret_1)	\
    (This)->lpVtbl -> FamilyAnim(This,face_0,ret_1)

#define IDAFontStyle_Family(This,face_0,ret_1)	\
    (This)->lpVtbl -> Family(This,face_0,ret_1)

#define IDAFontStyle_SizeAnim(This,size_0,ret_1)	\
    (This)->lpVtbl -> SizeAnim(This,size_0,ret_1)

#define IDAFontStyle_Size(This,size_0,ret_1)	\
    (This)->lpVtbl -> Size(This,size_0,ret_1)

#define IDAFontStyle_Weight(This,weight_0,ret_1)	\
    (This)->lpVtbl -> Weight(This,weight_0,ret_1)

#define IDAFontStyle_WeightAnim(This,weight_0,ret_1)	\
    (This)->lpVtbl -> WeightAnim(This,weight_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAFontStyle_Bold_Proxy( 
    IDAFontStyle * This,
    /* [retval][out] */ IDAFontStyle **ret_0);


void __RPC_STUB IDAFontStyle_Bold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_Italic_Proxy( 
    IDAFontStyle * This,
    /* [retval][out] */ IDAFontStyle **ret_0);


void __RPC_STUB IDAFontStyle_Italic_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_Underline_Proxy( 
    IDAFontStyle * This,
    /* [retval][out] */ IDAFontStyle **ret_0);


void __RPC_STUB IDAFontStyle_Underline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_Strikethrough_Proxy( 
    IDAFontStyle * This,
    /* [retval][out] */ IDAFontStyle **ret_0);


void __RPC_STUB IDAFontStyle_Strikethrough_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_AntiAliasing_Proxy( 
    IDAFontStyle * This,
    /* [in] */ double aaStyle_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_AntiAliasing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_Color_Proxy( 
    IDAFontStyle * This,
    /* [in] */ IDAColor *col_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_FamilyAnim_Proxy( 
    IDAFontStyle * This,
    /* [in] */ IDAString *face_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_FamilyAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_Family_Proxy( 
    IDAFontStyle * This,
    /* [in] */ BSTR face_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_Family_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_SizeAnim_Proxy( 
    IDAFontStyle * This,
    /* [in] */ IDANumber *size_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_SizeAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_Size_Proxy( 
    IDAFontStyle * This,
    /* [in] */ double size_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_Size_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_Weight_Proxy( 
    IDAFontStyle * This,
    /* [in] */ double weight_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_Weight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAFontStyle_WeightAnim_Proxy( 
    IDAFontStyle * This,
    /* [in] */ IDANumber *weight_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDAFontStyle_WeightAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAFontStyle_INTERFACE_DEFINED__ */


#ifndef __IDALineStyle_INTERFACE_DEFINED__
#define __IDALineStyle_INTERFACE_DEFINED__

/* interface IDALineStyle */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDALineStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BF1-3C52-11d0-9200-848C1D000000")
    IDALineStyle : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE End( 
            /* [in] */ IDAEndStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Join( 
            /* [in] */ IDAJoinStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Dash( 
            /* [in] */ IDADashStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE WidthAnim( 
            /* [in] */ IDANumber *sty_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE width( 
            /* [in] */ double sty_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AntiAliasing( 
            /* [in] */ double aaStyle_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Detail( 
            /* [retval][out] */ IDALineStyle **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Color( 
            /* [in] */ IDAColor *clr_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDALineStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDALineStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDALineStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDALineStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDALineStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDALineStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDALineStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDALineStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDALineStyle * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDALineStyle * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDALineStyle * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDALineStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDALineStyle * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDALineStyle * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDALineStyle * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDALineStyle * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDALineStyle * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDALineStyle * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDALineStyle * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDALineStyle * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDALineStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDALineStyle * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *End )( 
            IDALineStyle * This,
            /* [in] */ IDAEndStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1);
        
        HRESULT ( STDMETHODCALLTYPE *Join )( 
            IDALineStyle * This,
            /* [in] */ IDAJoinStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1);
        
        HRESULT ( STDMETHODCALLTYPE *Dash )( 
            IDALineStyle * This,
            /* [in] */ IDADashStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1);
        
        HRESULT ( STDMETHODCALLTYPE *WidthAnim )( 
            IDALineStyle * This,
            /* [in] */ IDANumber *sty_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *width )( 
            IDALineStyle * This,
            /* [in] */ double sty_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AntiAliasing )( 
            IDALineStyle * This,
            /* [in] */ double aaStyle_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Detail )( 
            IDALineStyle * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Color )( 
            IDALineStyle * This,
            /* [in] */ IDAColor *clr_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        END_INTERFACE
    } IDALineStyleVtbl;

    interface IDALineStyle
    {
        CONST_VTBL struct IDALineStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDALineStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDALineStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDALineStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDALineStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDALineStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDALineStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDALineStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDALineStyle_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDALineStyle_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDALineStyle_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDALineStyle_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDALineStyle_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDALineStyle_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDALineStyle_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDALineStyle_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDALineStyle_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDALineStyle_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDALineStyle_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDALineStyle_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDALineStyle_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDALineStyle_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDALineStyle_End(This,obsolete_0,obsolete_1)	\
    (This)->lpVtbl -> End(This,obsolete_0,obsolete_1)

#define IDALineStyle_Join(This,obsolete_0,obsolete_1)	\
    (This)->lpVtbl -> Join(This,obsolete_0,obsolete_1)

#define IDALineStyle_Dash(This,obsolete_0,obsolete_1)	\
    (This)->lpVtbl -> Dash(This,obsolete_0,obsolete_1)

#define IDALineStyle_WidthAnim(This,sty_0,ret_1)	\
    (This)->lpVtbl -> WidthAnim(This,sty_0,ret_1)

#define IDALineStyle_width(This,sty_0,ret_1)	\
    (This)->lpVtbl -> width(This,sty_0,ret_1)

#define IDALineStyle_AntiAliasing(This,aaStyle_0,ret_1)	\
    (This)->lpVtbl -> AntiAliasing(This,aaStyle_0,ret_1)

#define IDALineStyle_Detail(This,ret_0)	\
    (This)->lpVtbl -> Detail(This,ret_0)

#define IDALineStyle_Color(This,clr_0,ret_1)	\
    (This)->lpVtbl -> Color(This,clr_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDALineStyle_End_Proxy( 
    IDALineStyle * This,
    /* [in] */ IDAEndStyle *obsolete_0,
    /* [retval][out] */ IDALineStyle **obsolete_1);


void __RPC_STUB IDALineStyle_End_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDALineStyle_Join_Proxy( 
    IDALineStyle * This,
    /* [in] */ IDAJoinStyle *obsolete_0,
    /* [retval][out] */ IDALineStyle **obsolete_1);


void __RPC_STUB IDALineStyle_Join_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDALineStyle_Dash_Proxy( 
    IDALineStyle * This,
    /* [in] */ IDADashStyle *obsolete_0,
    /* [retval][out] */ IDALineStyle **obsolete_1);


void __RPC_STUB IDALineStyle_Dash_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDALineStyle_WidthAnim_Proxy( 
    IDALineStyle * This,
    /* [in] */ IDANumber *sty_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDALineStyle_WidthAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDALineStyle_width_Proxy( 
    IDALineStyle * This,
    /* [in] */ double sty_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDALineStyle_width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDALineStyle_AntiAliasing_Proxy( 
    IDALineStyle * This,
    /* [in] */ double aaStyle_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDALineStyle_AntiAliasing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDALineStyle_Detail_Proxy( 
    IDALineStyle * This,
    /* [retval][out] */ IDALineStyle **ret_0);


void __RPC_STUB IDALineStyle_Detail_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDALineStyle_Color_Proxy( 
    IDALineStyle * This,
    /* [in] */ IDAColor *clr_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDALineStyle_Color_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDALineStyle_INTERFACE_DEFINED__ */


#ifndef __IDAEndStyle_INTERFACE_DEFINED__
#define __IDAEndStyle_INTERFACE_DEFINED__

/* interface IDAEndStyle */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAEndStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BEB-3C52-11d0-9200-848C1D000000")
    IDAEndStyle : public IDABehavior
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IDAEndStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAEndStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAEndStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAEndStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAEndStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAEndStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAEndStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAEndStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAEndStyle * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAEndStyle * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAEndStyle * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAEndStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAEndStyle * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAEndStyle * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAEndStyle * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAEndStyle * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAEndStyle * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAEndStyle * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAEndStyle * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAEndStyle * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAEndStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAEndStyle * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        END_INTERFACE
    } IDAEndStyleVtbl;

    interface IDAEndStyle
    {
        CONST_VTBL struct IDAEndStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAEndStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAEndStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAEndStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAEndStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAEndStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAEndStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAEndStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAEndStyle_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAEndStyle_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAEndStyle_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAEndStyle_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAEndStyle_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAEndStyle_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAEndStyle_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAEndStyle_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAEndStyle_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAEndStyle_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAEndStyle_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAEndStyle_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAEndStyle_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAEndStyle_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDAEndStyle_INTERFACE_DEFINED__ */


#ifndef __IDAJoinStyle_INTERFACE_DEFINED__
#define __IDAJoinStyle_INTERFACE_DEFINED__

/* interface IDAJoinStyle */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAJoinStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BED-3C52-11d0-9200-848C1D000000")
    IDAJoinStyle : public IDABehavior
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IDAJoinStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAJoinStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAJoinStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAJoinStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAJoinStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAJoinStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAJoinStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAJoinStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAJoinStyle * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAJoinStyle * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAJoinStyle * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAJoinStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAJoinStyle * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAJoinStyle * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAJoinStyle * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAJoinStyle * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAJoinStyle * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAJoinStyle * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAJoinStyle * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAJoinStyle * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAJoinStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAJoinStyle * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        END_INTERFACE
    } IDAJoinStyleVtbl;

    interface IDAJoinStyle
    {
        CONST_VTBL struct IDAJoinStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAJoinStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAJoinStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAJoinStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAJoinStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAJoinStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAJoinStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAJoinStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAJoinStyle_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAJoinStyle_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAJoinStyle_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAJoinStyle_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAJoinStyle_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAJoinStyle_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAJoinStyle_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAJoinStyle_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAJoinStyle_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAJoinStyle_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAJoinStyle_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAJoinStyle_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAJoinStyle_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAJoinStyle_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDAJoinStyle_INTERFACE_DEFINED__ */


#ifndef __IDADashStyle_INTERFACE_DEFINED__
#define __IDADashStyle_INTERFACE_DEFINED__

/* interface IDADashStyle */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDADashStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BEF-3C52-11d0-9200-848C1D000000")
    IDADashStyle : public IDABehavior
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IDADashStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDADashStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDADashStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDADashStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDADashStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDADashStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDADashStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDADashStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDADashStyle * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDADashStyle * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDADashStyle * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDADashStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDADashStyle * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDADashStyle * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDADashStyle * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDADashStyle * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDADashStyle * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDADashStyle * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDADashStyle * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDADashStyle * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDADashStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDADashStyle * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        END_INTERFACE
    } IDADashStyleVtbl;

    interface IDADashStyle
    {
        CONST_VTBL struct IDADashStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDADashStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDADashStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDADashStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDADashStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDADashStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDADashStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDADashStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDADashStyle_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDADashStyle_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDADashStyle_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDADashStyle_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDADashStyle_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDADashStyle_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDADashStyle_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDADashStyle_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDADashStyle_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDADashStyle_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDADashStyle_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDADashStyle_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDADashStyle_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDADashStyle_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDADashStyle_INTERFACE_DEFINED__ */


#ifndef __IDABbox2_INTERFACE_DEFINED__
#define __IDABbox2_INTERFACE_DEFINED__

/* interface IDABbox2 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDABbox2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BCD-3C52-11d0-9200-848C1D000000")
    IDABbox2 : public IDABehavior
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Min( 
            /* [retval][out] */ IDAPoint2 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Max( 
            /* [retval][out] */ IDAPoint2 **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDABbox2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDABbox2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDABbox2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDABbox2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDABbox2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDABbox2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDABbox2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDABbox2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDABbox2 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDABbox2 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDABbox2 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDABbox2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDABbox2 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDABbox2 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDABbox2 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDABbox2 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDABbox2 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDABbox2 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDABbox2 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDABbox2 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDABbox2 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDABbox2 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Min )( 
            IDABbox2 * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Max )( 
            IDABbox2 * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        END_INTERFACE
    } IDABbox2Vtbl;

    interface IDABbox2
    {
        CONST_VTBL struct IDABbox2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDABbox2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDABbox2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDABbox2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDABbox2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDABbox2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDABbox2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDABbox2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDABbox2_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDABbox2_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDABbox2_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDABbox2_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDABbox2_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDABbox2_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDABbox2_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDABbox2_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDABbox2_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDABbox2_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDABbox2_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDABbox2_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDABbox2_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDABbox2_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDABbox2_get_Min(This,ret_0)	\
    (This)->lpVtbl -> get_Min(This,ret_0)

#define IDABbox2_get_Max(This,ret_0)	\
    (This)->lpVtbl -> get_Max(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDABbox2_get_Min_Proxy( 
    IDABbox2 * This,
    /* [retval][out] */ IDAPoint2 **ret_0);


void __RPC_STUB IDABbox2_get_Min_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDABbox2_get_Max_Proxy( 
    IDABbox2 * This,
    /* [retval][out] */ IDAPoint2 **ret_0);


void __RPC_STUB IDABbox2_get_Max_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDABbox2_INTERFACE_DEFINED__ */


#ifndef __IDABbox3_INTERFACE_DEFINED__
#define __IDABbox3_INTERFACE_DEFINED__

/* interface IDABbox3 */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDABbox3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BDD-3C52-11d0-9200-848C1D000000")
    IDABbox3 : public IDABehavior
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Min( 
            /* [retval][out] */ IDAPoint3 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Max( 
            /* [retval][out] */ IDAPoint3 **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDABbox3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDABbox3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDABbox3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDABbox3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDABbox3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDABbox3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDABbox3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDABbox3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDABbox3 * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDABbox3 * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDABbox3 * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDABbox3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDABbox3 * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDABbox3 * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDABbox3 * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDABbox3 * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDABbox3 * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDABbox3 * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDABbox3 * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDABbox3 * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDABbox3 * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDABbox3 * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Min )( 
            IDABbox3 * This,
            /* [retval][out] */ IDAPoint3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Max )( 
            IDABbox3 * This,
            /* [retval][out] */ IDAPoint3 **ret_0);
        
        END_INTERFACE
    } IDABbox3Vtbl;

    interface IDABbox3
    {
        CONST_VTBL struct IDABbox3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDABbox3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDABbox3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDABbox3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDABbox3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDABbox3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDABbox3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDABbox3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDABbox3_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDABbox3_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDABbox3_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDABbox3_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDABbox3_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDABbox3_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDABbox3_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDABbox3_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDABbox3_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDABbox3_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDABbox3_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDABbox3_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDABbox3_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDABbox3_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDABbox3_get_Min(This,ret_0)	\
    (This)->lpVtbl -> get_Min(This,ret_0)

#define IDABbox3_get_Max(This,ret_0)	\
    (This)->lpVtbl -> get_Max(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDABbox3_get_Min_Proxy( 
    IDABbox3 * This,
    /* [retval][out] */ IDAPoint3 **ret_0);


void __RPC_STUB IDABbox3_get_Min_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDABbox3_get_Max_Proxy( 
    IDABbox3 * This,
    /* [retval][out] */ IDAPoint3 **ret_0);


void __RPC_STUB IDABbox3_get_Max_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDABbox3_INTERFACE_DEFINED__ */


#ifndef __IDAPair_INTERFACE_DEFINED__
#define __IDAPair_INTERFACE_DEFINED__

/* interface IDAPair */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAPair;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C46C1BF3-3C52-11d0-9200-848C1D000000")
    IDAPair : public IDABehavior
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_First( 
            /* [retval][out] */ IDABehavior **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Second( 
            /* [retval][out] */ IDABehavior **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAPairVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAPair * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAPair * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAPair * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAPair * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAPair * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAPair * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAPair * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAPair * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAPair * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAPair * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAPair * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAPair * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAPair * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAPair * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAPair * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAPair * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAPair * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAPair * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAPair * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAPair * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAPair * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_First )( 
            IDAPair * This,
            /* [retval][out] */ IDABehavior **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Second )( 
            IDAPair * This,
            /* [retval][out] */ IDABehavior **ret_0);
        
        END_INTERFACE
    } IDAPairVtbl;

    interface IDAPair
    {
        CONST_VTBL struct IDAPairVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAPair_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAPair_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAPair_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAPair_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAPair_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAPair_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAPair_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAPair_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAPair_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAPair_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAPair_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAPair_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAPair_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAPair_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAPair_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAPair_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAPair_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAPair_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAPair_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAPair_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAPair_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAPair_get_First(This,ret_0)	\
    (This)->lpVtbl -> get_First(This,ret_0)

#define IDAPair_get_Second(This,ret_0)	\
    (This)->lpVtbl -> get_Second(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPair_get_First_Proxy( 
    IDAPair * This,
    /* [retval][out] */ IDABehavior **ret_0);


void __RPC_STUB IDAPair_get_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAPair_get_Second_Proxy( 
    IDAPair * This,
    /* [retval][out] */ IDABehavior **ret_0);


void __RPC_STUB IDAPair_get_Second_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAPair_INTERFACE_DEFINED__ */


#ifndef __IDAArray_INTERFACE_DEFINED__
#define __IDAArray_INTERFACE_DEFINED__

/* interface IDAArray */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAArray;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D17506C2-6B26-11d0-8914-00C04FC2A0CA")
    IDAArray : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE NthAnim( 
            /* [in] */ IDANumber *index_0,
            /* [retval][out] */ IDABehavior **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Length( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAArrayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAArray * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAArray * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAArray * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAArray * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAArray * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAArray * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAArray * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAArray * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAArray * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAArray * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAArray * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAArray * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAArray * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAArray * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAArray * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAArray * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAArray * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAArray * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAArray * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAArray * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAArray * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *NthAnim )( 
            IDAArray * This,
            /* [in] */ IDANumber *index_0,
            /* [retval][out] */ IDABehavior **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Length )( 
            IDAArray * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        END_INTERFACE
    } IDAArrayVtbl;

    interface IDAArray
    {
        CONST_VTBL struct IDAArrayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAArray_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAArray_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAArray_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAArray_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAArray_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAArray_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAArray_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAArray_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAArray_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAArray_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAArray_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAArray_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAArray_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAArray_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAArray_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAArray_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAArray_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAArray_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAArray_NthAnim(This,index_0,ret_1)	\
    (This)->lpVtbl -> NthAnim(This,index_0,ret_1)

#define IDAArray_Length(This,ret_0)	\
    (This)->lpVtbl -> Length(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAArray_NthAnim_Proxy( 
    IDAArray * This,
    /* [in] */ IDANumber *index_0,
    /* [retval][out] */ IDABehavior **ret_1);


void __RPC_STUB IDAArray_NthAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAArray_Length_Proxy( 
    IDAArray * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAArray_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAArray_INTERFACE_DEFINED__ */


#ifndef __IDATuple_INTERFACE_DEFINED__
#define __IDATuple_INTERFACE_DEFINED__

/* interface IDATuple */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDATuple;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5DFB2650-9668-11d0-B17B-00C04FC2A0CA")
    IDATuple : public IDABehavior
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Nth( 
            /* [in] */ long index_0,
            /* [retval][out] */ IDABehavior **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ long *ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDATupleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDATuple * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDATuple * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDATuple * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDATuple * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDATuple * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDATuple * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDATuple * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDATuple * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDATuple * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDATuple * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDATuple * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDATuple * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDATuple * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDATuple * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDATuple * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDATuple * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDATuple * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDATuple * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDATuple * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDATuple * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDATuple * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Nth )( 
            IDATuple * This,
            /* [in] */ long index_0,
            /* [retval][out] */ IDABehavior **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IDATuple * This,
            /* [retval][out] */ long *ret_0);
        
        END_INTERFACE
    } IDATupleVtbl;

    interface IDATuple
    {
        CONST_VTBL struct IDATupleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDATuple_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDATuple_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDATuple_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDATuple_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDATuple_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDATuple_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDATuple_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDATuple_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDATuple_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDATuple_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDATuple_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDATuple_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDATuple_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDATuple_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDATuple_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDATuple_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDATuple_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDATuple_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDATuple_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDATuple_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDATuple_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDATuple_Nth(This,index_0,ret_1)	\
    (This)->lpVtbl -> Nth(This,index_0,ret_1)

#define IDATuple_get_Length(This,ret_0)	\
    (This)->lpVtbl -> get_Length(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDATuple_Nth_Proxy( 
    IDATuple * This,
    /* [in] */ long index_0,
    /* [retval][out] */ IDABehavior **ret_1);


void __RPC_STUB IDATuple_Nth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDATuple_get_Length_Proxy( 
    IDATuple * This,
    /* [retval][out] */ long *ret_0);


void __RPC_STUB IDATuple_get_Length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDATuple_INTERFACE_DEFINED__ */


#ifndef __IDAUserData_INTERFACE_DEFINED__
#define __IDAUserData_INTERFACE_DEFINED__

/* interface IDAUserData */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAUserData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AF868305-AB0B-11d0-876A-00C04FC29D46")
    IDAUserData : public IDABehavior
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Data( 
            /* [retval][out] */ IUnknown **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAUserDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAUserData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAUserData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAUserData * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAUserData * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAUserData * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAUserData * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAUserData * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDAUserData * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDAUserData * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDAUserData * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDAUserData * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDAUserData * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDAUserData * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDAUserData * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDAUserData * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDAUserData * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDAUserData * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDAUserData * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDAUserData * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDAUserData * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDAUserData * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            IDAUserData * This,
            /* [retval][out] */ IUnknown **ret_0);
        
        END_INTERFACE
    } IDAUserDataVtbl;

    interface IDAUserData
    {
        CONST_VTBL struct IDAUserDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAUserData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAUserData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAUserData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAUserData_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAUserData_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAUserData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAUserData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAUserData_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDAUserData_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDAUserData_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDAUserData_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDAUserData_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDAUserData_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDAUserData_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDAUserData_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDAUserData_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDAUserData_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDAUserData_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDAUserData_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDAUserData_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDAUserData_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDAUserData_get_Data(This,ret_0)	\
    (This)->lpVtbl -> get_Data(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDAUserData_get_Data_Proxy( 
    IDAUserData * This,
    /* [retval][out] */ IUnknown **ret_0);


void __RPC_STUB IDAUserData_get_Data_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAUserData_INTERFACE_DEFINED__ */


#ifndef __IDA2Geometry_INTERFACE_DEFINED__
#define __IDA2Geometry_INTERFACE_DEFINED__

/* interface IDA2Geometry */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2Geometry;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B90E5258-574A-11d1-8E7B-00C04FC29D46")
    IDA2Geometry : public IDAGeometry
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddPickData( 
            /* [in] */ IUnknown *id_0,
            /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
            /* [retval][out] */ IDAGeometry **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Shadow( 
            /* [in] */ IDAGeometry *geoContainingLights_0,
            /* [in] */ IDAPoint3 *planePoint_1,
            /* [in] */ IDAVector3 *planeNormal_2,
            /* [retval][out] */ IDAGeometry **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LightRangeAnim( 
            /* [in] */ IDANumber *range_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LightRange( 
            /* [in] */ double range_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE BlendTextureDiffuse( 
            /* [in] */ IDABoolean *blended_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AmbientColor( 
            /* [in] */ IDAColor *color_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE D3DRMTexture( 
            /* [in] */ IUnknown *rmTex_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ModelClip( 
            /* [in] */ IDAPoint3 *planePt_0,
            /* [in] */ IDAVector3 *planeVec_1,
            /* [retval][out] */ IDAGeometry **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Lighting( 
            /* [in] */ IDABoolean *lighting_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TextureImage( 
            /* [in] */ IDAImage *texture_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2GeometryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2Geometry * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2Geometry * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2Geometry * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2Geometry * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2Geometry * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2Geometry * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2Geometry * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2Geometry * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2Geometry * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2Geometry * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2Geometry * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2Geometry * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2Geometry * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2Geometry * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2Geometry * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2Geometry * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2Geometry * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2Geometry * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2Geometry * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2Geometry * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2Geometry * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *RenderSound )( 
            IDA2Geometry * This,
            /* [in] */ IDAMicrophone *mic_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Pickable )( 
            IDA2Geometry * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *PickableOccluded )( 
            IDA2Geometry * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Undetectable )( 
            IDA2Geometry * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *EmissiveColor )( 
            IDA2Geometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DiffuseColor )( 
            IDA2Geometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularColor )( 
            IDA2Geometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularExponent )( 
            IDA2Geometry * This,
            /* [in] */ double power_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularExponentAnim )( 
            IDA2Geometry * This,
            /* [in] */ IDANumber *power_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Texture )( 
            IDA2Geometry * This,
            /* [in] */ IDAImage *texture_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Opacity )( 
            IDA2Geometry * This,
            /* [in] */ double level_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OpacityAnim )( 
            IDA2Geometry * This,
            /* [in] */ IDANumber *level_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDA2Geometry * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundingBox )( 
            IDA2Geometry * This,
            /* [retval][out] */ IDABbox3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            IDA2Geometry * This,
            /* [in] */ IDACamera *cam_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightColor )( 
            IDA2Geometry * This,
            /* [in] */ IDAColor *color_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightAttenuationAnim )( 
            IDA2Geometry * This,
            /* [in] */ IDANumber *constant_0,
            /* [in] */ IDANumber *linear_1,
            /* [in] */ IDANumber *quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *LightAttenuation )( 
            IDA2Geometry * This,
            /* [in] */ double constant_0,
            /* [in] */ double linear_1,
            /* [in] */ double quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *AddPickData )( 
            IDA2Geometry * This,
            /* [in] */ IUnknown *id_0,
            /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Shadow )( 
            IDA2Geometry * This,
            /* [in] */ IDAGeometry *geoContainingLights_0,
            /* [in] */ IDAPoint3 *planePoint_1,
            /* [in] */ IDAVector3 *planeNormal_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *LightRangeAnim )( 
            IDA2Geometry * This,
            /* [in] */ IDANumber *range_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightRange )( 
            IDA2Geometry * This,
            /* [in] */ double range_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *BlendTextureDiffuse )( 
            IDA2Geometry * This,
            /* [in] */ IDABoolean *blended_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AmbientColor )( 
            IDA2Geometry * This,
            /* [in] */ IDAColor *color_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *D3DRMTexture )( 
            IDA2Geometry * This,
            /* [in] */ IUnknown *rmTex_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ModelClip )( 
            IDA2Geometry * This,
            /* [in] */ IDAPoint3 *planePt_0,
            /* [in] */ IDAVector3 *planeVec_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Lighting )( 
            IDA2Geometry * This,
            /* [in] */ IDABoolean *lighting_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *TextureImage )( 
            IDA2Geometry * This,
            /* [in] */ IDAImage *texture_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        END_INTERFACE
    } IDA2GeometryVtbl;

    interface IDA2Geometry
    {
        CONST_VTBL struct IDA2GeometryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2Geometry_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2Geometry_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2Geometry_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2Geometry_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2Geometry_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2Geometry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2Geometry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2Geometry_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2Geometry_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2Geometry_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2Geometry_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2Geometry_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2Geometry_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2Geometry_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2Geometry_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2Geometry_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2Geometry_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2Geometry_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2Geometry_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2Geometry_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2Geometry_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2Geometry_RenderSound(This,mic_0,ret_1)	\
    (This)->lpVtbl -> RenderSound(This,mic_0,ret_1)

#define IDA2Geometry_Pickable(This,ret_0)	\
    (This)->lpVtbl -> Pickable(This,ret_0)

#define IDA2Geometry_PickableOccluded(This,ret_0)	\
    (This)->lpVtbl -> PickableOccluded(This,ret_0)

#define IDA2Geometry_Undetectable(This,ret_0)	\
    (This)->lpVtbl -> Undetectable(This,ret_0)

#define IDA2Geometry_EmissiveColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> EmissiveColor(This,col_0,ret_1)

#define IDA2Geometry_DiffuseColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> DiffuseColor(This,col_0,ret_1)

#define IDA2Geometry_SpecularColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> SpecularColor(This,col_0,ret_1)

#define IDA2Geometry_SpecularExponent(This,power_0,ret_1)	\
    (This)->lpVtbl -> SpecularExponent(This,power_0,ret_1)

#define IDA2Geometry_SpecularExponentAnim(This,power_0,ret_1)	\
    (This)->lpVtbl -> SpecularExponentAnim(This,power_0,ret_1)

#define IDA2Geometry_Texture(This,texture_0,ret_1)	\
    (This)->lpVtbl -> Texture(This,texture_0,ret_1)

#define IDA2Geometry_Opacity(This,level_0,ret_1)	\
    (This)->lpVtbl -> Opacity(This,level_0,ret_1)

#define IDA2Geometry_OpacityAnim(This,level_0,ret_1)	\
    (This)->lpVtbl -> OpacityAnim(This,level_0,ret_1)

#define IDA2Geometry_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDA2Geometry_get_BoundingBox(This,ret_0)	\
    (This)->lpVtbl -> get_BoundingBox(This,ret_0)

#define IDA2Geometry_Render(This,cam_0,ret_1)	\
    (This)->lpVtbl -> Render(This,cam_0,ret_1)

#define IDA2Geometry_LightColor(This,color_0,ret_1)	\
    (This)->lpVtbl -> LightColor(This,color_0,ret_1)

#define IDA2Geometry_LightAttenuationAnim(This,constant_0,linear_1,quadratic_2,ret_3)	\
    (This)->lpVtbl -> LightAttenuationAnim(This,constant_0,linear_1,quadratic_2,ret_3)

#define IDA2Geometry_LightAttenuation(This,constant_0,linear_1,quadratic_2,ret_3)	\
    (This)->lpVtbl -> LightAttenuation(This,constant_0,linear_1,quadratic_2,ret_3)


#define IDA2Geometry_AddPickData(This,id_0,ignoresOcclusion_1,ret_2)	\
    (This)->lpVtbl -> AddPickData(This,id_0,ignoresOcclusion_1,ret_2)

#define IDA2Geometry_Shadow(This,geoContainingLights_0,planePoint_1,planeNormal_2,ret_3)	\
    (This)->lpVtbl -> Shadow(This,geoContainingLights_0,planePoint_1,planeNormal_2,ret_3)

#define IDA2Geometry_LightRangeAnim(This,range_0,ret_1)	\
    (This)->lpVtbl -> LightRangeAnim(This,range_0,ret_1)

#define IDA2Geometry_LightRange(This,range_0,ret_1)	\
    (This)->lpVtbl -> LightRange(This,range_0,ret_1)

#define IDA2Geometry_BlendTextureDiffuse(This,blended_0,ret_1)	\
    (This)->lpVtbl -> BlendTextureDiffuse(This,blended_0,ret_1)

#define IDA2Geometry_AmbientColor(This,color_0,ret_1)	\
    (This)->lpVtbl -> AmbientColor(This,color_0,ret_1)

#define IDA2Geometry_D3DRMTexture(This,rmTex_0,ret_1)	\
    (This)->lpVtbl -> D3DRMTexture(This,rmTex_0,ret_1)

#define IDA2Geometry_ModelClip(This,planePt_0,planeVec_1,ret_2)	\
    (This)->lpVtbl -> ModelClip(This,planePt_0,planeVec_1,ret_2)

#define IDA2Geometry_Lighting(This,lighting_0,ret_1)	\
    (This)->lpVtbl -> Lighting(This,lighting_0,ret_1)

#define IDA2Geometry_TextureImage(This,texture_0,ret_1)	\
    (This)->lpVtbl -> TextureImage(This,texture_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2Geometry_AddPickData_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IUnknown *id_0,
    /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
    /* [retval][out] */ IDAGeometry **ret_2);


void __RPC_STUB IDA2Geometry_AddPickData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_Shadow_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IDAGeometry *geoContainingLights_0,
    /* [in] */ IDAPoint3 *planePoint_1,
    /* [in] */ IDAVector3 *planeNormal_2,
    /* [retval][out] */ IDAGeometry **ret_3);


void __RPC_STUB IDA2Geometry_Shadow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_LightRangeAnim_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IDANumber *range_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA2Geometry_LightRangeAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_LightRange_Proxy( 
    IDA2Geometry * This,
    /* [in] */ double range_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA2Geometry_LightRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_BlendTextureDiffuse_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IDABoolean *blended_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA2Geometry_BlendTextureDiffuse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_AmbientColor_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IDAColor *color_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA2Geometry_AmbientColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_D3DRMTexture_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IUnknown *rmTex_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA2Geometry_D3DRMTexture_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_ModelClip_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IDAPoint3 *planePt_0,
    /* [in] */ IDAVector3 *planeVec_1,
    /* [retval][out] */ IDAGeometry **ret_2);


void __RPC_STUB IDA2Geometry_ModelClip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_Lighting_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IDABoolean *lighting_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA2Geometry_Lighting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Geometry_TextureImage_Proxy( 
    IDA2Geometry * This,
    /* [in] */ IDAImage *texture_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA2Geometry_TextureImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2Geometry_INTERFACE_DEFINED__ */


#ifndef __IDA2Image_INTERFACE_DEFINED__
#define __IDA2Image_INTERFACE_DEFINED__

/* interface IDA2Image */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2Image;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B90E5259-574A-11d1-8E7B-00C04FC29D46")
    IDA2Image : public IDAImage
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddPickData( 
            /* [in] */ IUnknown *id_0,
            /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RenderResolution( 
            /* [in] */ long width_0,
            /* [in] */ long height_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImageQuality( 
            /* [in] */ DWORD dwQualityFlags_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ColorKey( 
            /* [in] */ IDAColor *colorKey_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2ImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2Image * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2Image * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2Image * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2Image * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2Image * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2Image * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2Image * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2Image * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2Image * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2Image * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2Image * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2Image * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2Image * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2Image * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2Image * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2Image * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2Image * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2Image * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2Image * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2Image * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2Image * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Pickable )( 
            IDA2Image * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *PickableOccluded )( 
            IDA2Image * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ApplyBitmapEffect )( 
            IDA2Image * This,
            /* [in] */ IUnknown *effectToApply_0,
            /* [in] */ IDAEvent *firesWhenChanged_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundingBox )( 
            IDA2Image * This,
            /* [retval][out] */ IDABbox2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Crop )( 
            IDA2Image * This,
            /* [in] */ IDAPoint2 *min_0,
            /* [in] */ IDAPoint2 *max_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDA2Image * This,
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OpacityAnim )( 
            IDA2Image * This,
            /* [in] */ IDANumber *opacity_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Opacity )( 
            IDA2Image * This,
            /* [in] */ double opacity_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Undetectable )( 
            IDA2Image * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Tile )( 
            IDA2Image * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Clip )( 
            IDA2Image * This,
            /* [in] */ IDAMatte *m_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MapToUnitSquare )( 
            IDA2Image * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ClipPolygonImageEx )( 
            IDA2Image * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ClipPolygonImage )( 
            IDA2Image * This,
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AddPickData )( 
            IDA2Image * This,
            /* [in] */ IUnknown *id_0,
            /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RenderResolution )( 
            IDA2Image * This,
            /* [in] */ long width_0,
            /* [in] */ long height_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ImageQuality )( 
            IDA2Image * This,
            /* [in] */ DWORD dwQualityFlags_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ColorKey )( 
            IDA2Image * This,
            /* [in] */ IDAColor *colorKey_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        END_INTERFACE
    } IDA2ImageVtbl;

    interface IDA2Image
    {
        CONST_VTBL struct IDA2ImageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2Image_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2Image_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2Image_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2Image_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2Image_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2Image_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2Image_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2Image_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2Image_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2Image_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2Image_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2Image_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2Image_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2Image_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2Image_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2Image_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2Image_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2Image_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2Image_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2Image_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2Image_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2Image_Pickable(This,ret_0)	\
    (This)->lpVtbl -> Pickable(This,ret_0)

#define IDA2Image_PickableOccluded(This,ret_0)	\
    (This)->lpVtbl -> PickableOccluded(This,ret_0)

#define IDA2Image_ApplyBitmapEffect(This,effectToApply_0,firesWhenChanged_1,ret_2)	\
    (This)->lpVtbl -> ApplyBitmapEffect(This,effectToApply_0,firesWhenChanged_1,ret_2)

#define IDA2Image_get_BoundingBox(This,ret_0)	\
    (This)->lpVtbl -> get_BoundingBox(This,ret_0)

#define IDA2Image_Crop(This,min_0,max_1,ret_2)	\
    (This)->lpVtbl -> Crop(This,min_0,max_1,ret_2)

#define IDA2Image_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDA2Image_OpacityAnim(This,opacity_0,ret_1)	\
    (This)->lpVtbl -> OpacityAnim(This,opacity_0,ret_1)

#define IDA2Image_Opacity(This,opacity_0,ret_1)	\
    (This)->lpVtbl -> Opacity(This,opacity_0,ret_1)

#define IDA2Image_Undetectable(This,ret_0)	\
    (This)->lpVtbl -> Undetectable(This,ret_0)

#define IDA2Image_Tile(This,ret_0)	\
    (This)->lpVtbl -> Tile(This,ret_0)

#define IDA2Image_Clip(This,m_0,ret_1)	\
    (This)->lpVtbl -> Clip(This,m_0,ret_1)

#define IDA2Image_MapToUnitSquare(This,ret_0)	\
    (This)->lpVtbl -> MapToUnitSquare(This,ret_0)

#define IDA2Image_ClipPolygonImageEx(This,points_0size,points_0,ret_1)	\
    (This)->lpVtbl -> ClipPolygonImageEx(This,points_0size,points_0,ret_1)

#define IDA2Image_ClipPolygonImage(This,points_0,ret_1)	\
    (This)->lpVtbl -> ClipPolygonImage(This,points_0,ret_1)


#define IDA2Image_AddPickData(This,id_0,ignoresOcclusion_1,ret_2)	\
    (This)->lpVtbl -> AddPickData(This,id_0,ignoresOcclusion_1,ret_2)

#define IDA2Image_RenderResolution(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> RenderResolution(This,width_0,height_1,ret_2)

#define IDA2Image_ImageQuality(This,dwQualityFlags_0,ret_1)	\
    (This)->lpVtbl -> ImageQuality(This,dwQualityFlags_0,ret_1)

#define IDA2Image_ColorKey(This,colorKey_0,ret_1)	\
    (This)->lpVtbl -> ColorKey(This,colorKey_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2Image_AddPickData_Proxy( 
    IDA2Image * This,
    /* [in] */ IUnknown *id_0,
    /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDA2Image_AddPickData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Image_RenderResolution_Proxy( 
    IDA2Image * This,
    /* [in] */ long width_0,
    /* [in] */ long height_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDA2Image_RenderResolution_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Image_ImageQuality_Proxy( 
    IDA2Image * This,
    /* [in] */ DWORD dwQualityFlags_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDA2Image_ImageQuality_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Image_ColorKey_Proxy( 
    IDA2Image * This,
    /* [in] */ IDAColor *colorKey_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDA2Image_ColorKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2Image_INTERFACE_DEFINED__ */


#ifndef __IDA2FontStyle_INTERFACE_DEFINED__
#define __IDA2FontStyle_INTERFACE_DEFINED__

/* interface IDA2FontStyle */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2FontStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("960D8EFF-E494-11d1-AB75-00C04FD92B6B")
    IDA2FontStyle : public IDAFontStyle
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE TransformCharacters( 
            /* [in] */ IDATransform2 *transform_0,
            /* [retval][out] */ IDAFontStyle **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2FontStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2FontStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2FontStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2FontStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2FontStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2FontStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2FontStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2FontStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2FontStyle * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2FontStyle * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2FontStyle * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2FontStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2FontStyle * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2FontStyle * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2FontStyle * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2FontStyle * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2FontStyle * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2FontStyle * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2FontStyle * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2FontStyle * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2FontStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2FontStyle * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Bold )( 
            IDA2FontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Italic )( 
            IDA2FontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Underline )( 
            IDA2FontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Strikethrough )( 
            IDA2FontStyle * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *AntiAliasing )( 
            IDA2FontStyle * This,
            /* [in] */ double aaStyle_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Color )( 
            IDA2FontStyle * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *FamilyAnim )( 
            IDA2FontStyle * This,
            /* [in] */ IDAString *face_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Family )( 
            IDA2FontStyle * This,
            /* [in] */ BSTR face_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SizeAnim )( 
            IDA2FontStyle * This,
            /* [in] */ IDANumber *size_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Size )( 
            IDA2FontStyle * This,
            /* [in] */ double size_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Weight )( 
            IDA2FontStyle * This,
            /* [in] */ double weight_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *WeightAnim )( 
            IDA2FontStyle * This,
            /* [in] */ IDANumber *weight_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *TransformCharacters )( 
            IDA2FontStyle * This,
            /* [in] */ IDATransform2 *transform_0,
            /* [retval][out] */ IDAFontStyle **ret_1);
        
        END_INTERFACE
    } IDA2FontStyleVtbl;

    interface IDA2FontStyle
    {
        CONST_VTBL struct IDA2FontStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2FontStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2FontStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2FontStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2FontStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2FontStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2FontStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2FontStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2FontStyle_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2FontStyle_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2FontStyle_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2FontStyle_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2FontStyle_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2FontStyle_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2FontStyle_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2FontStyle_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2FontStyle_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2FontStyle_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2FontStyle_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2FontStyle_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2FontStyle_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2FontStyle_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2FontStyle_Bold(This,ret_0)	\
    (This)->lpVtbl -> Bold(This,ret_0)

#define IDA2FontStyle_Italic(This,ret_0)	\
    (This)->lpVtbl -> Italic(This,ret_0)

#define IDA2FontStyle_Underline(This,ret_0)	\
    (This)->lpVtbl -> Underline(This,ret_0)

#define IDA2FontStyle_Strikethrough(This,ret_0)	\
    (This)->lpVtbl -> Strikethrough(This,ret_0)

#define IDA2FontStyle_AntiAliasing(This,aaStyle_0,ret_1)	\
    (This)->lpVtbl -> AntiAliasing(This,aaStyle_0,ret_1)

#define IDA2FontStyle_Color(This,col_0,ret_1)	\
    (This)->lpVtbl -> Color(This,col_0,ret_1)

#define IDA2FontStyle_FamilyAnim(This,face_0,ret_1)	\
    (This)->lpVtbl -> FamilyAnim(This,face_0,ret_1)

#define IDA2FontStyle_Family(This,face_0,ret_1)	\
    (This)->lpVtbl -> Family(This,face_0,ret_1)

#define IDA2FontStyle_SizeAnim(This,size_0,ret_1)	\
    (This)->lpVtbl -> SizeAnim(This,size_0,ret_1)

#define IDA2FontStyle_Size(This,size_0,ret_1)	\
    (This)->lpVtbl -> Size(This,size_0,ret_1)

#define IDA2FontStyle_Weight(This,weight_0,ret_1)	\
    (This)->lpVtbl -> Weight(This,weight_0,ret_1)

#define IDA2FontStyle_WeightAnim(This,weight_0,ret_1)	\
    (This)->lpVtbl -> WeightAnim(This,weight_0,ret_1)


#define IDA2FontStyle_TransformCharacters(This,transform_0,ret_1)	\
    (This)->lpVtbl -> TransformCharacters(This,transform_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2FontStyle_TransformCharacters_Proxy( 
    IDA2FontStyle * This,
    /* [in] */ IDATransform2 *transform_0,
    /* [retval][out] */ IDAFontStyle **ret_1);


void __RPC_STUB IDA2FontStyle_TransformCharacters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2FontStyle_INTERFACE_DEFINED__ */


#ifndef __IDA2LineStyle_INTERFACE_DEFINED__
#define __IDA2LineStyle_INTERFACE_DEFINED__

/* interface IDA2LineStyle */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2LineStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5F00F545-DF18-11d1-AB6F-00C04FD92B6B")
    IDA2LineStyle : public IDALineStyle
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE DashStyle( 
            /* [in] */ DWORD ds_enum_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MiterLimit( 
            /* [in] */ double mtrlim_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MiterLimitAnim( 
            /* [in] */ IDANumber *mtrlim_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE JoinStyle( 
            /* [in] */ DWORD js_enum_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EndStyle( 
            /* [in] */ DWORD es_enum_0,
            /* [retval][out] */ IDALineStyle **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2LineStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2LineStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2LineStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2LineStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2LineStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2LineStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2LineStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2LineStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2LineStyle * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2LineStyle * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2LineStyle * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2LineStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2LineStyle * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2LineStyle * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2LineStyle * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2LineStyle * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2LineStyle * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2LineStyle * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2LineStyle * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2LineStyle * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2LineStyle * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2LineStyle * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *End )( 
            IDA2LineStyle * This,
            /* [in] */ IDAEndStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1);
        
        HRESULT ( STDMETHODCALLTYPE *Join )( 
            IDA2LineStyle * This,
            /* [in] */ IDAJoinStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1);
        
        HRESULT ( STDMETHODCALLTYPE *Dash )( 
            IDA2LineStyle * This,
            /* [in] */ IDADashStyle *obsolete_0,
            /* [retval][out] */ IDALineStyle **obsolete_1);
        
        HRESULT ( STDMETHODCALLTYPE *WidthAnim )( 
            IDA2LineStyle * This,
            /* [in] */ IDANumber *sty_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *width )( 
            IDA2LineStyle * This,
            /* [in] */ double sty_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AntiAliasing )( 
            IDA2LineStyle * This,
            /* [in] */ double aaStyle_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Detail )( 
            IDA2LineStyle * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Color )( 
            IDA2LineStyle * This,
            /* [in] */ IDAColor *clr_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DashStyle )( 
            IDA2LineStyle * This,
            /* [in] */ DWORD ds_enum_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MiterLimit )( 
            IDA2LineStyle * This,
            /* [in] */ double mtrlim_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MiterLimitAnim )( 
            IDA2LineStyle * This,
            /* [in] */ IDANumber *mtrlim_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *JoinStyle )( 
            IDA2LineStyle * This,
            /* [in] */ DWORD js_enum_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *EndStyle )( 
            IDA2LineStyle * This,
            /* [in] */ DWORD es_enum_0,
            /* [retval][out] */ IDALineStyle **ret_1);
        
        END_INTERFACE
    } IDA2LineStyleVtbl;

    interface IDA2LineStyle
    {
        CONST_VTBL struct IDA2LineStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2LineStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2LineStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2LineStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2LineStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2LineStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2LineStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2LineStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2LineStyle_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2LineStyle_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2LineStyle_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2LineStyle_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2LineStyle_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2LineStyle_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2LineStyle_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2LineStyle_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2LineStyle_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2LineStyle_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2LineStyle_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2LineStyle_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2LineStyle_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2LineStyle_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2LineStyle_End(This,obsolete_0,obsolete_1)	\
    (This)->lpVtbl -> End(This,obsolete_0,obsolete_1)

#define IDA2LineStyle_Join(This,obsolete_0,obsolete_1)	\
    (This)->lpVtbl -> Join(This,obsolete_0,obsolete_1)

#define IDA2LineStyle_Dash(This,obsolete_0,obsolete_1)	\
    (This)->lpVtbl -> Dash(This,obsolete_0,obsolete_1)

#define IDA2LineStyle_WidthAnim(This,sty_0,ret_1)	\
    (This)->lpVtbl -> WidthAnim(This,sty_0,ret_1)

#define IDA2LineStyle_width(This,sty_0,ret_1)	\
    (This)->lpVtbl -> width(This,sty_0,ret_1)

#define IDA2LineStyle_AntiAliasing(This,aaStyle_0,ret_1)	\
    (This)->lpVtbl -> AntiAliasing(This,aaStyle_0,ret_1)

#define IDA2LineStyle_Detail(This,ret_0)	\
    (This)->lpVtbl -> Detail(This,ret_0)

#define IDA2LineStyle_Color(This,clr_0,ret_1)	\
    (This)->lpVtbl -> Color(This,clr_0,ret_1)


#define IDA2LineStyle_DashStyle(This,ds_enum_0,ret_1)	\
    (This)->lpVtbl -> DashStyle(This,ds_enum_0,ret_1)

#define IDA2LineStyle_MiterLimit(This,mtrlim_0,ret_1)	\
    (This)->lpVtbl -> MiterLimit(This,mtrlim_0,ret_1)

#define IDA2LineStyle_MiterLimitAnim(This,mtrlim_0,ret_1)	\
    (This)->lpVtbl -> MiterLimitAnim(This,mtrlim_0,ret_1)

#define IDA2LineStyle_JoinStyle(This,js_enum_0,ret_1)	\
    (This)->lpVtbl -> JoinStyle(This,js_enum_0,ret_1)

#define IDA2LineStyle_EndStyle(This,es_enum_0,ret_1)	\
    (This)->lpVtbl -> EndStyle(This,es_enum_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2LineStyle_DashStyle_Proxy( 
    IDA2LineStyle * This,
    /* [in] */ DWORD ds_enum_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDA2LineStyle_DashStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2LineStyle_MiterLimit_Proxy( 
    IDA2LineStyle * This,
    /* [in] */ double mtrlim_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDA2LineStyle_MiterLimit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2LineStyle_MiterLimitAnim_Proxy( 
    IDA2LineStyle * This,
    /* [in] */ IDANumber *mtrlim_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDA2LineStyle_MiterLimitAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2LineStyle_JoinStyle_Proxy( 
    IDA2LineStyle * This,
    /* [in] */ DWORD js_enum_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDA2LineStyle_JoinStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2LineStyle_EndStyle_Proxy( 
    IDA2LineStyle * This,
    /* [in] */ DWORD es_enum_0,
    /* [retval][out] */ IDALineStyle **ret_1);


void __RPC_STUB IDA2LineStyle_EndStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2LineStyle_INTERFACE_DEFINED__ */


#ifndef __IDA2Event_INTERFACE_DEFINED__
#define __IDA2Event_INTERFACE_DEFINED__

/* interface IDA2Event */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2Event;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B90E525A-574A-11d1-8E7B-00C04FC29D46")
    IDA2Event : public IDAEvent
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE NotifyScript( 
            /* [in] */ BSTR scriptlet_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2EventVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2Event * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2Event * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2Event * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2Event * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2Event * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2Event * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2Event * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2Event * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2Event * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2Event * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2Event * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2Event * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2Event * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2Event * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2Event * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2Event * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2Event * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2Event * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2Event * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2Event * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2Event * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Notify )( 
            IDA2Event * This,
            /* [in] */ IDAUntilNotifier *notifier_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Snapshot )( 
            IDA2Event * This,
            /* [in] */ IDABehavior *b_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AttachData )( 
            IDA2Event * This,
            /* [in] */ IDABehavior *data_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ScriptCallback )( 
            IDA2Event * This,
            /* [in] */ BSTR scriptlet_0,
            /* [in] */ BSTR language_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NotifyScript )( 
            IDA2Event * This,
            /* [in] */ BSTR scriptlet_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        END_INTERFACE
    } IDA2EventVtbl;

    interface IDA2Event
    {
        CONST_VTBL struct IDA2EventVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2Event_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2Event_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2Event_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2Event_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2Event_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2Event_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2Event_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2Event_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2Event_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2Event_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2Event_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2Event_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2Event_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2Event_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2Event_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2Event_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2Event_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2Event_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2Event_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2Event_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2Event_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2Event_Notify(This,notifier_0,ret_1)	\
    (This)->lpVtbl -> Notify(This,notifier_0,ret_1)

#define IDA2Event_Snapshot(This,b_0,ret_1)	\
    (This)->lpVtbl -> Snapshot(This,b_0,ret_1)

#define IDA2Event_AttachData(This,data_0,ret_1)	\
    (This)->lpVtbl -> AttachData(This,data_0,ret_1)

#define IDA2Event_ScriptCallback(This,scriptlet_0,language_1,ret_2)	\
    (This)->lpVtbl -> ScriptCallback(This,scriptlet_0,language_1,ret_2)


#define IDA2Event_NotifyScript(This,scriptlet_0,ret_1)	\
    (This)->lpVtbl -> NotifyScript(This,scriptlet_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2Event_NotifyScript_Proxy( 
    IDA2Event * This,
    /* [in] */ BSTR scriptlet_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDA2Event_NotifyScript_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2Event_INTERFACE_DEFINED__ */


#ifndef __IDA2Array_INTERFACE_DEFINED__
#define __IDA2Array_INTERFACE_DEFINED__

/* interface IDA2Array */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2Array;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2A8F0B06-BE2B-11d1-B219-00C04FC2A0CA")
    IDA2Array : public IDAArray
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddElement( 
            /* [in] */ IDABehavior *b_0,
            /* [in] */ DWORD flag_1,
            /* [retval][out] */ long *ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveElement( 
            /* [in] */ long i_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2ArrayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2Array * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2Array * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2Array * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2Array * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2Array * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2Array * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2Array * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2Array * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2Array * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2Array * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2Array * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2Array * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2Array * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2Array * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2Array * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2Array * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2Array * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2Array * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2Array * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2Array * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2Array * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *NthAnim )( 
            IDA2Array * This,
            /* [in] */ IDANumber *index_0,
            /* [retval][out] */ IDABehavior **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Length )( 
            IDA2Array * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *AddElement )( 
            IDA2Array * This,
            /* [in] */ IDABehavior *b_0,
            /* [in] */ DWORD flag_1,
            /* [retval][out] */ long *ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveElement )( 
            IDA2Array * This,
            /* [in] */ long i_0);
        
        END_INTERFACE
    } IDA2ArrayVtbl;

    interface IDA2Array
    {
        CONST_VTBL struct IDA2ArrayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2Array_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2Array_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2Array_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2Array_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2Array_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2Array_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2Array_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2Array_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2Array_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2Array_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2Array_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2Array_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2Array_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2Array_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2Array_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2Array_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2Array_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2Array_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2Array_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2Array_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2Array_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2Array_NthAnim(This,index_0,ret_1)	\
    (This)->lpVtbl -> NthAnim(This,index_0,ret_1)

#define IDA2Array_Length(This,ret_0)	\
    (This)->lpVtbl -> Length(This,ret_0)


#define IDA2Array_AddElement(This,b_0,flag_1,ret_2)	\
    (This)->lpVtbl -> AddElement(This,b_0,flag_1,ret_2)

#define IDA2Array_RemoveElement(This,i_0)	\
    (This)->lpVtbl -> RemoveElement(This,i_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2Array_AddElement_Proxy( 
    IDA2Array * This,
    /* [in] */ IDABehavior *b_0,
    /* [in] */ DWORD flag_1,
    /* [retval][out] */ long *ret_2);


void __RPC_STUB IDA2Array_AddElement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Array_RemoveElement_Proxy( 
    IDA2Array * This,
    /* [in] */ long i_0);


void __RPC_STUB IDA2Array_RemoveElement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2Array_INTERFACE_DEFINED__ */


#ifndef __IDA2Color_INTERFACE_DEFINED__
#define __IDA2Color_INTERFACE_DEFINED__

/* interface IDA2Color */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2Color;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("28A4B924-61FE-11d2-A740-00C04F79754C")
    IDA2Color : public IDAColor
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AnimateProperty( 
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDA2Color **ret_4) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2ColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2Color * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2Color * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2Color * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2Color * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2Color * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2Color * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2Color * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA2Color * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA2Color * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA2Color * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA2Color * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA2Color * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA2Color * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA2Color * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA2Color * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA2Color * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA2Color * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA2Color * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA2Color * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA2Color * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA2Color * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Red )( 
            IDA2Color * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Green )( 
            IDA2Color * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Blue )( 
            IDA2Color * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Hue )( 
            IDA2Color * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Saturation )( 
            IDA2Color * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lightness )( 
            IDA2Color * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *AnimateProperty )( 
            IDA2Color * This,
            /* [in] */ BSTR propertyPath_0,
            /* [in] */ BSTR scriptingLanguage_1,
            /* [in] */ VARIANT_BOOL invokeAsMethod_2,
            /* [in] */ double minUpdateInterval_3,
            /* [retval][out] */ IDA2Color **ret_4);
        
        END_INTERFACE
    } IDA2ColorVtbl;

    interface IDA2Color
    {
        CONST_VTBL struct IDA2ColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2Color_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2Color_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2Color_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2Color_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2Color_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2Color_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2Color_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2Color_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA2Color_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA2Color_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA2Color_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA2Color_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA2Color_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA2Color_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA2Color_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA2Color_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA2Color_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA2Color_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA2Color_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA2Color_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA2Color_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA2Color_get_Red(This,ret_0)	\
    (This)->lpVtbl -> get_Red(This,ret_0)

#define IDA2Color_get_Green(This,ret_0)	\
    (This)->lpVtbl -> get_Green(This,ret_0)

#define IDA2Color_get_Blue(This,ret_0)	\
    (This)->lpVtbl -> get_Blue(This,ret_0)

#define IDA2Color_get_Hue(This,ret_0)	\
    (This)->lpVtbl -> get_Hue(This,ret_0)

#define IDA2Color_get_Saturation(This,ret_0)	\
    (This)->lpVtbl -> get_Saturation(This,ret_0)

#define IDA2Color_get_Lightness(This,ret_0)	\
    (This)->lpVtbl -> get_Lightness(This,ret_0)


#define IDA2Color_AnimateProperty(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)	\
    (This)->lpVtbl -> AnimateProperty(This,propertyPath_0,scriptingLanguage_1,invokeAsMethod_2,minUpdateInterval_3,ret_4)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2Color_AnimateProperty_Proxy( 
    IDA2Color * This,
    /* [in] */ BSTR propertyPath_0,
    /* [in] */ BSTR scriptingLanguage_1,
    /* [in] */ VARIANT_BOOL invokeAsMethod_2,
    /* [in] */ double minUpdateInterval_3,
    /* [retval][out] */ IDA2Color **ret_4);


void __RPC_STUB IDA2Color_AnimateProperty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2Color_INTERFACE_DEFINED__ */


#ifndef __IDA3Geometry_INTERFACE_DEFINED__
#define __IDA3Geometry_INTERFACE_DEFINED__

/* interface IDA3Geometry */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA3Geometry;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EB5093C7-56F9-11d2-88CE-00C04FA35859")
    IDA3Geometry : public IDA2Geometry
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Billboard( 
            /* [in] */ IDAVector3 *axis_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA3GeometryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA3Geometry * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA3Geometry * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA3Geometry * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA3Geometry * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA3Geometry * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA3Geometry * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA3Geometry * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA3Geometry * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA3Geometry * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA3Geometry * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA3Geometry * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA3Geometry * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA3Geometry * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA3Geometry * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA3Geometry * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA3Geometry * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA3Geometry * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA3Geometry * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA3Geometry * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA3Geometry * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA3Geometry * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *RenderSound )( 
            IDA3Geometry * This,
            /* [in] */ IDAMicrophone *mic_0,
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Pickable )( 
            IDA3Geometry * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *PickableOccluded )( 
            IDA3Geometry * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Undetectable )( 
            IDA3Geometry * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *EmissiveColor )( 
            IDA3Geometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DiffuseColor )( 
            IDA3Geometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularColor )( 
            IDA3Geometry * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularExponent )( 
            IDA3Geometry * This,
            /* [in] */ double power_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SpecularExponentAnim )( 
            IDA3Geometry * This,
            /* [in] */ IDANumber *power_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Texture )( 
            IDA3Geometry * This,
            /* [in] */ IDAImage *texture_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Opacity )( 
            IDA3Geometry * This,
            /* [in] */ double level_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OpacityAnim )( 
            IDA3Geometry * This,
            /* [in] */ IDANumber *level_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDA3Geometry * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundingBox )( 
            IDA3Geometry * This,
            /* [retval][out] */ IDABbox3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            IDA3Geometry * This,
            /* [in] */ IDACamera *cam_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightColor )( 
            IDA3Geometry * This,
            /* [in] */ IDAColor *color_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightAttenuationAnim )( 
            IDA3Geometry * This,
            /* [in] */ IDANumber *constant_0,
            /* [in] */ IDANumber *linear_1,
            /* [in] */ IDANumber *quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *LightAttenuation )( 
            IDA3Geometry * This,
            /* [in] */ double constant_0,
            /* [in] */ double linear_1,
            /* [in] */ double quadratic_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *AddPickData )( 
            IDA3Geometry * This,
            /* [in] */ IUnknown *id_0,
            /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Shadow )( 
            IDA3Geometry * This,
            /* [in] */ IDAGeometry *geoContainingLights_0,
            /* [in] */ IDAPoint3 *planePoint_1,
            /* [in] */ IDAVector3 *planeNormal_2,
            /* [retval][out] */ IDAGeometry **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *LightRangeAnim )( 
            IDA3Geometry * This,
            /* [in] */ IDANumber *range_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LightRange )( 
            IDA3Geometry * This,
            /* [in] */ double range_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *BlendTextureDiffuse )( 
            IDA3Geometry * This,
            /* [in] */ IDABoolean *blended_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AmbientColor )( 
            IDA3Geometry * This,
            /* [in] */ IDAColor *color_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *D3DRMTexture )( 
            IDA3Geometry * This,
            /* [in] */ IUnknown *rmTex_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ModelClip )( 
            IDA3Geometry * This,
            /* [in] */ IDAPoint3 *planePt_0,
            /* [in] */ IDAVector3 *planeVec_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Lighting )( 
            IDA3Geometry * This,
            /* [in] */ IDABoolean *lighting_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *TextureImage )( 
            IDA3Geometry * This,
            /* [in] */ IDAImage *texture_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Billboard )( 
            IDA3Geometry * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        END_INTERFACE
    } IDA3GeometryVtbl;

    interface IDA3Geometry
    {
        CONST_VTBL struct IDA3GeometryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA3Geometry_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA3Geometry_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA3Geometry_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA3Geometry_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA3Geometry_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA3Geometry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA3Geometry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA3Geometry_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA3Geometry_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA3Geometry_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA3Geometry_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA3Geometry_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA3Geometry_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA3Geometry_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA3Geometry_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA3Geometry_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA3Geometry_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA3Geometry_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA3Geometry_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA3Geometry_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA3Geometry_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA3Geometry_RenderSound(This,mic_0,ret_1)	\
    (This)->lpVtbl -> RenderSound(This,mic_0,ret_1)

#define IDA3Geometry_Pickable(This,ret_0)	\
    (This)->lpVtbl -> Pickable(This,ret_0)

#define IDA3Geometry_PickableOccluded(This,ret_0)	\
    (This)->lpVtbl -> PickableOccluded(This,ret_0)

#define IDA3Geometry_Undetectable(This,ret_0)	\
    (This)->lpVtbl -> Undetectable(This,ret_0)

#define IDA3Geometry_EmissiveColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> EmissiveColor(This,col_0,ret_1)

#define IDA3Geometry_DiffuseColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> DiffuseColor(This,col_0,ret_1)

#define IDA3Geometry_SpecularColor(This,col_0,ret_1)	\
    (This)->lpVtbl -> SpecularColor(This,col_0,ret_1)

#define IDA3Geometry_SpecularExponent(This,power_0,ret_1)	\
    (This)->lpVtbl -> SpecularExponent(This,power_0,ret_1)

#define IDA3Geometry_SpecularExponentAnim(This,power_0,ret_1)	\
    (This)->lpVtbl -> SpecularExponentAnim(This,power_0,ret_1)

#define IDA3Geometry_Texture(This,texture_0,ret_1)	\
    (This)->lpVtbl -> Texture(This,texture_0,ret_1)

#define IDA3Geometry_Opacity(This,level_0,ret_1)	\
    (This)->lpVtbl -> Opacity(This,level_0,ret_1)

#define IDA3Geometry_OpacityAnim(This,level_0,ret_1)	\
    (This)->lpVtbl -> OpacityAnim(This,level_0,ret_1)

#define IDA3Geometry_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDA3Geometry_get_BoundingBox(This,ret_0)	\
    (This)->lpVtbl -> get_BoundingBox(This,ret_0)

#define IDA3Geometry_Render(This,cam_0,ret_1)	\
    (This)->lpVtbl -> Render(This,cam_0,ret_1)

#define IDA3Geometry_LightColor(This,color_0,ret_1)	\
    (This)->lpVtbl -> LightColor(This,color_0,ret_1)

#define IDA3Geometry_LightAttenuationAnim(This,constant_0,linear_1,quadratic_2,ret_3)	\
    (This)->lpVtbl -> LightAttenuationAnim(This,constant_0,linear_1,quadratic_2,ret_3)

#define IDA3Geometry_LightAttenuation(This,constant_0,linear_1,quadratic_2,ret_3)	\
    (This)->lpVtbl -> LightAttenuation(This,constant_0,linear_1,quadratic_2,ret_3)


#define IDA3Geometry_AddPickData(This,id_0,ignoresOcclusion_1,ret_2)	\
    (This)->lpVtbl -> AddPickData(This,id_0,ignoresOcclusion_1,ret_2)

#define IDA3Geometry_Shadow(This,geoContainingLights_0,planePoint_1,planeNormal_2,ret_3)	\
    (This)->lpVtbl -> Shadow(This,geoContainingLights_0,planePoint_1,planeNormal_2,ret_3)

#define IDA3Geometry_LightRangeAnim(This,range_0,ret_1)	\
    (This)->lpVtbl -> LightRangeAnim(This,range_0,ret_1)

#define IDA3Geometry_LightRange(This,range_0,ret_1)	\
    (This)->lpVtbl -> LightRange(This,range_0,ret_1)

#define IDA3Geometry_BlendTextureDiffuse(This,blended_0,ret_1)	\
    (This)->lpVtbl -> BlendTextureDiffuse(This,blended_0,ret_1)

#define IDA3Geometry_AmbientColor(This,color_0,ret_1)	\
    (This)->lpVtbl -> AmbientColor(This,color_0,ret_1)

#define IDA3Geometry_D3DRMTexture(This,rmTex_0,ret_1)	\
    (This)->lpVtbl -> D3DRMTexture(This,rmTex_0,ret_1)

#define IDA3Geometry_ModelClip(This,planePt_0,planeVec_1,ret_2)	\
    (This)->lpVtbl -> ModelClip(This,planePt_0,planeVec_1,ret_2)

#define IDA3Geometry_Lighting(This,lighting_0,ret_1)	\
    (This)->lpVtbl -> Lighting(This,lighting_0,ret_1)

#define IDA3Geometry_TextureImage(This,texture_0,ret_1)	\
    (This)->lpVtbl -> TextureImage(This,texture_0,ret_1)


#define IDA3Geometry_Billboard(This,axis_0,ret_1)	\
    (This)->lpVtbl -> Billboard(This,axis_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA3Geometry_Billboard_Proxy( 
    IDA3Geometry * This,
    /* [in] */ IDAVector3 *axis_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDA3Geometry_Billboard_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA3Geometry_INTERFACE_DEFINED__ */


#ifndef __IDA3Image_INTERFACE_DEFINED__
#define __IDA3Image_INTERFACE_DEFINED__

/* interface IDA3Image */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA3Image;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AD083DBB-5817-11d2-ABA1-00C04FD92B6B")
    IDA3Image : public IDA2Image
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE TransformColorRGB( 
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA3ImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA3Image * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA3Image * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA3Image * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA3Image * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA3Image * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA3Image * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA3Image * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA3Image * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA3Image * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA3Image * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA3Image * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA3Image * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA3Image * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA3Image * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA3Image * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA3Image * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA3Image * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA3Image * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA3Image * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA3Image * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA3Image * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *Pickable )( 
            IDA3Image * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *PickableOccluded )( 
            IDA3Image * This,
            /* [retval][out] */ IDAPickableResult **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ApplyBitmapEffect )( 
            IDA3Image * This,
            /* [in] */ IUnknown *effectToApply_0,
            /* [in] */ IDAEvent *firesWhenChanged_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundingBox )( 
            IDA3Image * This,
            /* [retval][out] */ IDABbox2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Crop )( 
            IDA3Image * This,
            /* [in] */ IDAPoint2 *min_0,
            /* [in] */ IDAPoint2 *max_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Transform )( 
            IDA3Image * This,
            /* [in] */ IDATransform2 *xf_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OpacityAnim )( 
            IDA3Image * This,
            /* [in] */ IDANumber *opacity_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Opacity )( 
            IDA3Image * This,
            /* [in] */ double opacity_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Undetectable )( 
            IDA3Image * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Tile )( 
            IDA3Image * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Clip )( 
            IDA3Image * This,
            /* [in] */ IDAMatte *m_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MapToUnitSquare )( 
            IDA3Image * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ClipPolygonImageEx )( 
            IDA3Image * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ClipPolygonImage )( 
            IDA3Image * This,
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AddPickData )( 
            IDA3Image * This,
            /* [in] */ IUnknown *id_0,
            /* [in] */ VARIANT_BOOL ignoresOcclusion_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RenderResolution )( 
            IDA3Image * This,
            /* [in] */ long width_0,
            /* [in] */ long height_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ImageQuality )( 
            IDA3Image * This,
            /* [in] */ DWORD dwQualityFlags_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ColorKey )( 
            IDA3Image * This,
            /* [in] */ IDAColor *colorKey_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *TransformColorRGB )( 
            IDA3Image * This,
            /* [in] */ IDATransform3 *xf_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        END_INTERFACE
    } IDA3ImageVtbl;

    interface IDA3Image
    {
        CONST_VTBL struct IDA3ImageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA3Image_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA3Image_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA3Image_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA3Image_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA3Image_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA3Image_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA3Image_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA3Image_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA3Image_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA3Image_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA3Image_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA3Image_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA3Image_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA3Image_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA3Image_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA3Image_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA3Image_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA3Image_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA3Image_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA3Image_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA3Image_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA3Image_Pickable(This,ret_0)	\
    (This)->lpVtbl -> Pickable(This,ret_0)

#define IDA3Image_PickableOccluded(This,ret_0)	\
    (This)->lpVtbl -> PickableOccluded(This,ret_0)

#define IDA3Image_ApplyBitmapEffect(This,effectToApply_0,firesWhenChanged_1,ret_2)	\
    (This)->lpVtbl -> ApplyBitmapEffect(This,effectToApply_0,firesWhenChanged_1,ret_2)

#define IDA3Image_get_BoundingBox(This,ret_0)	\
    (This)->lpVtbl -> get_BoundingBox(This,ret_0)

#define IDA3Image_Crop(This,min_0,max_1,ret_2)	\
    (This)->lpVtbl -> Crop(This,min_0,max_1,ret_2)

#define IDA3Image_Transform(This,xf_0,ret_1)	\
    (This)->lpVtbl -> Transform(This,xf_0,ret_1)

#define IDA3Image_OpacityAnim(This,opacity_0,ret_1)	\
    (This)->lpVtbl -> OpacityAnim(This,opacity_0,ret_1)

#define IDA3Image_Opacity(This,opacity_0,ret_1)	\
    (This)->lpVtbl -> Opacity(This,opacity_0,ret_1)

#define IDA3Image_Undetectable(This,ret_0)	\
    (This)->lpVtbl -> Undetectable(This,ret_0)

#define IDA3Image_Tile(This,ret_0)	\
    (This)->lpVtbl -> Tile(This,ret_0)

#define IDA3Image_Clip(This,m_0,ret_1)	\
    (This)->lpVtbl -> Clip(This,m_0,ret_1)

#define IDA3Image_MapToUnitSquare(This,ret_0)	\
    (This)->lpVtbl -> MapToUnitSquare(This,ret_0)

#define IDA3Image_ClipPolygonImageEx(This,points_0size,points_0,ret_1)	\
    (This)->lpVtbl -> ClipPolygonImageEx(This,points_0size,points_0,ret_1)

#define IDA3Image_ClipPolygonImage(This,points_0,ret_1)	\
    (This)->lpVtbl -> ClipPolygonImage(This,points_0,ret_1)


#define IDA3Image_AddPickData(This,id_0,ignoresOcclusion_1,ret_2)	\
    (This)->lpVtbl -> AddPickData(This,id_0,ignoresOcclusion_1,ret_2)

#define IDA3Image_RenderResolution(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> RenderResolution(This,width_0,height_1,ret_2)

#define IDA3Image_ImageQuality(This,dwQualityFlags_0,ret_1)	\
    (This)->lpVtbl -> ImageQuality(This,dwQualityFlags_0,ret_1)

#define IDA3Image_ColorKey(This,colorKey_0,ret_1)	\
    (This)->lpVtbl -> ColorKey(This,colorKey_0,ret_1)


#define IDA3Image_TransformColorRGB(This,xf_0,ret_1)	\
    (This)->lpVtbl -> TransformColorRGB(This,xf_0,ret_1)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA3Image_TransformColorRGB_Proxy( 
    IDA3Image * This,
    /* [in] */ IDATransform3 *xf_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDA3Image_TransformColorRGB_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA3Image_INTERFACE_DEFINED__ */


#ifndef __IDA3Array_INTERFACE_DEFINED__
#define __IDA3Array_INTERFACE_DEFINED__

/* interface IDA3Array */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA3Array;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3089d9a0-4ce1-11d2-933e-00a0c9b72d4d")
    IDA3Array : public IDA2Array
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetElement( 
            /* [in] */ LONG index,
            /* [in] */ IDABehavior *b,
            /* [in] */ LONG flag) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetElement( 
            /* [in] */ LONG index,
            /* [retval][out] */ IDABehavior **ret) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA3ArrayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA3Array * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA3Array * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA3Array * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA3Array * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA3Array * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA3Array * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA3Array * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *GetClassName )( 
            IDA3Array * This,
            /* [retval][out] */ BSTR *pClassName);
        
        HRESULT ( STDMETHODCALLTYPE *Init )( 
            IDA3Array * This,
            /* [in] */ IDABehavior *toBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Importance )( 
            IDA3Array * This,
            /* [in] */ double relativeImportance,
            /* [retval][out] */ IDABehavior **ppBvr);
        
        HRESULT ( STDMETHODCALLTYPE *RunOnce )( 
            IDA3Array * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SubstituteTime )( 
            IDA3Array * This,
            /* [in] */ IDANumber *xform,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchTo )( 
            IDA3Array * This,
            /* [in] */ IDABehavior *switchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToNumber )( 
            IDA3Array * This,
            /* [in] */ double numToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *SwitchToString )( 
            IDA3Array * This,
            /* [in] */ BSTR strToSwitchTo);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IDA3Array * This,
            /* [in] */ IDABvrHook *notifier,
            /* [retval][out] */ IDABehavior **pBvr);
        
        HRESULT ( STDMETHODCALLTYPE *Duration )( 
            IDA3Array * This,
            /* [in] */ double duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DurationAnim )( 
            IDA3Array * This,
            /* [in] */ IDANumber *duration,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Repeat )( 
            IDA3Array * This,
            /* [in] */ LONG count,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *RepeatForever )( 
            IDA3Array * This,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *IsReady )( 
            IDA3Array * This,
            /* [in] */ VARIANT_BOOL bBlock,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        HRESULT ( STDMETHODCALLTYPE *NthAnim )( 
            IDA3Array * This,
            /* [in] */ IDANumber *index_0,
            /* [retval][out] */ IDABehavior **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Length )( 
            IDA3Array * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *AddElement )( 
            IDA3Array * This,
            /* [in] */ IDABehavior *b_0,
            /* [in] */ DWORD flag_1,
            /* [retval][out] */ long *ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveElement )( 
            IDA3Array * This,
            /* [in] */ long i_0);
        
        HRESULT ( STDMETHODCALLTYPE *SetElement )( 
            IDA3Array * This,
            /* [in] */ LONG index,
            /* [in] */ IDABehavior *b,
            /* [in] */ LONG flag);
        
        HRESULT ( STDMETHODCALLTYPE *GetElement )( 
            IDA3Array * This,
            /* [in] */ LONG index,
            /* [retval][out] */ IDABehavior **ret);
        
        END_INTERFACE
    } IDA3ArrayVtbl;

    interface IDA3Array
    {
        CONST_VTBL struct IDA3ArrayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA3Array_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA3Array_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA3Array_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA3Array_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA3Array_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA3Array_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA3Array_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA3Array_GetClassName(This,pClassName)	\
    (This)->lpVtbl -> GetClassName(This,pClassName)

#define IDA3Array_Init(This,toBvr)	\
    (This)->lpVtbl -> Init(This,toBvr)

#define IDA3Array_Importance(This,relativeImportance,ppBvr)	\
    (This)->lpVtbl -> Importance(This,relativeImportance,ppBvr)

#define IDA3Array_RunOnce(This,bvr)	\
    (This)->lpVtbl -> RunOnce(This,bvr)

#define IDA3Array_SubstituteTime(This,xform,bvr)	\
    (This)->lpVtbl -> SubstituteTime(This,xform,bvr)

#define IDA3Array_SwitchTo(This,switchTo)	\
    (This)->lpVtbl -> SwitchTo(This,switchTo)

#define IDA3Array_SwitchToNumber(This,numToSwitchTo)	\
    (This)->lpVtbl -> SwitchToNumber(This,numToSwitchTo)

#define IDA3Array_SwitchToString(This,strToSwitchTo)	\
    (This)->lpVtbl -> SwitchToString(This,strToSwitchTo)

#define IDA3Array_Hook(This,notifier,pBvr)	\
    (This)->lpVtbl -> Hook(This,notifier,pBvr)

#define IDA3Array_Duration(This,duration,bvr)	\
    (This)->lpVtbl -> Duration(This,duration,bvr)

#define IDA3Array_DurationAnim(This,duration,bvr)	\
    (This)->lpVtbl -> DurationAnim(This,duration,bvr)

#define IDA3Array_Repeat(This,count,bvr)	\
    (This)->lpVtbl -> Repeat(This,count,bvr)

#define IDA3Array_RepeatForever(This,bvr)	\
    (This)->lpVtbl -> RepeatForever(This,bvr)

#define IDA3Array_IsReady(This,bBlock,b)	\
    (This)->lpVtbl -> IsReady(This,bBlock,b)


#define IDA3Array_NthAnim(This,index_0,ret_1)	\
    (This)->lpVtbl -> NthAnim(This,index_0,ret_1)

#define IDA3Array_Length(This,ret_0)	\
    (This)->lpVtbl -> Length(This,ret_0)


#define IDA3Array_AddElement(This,b_0,flag_1,ret_2)	\
    (This)->lpVtbl -> AddElement(This,b_0,flag_1,ret_2)

#define IDA3Array_RemoveElement(This,i_0)	\
    (This)->lpVtbl -> RemoveElement(This,i_0)


#define IDA3Array_SetElement(This,index,b,flag)	\
    (This)->lpVtbl -> SetElement(This,index,b,flag)

#define IDA3Array_GetElement(This,index,ret)	\
    (This)->lpVtbl -> GetElement(This,index,ret)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA3Array_SetElement_Proxy( 
    IDA3Array * This,
    /* [in] */ LONG index,
    /* [in] */ IDABehavior *b,
    /* [in] */ LONG flag);


void __RPC_STUB IDA3Array_SetElement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3Array_GetElement_Proxy( 
    IDA3Array * This,
    /* [in] */ LONG index,
    /* [retval][out] */ IDABehavior **ret);


void __RPC_STUB IDA3Array_GetElement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA3Array_INTERFACE_DEFINED__ */


#ifndef __IDAPreferences_INTERFACE_DEFINED__
#define __IDAPreferences_INTERFACE_DEFINED__

/* interface IDAPreferences */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAPreferences;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("69B5BC70-9B19-11d0-9B60-00C04FC2F51D")
    IDAPreferences : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PutPreference( 
            /* [in] */ BSTR preferenceName,
            /* [in] */ VARIANT value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPreference( 
            /* [in] */ BSTR preferenceName,
            /* [retval][out] */ VARIANT *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Propagate( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAPreferences * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAPreferences * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAPreferences * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAPreferences * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAPreferences * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAPreferences * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAPreferences * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *PutPreference )( 
            IDAPreferences * This,
            /* [in] */ BSTR preferenceName,
            /* [in] */ VARIANT value);
        
        HRESULT ( STDMETHODCALLTYPE *GetPreference )( 
            IDAPreferences * This,
            /* [in] */ BSTR preferenceName,
            /* [retval][out] */ VARIANT *value);
        
        HRESULT ( STDMETHODCALLTYPE *Propagate )( 
            IDAPreferences * This);
        
        END_INTERFACE
    } IDAPreferencesVtbl;

    interface IDAPreferences
    {
        CONST_VTBL struct IDAPreferencesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAPreferences_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAPreferences_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAPreferences_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAPreferences_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAPreferences_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAPreferences_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAPreferences_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAPreferences_PutPreference(This,preferenceName,value)	\
    (This)->lpVtbl -> PutPreference(This,preferenceName,value)

#define IDAPreferences_GetPreference(This,preferenceName,value)	\
    (This)->lpVtbl -> GetPreference(This,preferenceName,value)

#define IDAPreferences_Propagate(This)	\
    (This)->lpVtbl -> Propagate(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDAPreferences_PutPreference_Proxy( 
    IDAPreferences * This,
    /* [in] */ BSTR preferenceName,
    /* [in] */ VARIANT value);


void __RPC_STUB IDAPreferences_PutPreference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPreferences_GetPreference_Proxy( 
    IDAPreferences * This,
    /* [in] */ BSTR preferenceName,
    /* [retval][out] */ VARIANT *value);


void __RPC_STUB IDAPreferences_GetPreference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAPreferences_Propagate_Proxy( 
    IDAPreferences * This);


void __RPC_STUB IDAPreferences_Propagate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAPreferences_INTERFACE_DEFINED__ */


#ifndef __IDA2View_INTERFACE_DEFINED__
#define __IDA2View_INTERFACE_DEFINED__

/* interface IDA2View */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA2View;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2AE71568-4B34-11d1-B1E3-00C04FC2A0CA")
    IDA2View : public IDAView
    {
    public:
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE QueryHitPointEx( 
            /* [in] */ LONG s,
            /* [size_is] */ DWORD_PTR *cookies,
            /* [size_is] */ double *points,
            /* [in] */ LPCRECT prcBounds,
            /* [in] */ POINT ptLoc,
            /* [retval][out] */ LONG *hits) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StartModelEx( 
            /* [in] */ IDAImage *pImage,
            /* [in] */ IDASound *pSound,
            /* [in] */ double startTime,
            /* [in] */ DWORD dwFlags) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDDD3DRM( 
            /* [out] */ IUnknown **directDraw,
            /* [out] */ IUnknown **d3drm) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRMDevice( 
            /* [out] */ IUnknown **d3drmDevice,
            /* [out] */ DWORD *sequenceNumber) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE GetInvalidatedRects( 
            /* [in] */ DWORD flags,
            /* [in] */ LONG s,
            /* [size_is] */ RECT *pRects,
            /* [retval][out] */ LONG *pNumRects) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2ViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2View * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2View * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2View * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2View * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2View * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2View * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2View * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SimulationTime )( 
            IDA2View * This,
            /* [retval][out] */ double *simTime);
        
        HRESULT ( STDMETHODCALLTYPE *Tick )( 
            IDA2View * This,
            /* [in] */ double simTime,
            /* [retval][out] */ VARIANT_BOOL *needToRender);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            IDA2View * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddBvrToRun )( 
            IDA2View * This,
            /* [in] */ IDABehavior *bvr,
            /* [retval][out] */ LONG *pId);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveRunningBvr )( 
            IDA2View * This,
            /* [in] */ LONG id);
        
        HRESULT ( STDMETHODCALLTYPE *StartModel )( 
            IDA2View * This,
            /* [in] */ IDAImage *pImage,
            /* [in] */ IDASound *pSound,
            /* [in] */ double startTime);
        
        HRESULT ( STDMETHODCALLTYPE *StopModel )( 
            IDA2View * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Window )( 
            IDA2View * This,
            /* [retval][out] */ long *hwnd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Window )( 
            IDA2View * This,
            /* [in] */ long hwnd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IDirectDrawSurface )( 
            IDA2View * This,
            /* [retval][out] */ IUnknown **ddsurf);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IDirectDrawSurface )( 
            IDA2View * This,
            /* [in] */ IUnknown *ddsurf);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DC )( 
            IDA2View * This,
            /* [retval][out] */ HDC *dc);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DC )( 
            IDA2View * This,
            /* [in] */ HDC dc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CompositeDirectlyToTarget )( 
            IDA2View * This,
            /* [retval][out] */ VARIANT_BOOL *composeToTarget);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CompositeDirectlyToTarget )( 
            IDA2View * This,
            /* [in] */ VARIANT_BOOL composeToTarget);
        
        HRESULT ( STDMETHODCALLTYPE *SetViewport )( 
            IDA2View * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *SetClipRect )( 
            IDA2View * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *RePaint )( 
            IDA2View * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *PaletteChanged )( 
            IDA2View * This,
            /* [in] */ VARIANT_BOOL bNew);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Site )( 
            IDA2View * This,
            /* [retval][out] */ IDAViewSite **pViewSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Site )( 
            IDA2View * This,
            /* [in] */ IDAViewSite *pViewSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientSite )( 
            IDA2View * This,
            /* [in] */ IOleClientSite *pClientSite);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientSite )( 
            IDA2View * This,
            /* [retval][out] */ IOleClientSite **pClientSite);
        
        HRESULT ( STDMETHODCALLTYPE *OnMouseMove )( 
            IDA2View * This,
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnMouseButton )( 
            IDA2View * This,
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE button,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnKey )( 
            IDA2View * This,
            /* [in] */ double when,
            /* [in] */ LONG key,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnFocus )( 
            IDA2View * This,
            /* [in] */ VARIANT_BOOL bHasFocus);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Preferences )( 
            IDA2View * This,
            /* [retval][out] */ IDAPreferences **prefs);
        
        HRESULT ( STDMETHODCALLTYPE *QueryHitPoint )( 
            IDA2View * This,
            /* [in] */ DWORD dwAspect,
            /* [in] */ LPCRECT prcBounds,
            /* [in] */ POINT ptLoc,
            /* [in] */ LONG lCloseHint,
            /* [retval][out] */ DWORD *pHitResult);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *QueryHitPointEx )( 
            IDA2View * This,
            /* [in] */ LONG s,
            /* [size_is] */ DWORD_PTR *cookies,
            /* [size_is] */ double *points,
            /* [in] */ LPCRECT prcBounds,
            /* [in] */ POINT ptLoc,
            /* [retval][out] */ LONG *hits);
        
        HRESULT ( STDMETHODCALLTYPE *StartModelEx )( 
            IDA2View * This,
            /* [in] */ IDAImage *pImage,
            /* [in] */ IDASound *pSound,
            /* [in] */ double startTime,
            /* [in] */ DWORD dwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *GetDDD3DRM )( 
            IDA2View * This,
            /* [out] */ IUnknown **directDraw,
            /* [out] */ IUnknown **d3drm);
        
        HRESULT ( STDMETHODCALLTYPE *GetRMDevice )( 
            IDA2View * This,
            /* [out] */ IUnknown **d3drmDevice,
            /* [out] */ DWORD *sequenceNumber);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *GetInvalidatedRects )( 
            IDA2View * This,
            /* [in] */ DWORD flags,
            /* [in] */ LONG s,
            /* [size_is] */ RECT *pRects,
            /* [retval][out] */ LONG *pNumRects);
        
        END_INTERFACE
    } IDA2ViewVtbl;

    interface IDA2View
    {
        CONST_VTBL struct IDA2ViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2View_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2View_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2View_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2View_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2View_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2View_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2View_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2View_get_SimulationTime(This,simTime)	\
    (This)->lpVtbl -> get_SimulationTime(This,simTime)

#define IDA2View_Tick(This,simTime,needToRender)	\
    (This)->lpVtbl -> Tick(This,simTime,needToRender)

#define IDA2View_Render(This)	\
    (This)->lpVtbl -> Render(This)

#define IDA2View_AddBvrToRun(This,bvr,pId)	\
    (This)->lpVtbl -> AddBvrToRun(This,bvr,pId)

#define IDA2View_RemoveRunningBvr(This,id)	\
    (This)->lpVtbl -> RemoveRunningBvr(This,id)

#define IDA2View_StartModel(This,pImage,pSound,startTime)	\
    (This)->lpVtbl -> StartModel(This,pImage,pSound,startTime)

#define IDA2View_StopModel(This)	\
    (This)->lpVtbl -> StopModel(This)

#define IDA2View_get_Window(This,hwnd)	\
    (This)->lpVtbl -> get_Window(This,hwnd)

#define IDA2View_put_Window(This,hwnd)	\
    (This)->lpVtbl -> put_Window(This,hwnd)

#define IDA2View_get_IDirectDrawSurface(This,ddsurf)	\
    (This)->lpVtbl -> get_IDirectDrawSurface(This,ddsurf)

#define IDA2View_put_IDirectDrawSurface(This,ddsurf)	\
    (This)->lpVtbl -> put_IDirectDrawSurface(This,ddsurf)

#define IDA2View_get_DC(This,dc)	\
    (This)->lpVtbl -> get_DC(This,dc)

#define IDA2View_put_DC(This,dc)	\
    (This)->lpVtbl -> put_DC(This,dc)

#define IDA2View_get_CompositeDirectlyToTarget(This,composeToTarget)	\
    (This)->lpVtbl -> get_CompositeDirectlyToTarget(This,composeToTarget)

#define IDA2View_put_CompositeDirectlyToTarget(This,composeToTarget)	\
    (This)->lpVtbl -> put_CompositeDirectlyToTarget(This,composeToTarget)

#define IDA2View_SetViewport(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> SetViewport(This,xPos,yPos,w,h)

#define IDA2View_SetClipRect(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> SetClipRect(This,xPos,yPos,w,h)

#define IDA2View_RePaint(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> RePaint(This,xPos,yPos,w,h)

#define IDA2View_PaletteChanged(This,bNew)	\
    (This)->lpVtbl -> PaletteChanged(This,bNew)

#define IDA2View_get_Site(This,pViewSite)	\
    (This)->lpVtbl -> get_Site(This,pViewSite)

#define IDA2View_put_Site(This,pViewSite)	\
    (This)->lpVtbl -> put_Site(This,pViewSite)

#define IDA2View_put_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> put_ClientSite(This,pClientSite)

#define IDA2View_get_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> get_ClientSite(This,pClientSite)

#define IDA2View_OnMouseMove(This,when,xPos,yPos,modifiers)	\
    (This)->lpVtbl -> OnMouseMove(This,when,xPos,yPos,modifiers)

#define IDA2View_OnMouseButton(This,when,xPos,yPos,button,bPressed,modifiers)	\
    (This)->lpVtbl -> OnMouseButton(This,when,xPos,yPos,button,bPressed,modifiers)

#define IDA2View_OnKey(This,when,key,bPressed,modifiers)	\
    (This)->lpVtbl -> OnKey(This,when,key,bPressed,modifiers)

#define IDA2View_OnFocus(This,bHasFocus)	\
    (This)->lpVtbl -> OnFocus(This,bHasFocus)

#define IDA2View_get_Preferences(This,prefs)	\
    (This)->lpVtbl -> get_Preferences(This,prefs)

#define IDA2View_QueryHitPoint(This,dwAspect,prcBounds,ptLoc,lCloseHint,pHitResult)	\
    (This)->lpVtbl -> QueryHitPoint(This,dwAspect,prcBounds,ptLoc,lCloseHint,pHitResult)


#define IDA2View_QueryHitPointEx(This,s,cookies,points,prcBounds,ptLoc,hits)	\
    (This)->lpVtbl -> QueryHitPointEx(This,s,cookies,points,prcBounds,ptLoc,hits)

#define IDA2View_StartModelEx(This,pImage,pSound,startTime,dwFlags)	\
    (This)->lpVtbl -> StartModelEx(This,pImage,pSound,startTime,dwFlags)

#define IDA2View_GetDDD3DRM(This,directDraw,d3drm)	\
    (This)->lpVtbl -> GetDDD3DRM(This,directDraw,d3drm)

#define IDA2View_GetRMDevice(This,d3drmDevice,sequenceNumber)	\
    (This)->lpVtbl -> GetRMDevice(This,d3drmDevice,sequenceNumber)

#define IDA2View_GetInvalidatedRects(This,flags,s,pRects,pNumRects)	\
    (This)->lpVtbl -> GetInvalidatedRects(This,flags,s,pRects,pNumRects)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA2View_QueryHitPointEx_Proxy( 
    IDA2View * This,
    /* [in] */ LONG s,
    /* [size_is] */ DWORD_PTR *cookies,
    /* [size_is] */ double *points,
    /* [in] */ LPCRECT prcBounds,
    /* [in] */ POINT ptLoc,
    /* [retval][out] */ LONG *hits);


void __RPC_STUB IDA2View_QueryHitPointEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2View_StartModelEx_Proxy( 
    IDA2View * This,
    /* [in] */ IDAImage *pImage,
    /* [in] */ IDASound *pSound,
    /* [in] */ double startTime,
    /* [in] */ DWORD dwFlags);


void __RPC_STUB IDA2View_StartModelEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2View_GetDDD3DRM_Proxy( 
    IDA2View * This,
    /* [out] */ IUnknown **directDraw,
    /* [out] */ IUnknown **d3drm);


void __RPC_STUB IDA2View_GetDDD3DRM_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2View_GetRMDevice_Proxy( 
    IDA2View * This,
    /* [out] */ IUnknown **d3drmDevice,
    /* [out] */ DWORD *sequenceNumber);


void __RPC_STUB IDA2View_GetRMDevice_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA2View_GetInvalidatedRects_Proxy( 
    IDA2View * This,
    /* [in] */ DWORD flags,
    /* [in] */ LONG s,
    /* [size_is] */ RECT *pRects,
    /* [retval][out] */ LONG *pNumRects);


void __RPC_STUB IDA2View_GetInvalidatedRects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2View_INTERFACE_DEFINED__ */


#ifndef __IDA3View_INTERFACE_DEFINED__
#define __IDA3View_INTERFACE_DEFINED__

/* interface IDA3View */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA3View;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d5570790-57e2-11d2-933f-00a0c9b72d4d")
    IDA3View : public IDA2View
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnMouseLeave( 
            /* [in] */ double when) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Window2( 
            /* [retval][out] */ HWND *hwnd) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Window2( 
            /* [in] */ HWND hwnd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA3ViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA3View * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA3View * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA3View * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA3View * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA3View * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA3View * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA3View * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SimulationTime )( 
            IDA3View * This,
            /* [retval][out] */ double *simTime);
        
        HRESULT ( STDMETHODCALLTYPE *Tick )( 
            IDA3View * This,
            /* [in] */ double simTime,
            /* [retval][out] */ VARIANT_BOOL *needToRender);
        
        HRESULT ( STDMETHODCALLTYPE *Render )( 
            IDA3View * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddBvrToRun )( 
            IDA3View * This,
            /* [in] */ IDABehavior *bvr,
            /* [retval][out] */ LONG *pId);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveRunningBvr )( 
            IDA3View * This,
            /* [in] */ LONG id);
        
        HRESULT ( STDMETHODCALLTYPE *StartModel )( 
            IDA3View * This,
            /* [in] */ IDAImage *pImage,
            /* [in] */ IDASound *pSound,
            /* [in] */ double startTime);
        
        HRESULT ( STDMETHODCALLTYPE *StopModel )( 
            IDA3View * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Window )( 
            IDA3View * This,
            /* [retval][out] */ long *hwnd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Window )( 
            IDA3View * This,
            /* [in] */ long hwnd);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IDirectDrawSurface )( 
            IDA3View * This,
            /* [retval][out] */ IUnknown **ddsurf);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IDirectDrawSurface )( 
            IDA3View * This,
            /* [in] */ IUnknown *ddsurf);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DC )( 
            IDA3View * This,
            /* [retval][out] */ HDC *dc);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DC )( 
            IDA3View * This,
            /* [in] */ HDC dc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CompositeDirectlyToTarget )( 
            IDA3View * This,
            /* [retval][out] */ VARIANT_BOOL *composeToTarget);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CompositeDirectlyToTarget )( 
            IDA3View * This,
            /* [in] */ VARIANT_BOOL composeToTarget);
        
        HRESULT ( STDMETHODCALLTYPE *SetViewport )( 
            IDA3View * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *SetClipRect )( 
            IDA3View * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *RePaint )( 
            IDA3View * This,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ LONG w,
            /* [in] */ LONG h);
        
        HRESULT ( STDMETHODCALLTYPE *PaletteChanged )( 
            IDA3View * This,
            /* [in] */ VARIANT_BOOL bNew);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Site )( 
            IDA3View * This,
            /* [retval][out] */ IDAViewSite **pViewSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Site )( 
            IDA3View * This,
            /* [in] */ IDAViewSite *pViewSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientSite )( 
            IDA3View * This,
            /* [in] */ IOleClientSite *pClientSite);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientSite )( 
            IDA3View * This,
            /* [retval][out] */ IOleClientSite **pClientSite);
        
        HRESULT ( STDMETHODCALLTYPE *OnMouseMove )( 
            IDA3View * This,
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnMouseButton )( 
            IDA3View * This,
            /* [in] */ double when,
            /* [in] */ LONG xPos,
            /* [in] */ LONG yPos,
            /* [in] */ BYTE button,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnKey )( 
            IDA3View * This,
            /* [in] */ double when,
            /* [in] */ LONG key,
            /* [in] */ VARIANT_BOOL bPressed,
            /* [in] */ BYTE modifiers);
        
        HRESULT ( STDMETHODCALLTYPE *OnFocus )( 
            IDA3View * This,
            /* [in] */ VARIANT_BOOL bHasFocus);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Preferences )( 
            IDA3View * This,
            /* [retval][out] */ IDAPreferences **prefs);
        
        HRESULT ( STDMETHODCALLTYPE *QueryHitPoint )( 
            IDA3View * This,
            /* [in] */ DWORD dwAspect,
            /* [in] */ LPCRECT prcBounds,
            /* [in] */ POINT ptLoc,
            /* [in] */ LONG lCloseHint,
            /* [retval][out] */ DWORD *pHitResult);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *QueryHitPointEx )( 
            IDA3View * This,
            /* [in] */ LONG s,
            /* [size_is] */ DWORD_PTR *cookies,
            /* [size_is] */ double *points,
            /* [in] */ LPCRECT prcBounds,
            /* [in] */ POINT ptLoc,
            /* [retval][out] */ LONG *hits);
        
        HRESULT ( STDMETHODCALLTYPE *StartModelEx )( 
            IDA3View * This,
            /* [in] */ IDAImage *pImage,
            /* [in] */ IDASound *pSound,
            /* [in] */ double startTime,
            /* [in] */ DWORD dwFlags);
        
        HRESULT ( STDMETHODCALLTYPE *GetDDD3DRM )( 
            IDA3View * This,
            /* [out] */ IUnknown **directDraw,
            /* [out] */ IUnknown **d3drm);
        
        HRESULT ( STDMETHODCALLTYPE *GetRMDevice )( 
            IDA3View * This,
            /* [out] */ IUnknown **d3drmDevice,
            /* [out] */ DWORD *sequenceNumber);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *GetInvalidatedRects )( 
            IDA3View * This,
            /* [in] */ DWORD flags,
            /* [in] */ LONG s,
            /* [size_is] */ RECT *pRects,
            /* [retval][out] */ LONG *pNumRects);
        
        HRESULT ( STDMETHODCALLTYPE *Pause )( 
            IDA3View * This);
        
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            IDA3View * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnMouseLeave )( 
            IDA3View * This,
            /* [in] */ double when);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Window2 )( 
            IDA3View * This,
            /* [retval][out] */ HWND *hwnd);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Window2 )( 
            IDA3View * This,
            /* [in] */ HWND hwnd);
        
        END_INTERFACE
    } IDA3ViewVtbl;

    interface IDA3View
    {
        CONST_VTBL struct IDA3ViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA3View_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA3View_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA3View_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA3View_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA3View_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA3View_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA3View_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA3View_get_SimulationTime(This,simTime)	\
    (This)->lpVtbl -> get_SimulationTime(This,simTime)

#define IDA3View_Tick(This,simTime,needToRender)	\
    (This)->lpVtbl -> Tick(This,simTime,needToRender)

#define IDA3View_Render(This)	\
    (This)->lpVtbl -> Render(This)

#define IDA3View_AddBvrToRun(This,bvr,pId)	\
    (This)->lpVtbl -> AddBvrToRun(This,bvr,pId)

#define IDA3View_RemoveRunningBvr(This,id)	\
    (This)->lpVtbl -> RemoveRunningBvr(This,id)

#define IDA3View_StartModel(This,pImage,pSound,startTime)	\
    (This)->lpVtbl -> StartModel(This,pImage,pSound,startTime)

#define IDA3View_StopModel(This)	\
    (This)->lpVtbl -> StopModel(This)

#define IDA3View_get_Window(This,hwnd)	\
    (This)->lpVtbl -> get_Window(This,hwnd)

#define IDA3View_put_Window(This,hwnd)	\
    (This)->lpVtbl -> put_Window(This,hwnd)

#define IDA3View_get_IDirectDrawSurface(This,ddsurf)	\
    (This)->lpVtbl -> get_IDirectDrawSurface(This,ddsurf)

#define IDA3View_put_IDirectDrawSurface(This,ddsurf)	\
    (This)->lpVtbl -> put_IDirectDrawSurface(This,ddsurf)

#define IDA3View_get_DC(This,dc)	\
    (This)->lpVtbl -> get_DC(This,dc)

#define IDA3View_put_DC(This,dc)	\
    (This)->lpVtbl -> put_DC(This,dc)

#define IDA3View_get_CompositeDirectlyToTarget(This,composeToTarget)	\
    (This)->lpVtbl -> get_CompositeDirectlyToTarget(This,composeToTarget)

#define IDA3View_put_CompositeDirectlyToTarget(This,composeToTarget)	\
    (This)->lpVtbl -> put_CompositeDirectlyToTarget(This,composeToTarget)

#define IDA3View_SetViewport(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> SetViewport(This,xPos,yPos,w,h)

#define IDA3View_SetClipRect(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> SetClipRect(This,xPos,yPos,w,h)

#define IDA3View_RePaint(This,xPos,yPos,w,h)	\
    (This)->lpVtbl -> RePaint(This,xPos,yPos,w,h)

#define IDA3View_PaletteChanged(This,bNew)	\
    (This)->lpVtbl -> PaletteChanged(This,bNew)

#define IDA3View_get_Site(This,pViewSite)	\
    (This)->lpVtbl -> get_Site(This,pViewSite)

#define IDA3View_put_Site(This,pViewSite)	\
    (This)->lpVtbl -> put_Site(This,pViewSite)

#define IDA3View_put_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> put_ClientSite(This,pClientSite)

#define IDA3View_get_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> get_ClientSite(This,pClientSite)

#define IDA3View_OnMouseMove(This,when,xPos,yPos,modifiers)	\
    (This)->lpVtbl -> OnMouseMove(This,when,xPos,yPos,modifiers)

#define IDA3View_OnMouseButton(This,when,xPos,yPos,button,bPressed,modifiers)	\
    (This)->lpVtbl -> OnMouseButton(This,when,xPos,yPos,button,bPressed,modifiers)

#define IDA3View_OnKey(This,when,key,bPressed,modifiers)	\
    (This)->lpVtbl -> OnKey(This,when,key,bPressed,modifiers)

#define IDA3View_OnFocus(This,bHasFocus)	\
    (This)->lpVtbl -> OnFocus(This,bHasFocus)

#define IDA3View_get_Preferences(This,prefs)	\
    (This)->lpVtbl -> get_Preferences(This,prefs)

#define IDA3View_QueryHitPoint(This,dwAspect,prcBounds,ptLoc,lCloseHint,pHitResult)	\
    (This)->lpVtbl -> QueryHitPoint(This,dwAspect,prcBounds,ptLoc,lCloseHint,pHitResult)


#define IDA3View_QueryHitPointEx(This,s,cookies,points,prcBounds,ptLoc,hits)	\
    (This)->lpVtbl -> QueryHitPointEx(This,s,cookies,points,prcBounds,ptLoc,hits)

#define IDA3View_StartModelEx(This,pImage,pSound,startTime,dwFlags)	\
    (This)->lpVtbl -> StartModelEx(This,pImage,pSound,startTime,dwFlags)

#define IDA3View_GetDDD3DRM(This,directDraw,d3drm)	\
    (This)->lpVtbl -> GetDDD3DRM(This,directDraw,d3drm)

#define IDA3View_GetRMDevice(This,d3drmDevice,sequenceNumber)	\
    (This)->lpVtbl -> GetRMDevice(This,d3drmDevice,sequenceNumber)

#define IDA3View_GetInvalidatedRects(This,flags,s,pRects,pNumRects)	\
    (This)->lpVtbl -> GetInvalidatedRects(This,flags,s,pRects,pNumRects)


#define IDA3View_Pause(This)	\
    (This)->lpVtbl -> Pause(This)

#define IDA3View_Resume(This)	\
    (This)->lpVtbl -> Resume(This)

#define IDA3View_OnMouseLeave(This,when)	\
    (This)->lpVtbl -> OnMouseLeave(This,when)

#define IDA3View_get_Window2(This,hwnd)	\
    (This)->lpVtbl -> get_Window2(This,hwnd)

#define IDA3View_put_Window2(This,hwnd)	\
    (This)->lpVtbl -> put_Window2(This,hwnd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA3View_Pause_Proxy( 
    IDA3View * This);


void __RPC_STUB IDA3View_Pause_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3View_Resume_Proxy( 
    IDA3View * This);


void __RPC_STUB IDA3View_Resume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3View_OnMouseLeave_Proxy( 
    IDA3View * This,
    /* [in] */ double when);


void __RPC_STUB IDA3View_OnMouseLeave_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDA3View_get_Window2_Proxy( 
    IDA3View * This,
    /* [retval][out] */ HWND *hwnd);


void __RPC_STUB IDA3View_get_Window2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDA3View_put_Window2_Proxy( 
    IDA3View * This,
    /* [in] */ HWND hwnd);


void __RPC_STUB IDA3View_put_Window2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA3View_INTERFACE_DEFINED__ */


#ifndef ___IDAViewEvents_DISPINTERFACE_DEFINED__
#define ___IDAViewEvents_DISPINTERFACE_DEFINED__

/* dispinterface _IDAViewEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__IDAViewEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("89131312-7806-11d2-8BEE-00C04FC2F51D")
    _IDAViewEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IDAViewEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _IDAViewEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _IDAViewEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _IDAViewEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _IDAViewEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _IDAViewEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _IDAViewEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _IDAViewEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _IDAViewEventsVtbl;

    interface _IDAViewEvents
    {
        CONST_VTBL struct _IDAViewEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _IDAViewEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _IDAViewEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _IDAViewEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _IDAViewEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _IDAViewEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _IDAViewEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _IDAViewEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___IDAViewEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DAView;

#ifdef __cplusplus

class DECLSPEC_UUID("283807B5-2C60-11d0-A31D-00AA00B92C03")
DAView;
#endif

#ifndef __IDASite_INTERFACE_DEFINED__
#define __IDASite_INTERFACE_DEFINED__

/* interface IDASite */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDASite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("45393DF0-54B9-11cf-92A2-00AA00B8A733")
    IDASite : public IDispatch
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetStatusText( 
            /* [in] */ BSTR StatusText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReportError( 
            /* [in] */ HRESULT hr,
            /* [in] */ BSTR ErrorText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ReportGC( 
            /* [in] */ VARIANT_BOOL bStarting) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDASiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDASite * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDASite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDASite * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDASite * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDASite * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDASite * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDASite * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        HRESULT ( STDMETHODCALLTYPE *SetStatusText )( 
            IDASite * This,
            /* [in] */ BSTR StatusText);
        
        HRESULT ( STDMETHODCALLTYPE *ReportError )( 
            IDASite * This,
            /* [in] */ HRESULT hr,
            /* [in] */ BSTR ErrorText);
        
        HRESULT ( STDMETHODCALLTYPE *ReportGC )( 
            IDASite * This,
            /* [in] */ VARIANT_BOOL bStarting);
        
        END_INTERFACE
    } IDASiteVtbl;

    interface IDASite
    {
        CONST_VTBL struct IDASiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDASite_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDASite_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDASite_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDASite_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDASite_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDASite_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDASite_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDASite_SetStatusText(This,StatusText)	\
    (This)->lpVtbl -> SetStatusText(This,StatusText)

#define IDASite_ReportError(This,hr,ErrorText)	\
    (This)->lpVtbl -> ReportError(This,hr,ErrorText)

#define IDASite_ReportGC(This,bStarting)	\
    (This)->lpVtbl -> ReportGC(This,bStarting)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDASite_SetStatusText_Proxy( 
    IDASite * This,
    /* [in] */ BSTR StatusText);


void __RPC_STUB IDASite_SetStatusText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASite_ReportError_Proxy( 
    IDASite * This,
    /* [in] */ HRESULT hr,
    /* [in] */ BSTR ErrorText);


void __RPC_STUB IDASite_ReportError_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDASite_ReportGC_Proxy( 
    IDASite * This,
    /* [in] */ VARIANT_BOOL bStarting);


void __RPC_STUB IDASite_ReportGC_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDASite_INTERFACE_DEFINED__ */


#ifndef __IDAImportationResult_INTERFACE_DEFINED__
#define __IDAImportationResult_INTERFACE_DEFINED__

/* interface IDAImportationResult */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAImportationResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4A933702-E36F-11d0-9B99-00C04FC2F51D")
    IDAImportationResult : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Image( 
            /* [retval][out] */ IDAImage **ppImage) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Sound( 
            /* [retval][out] */ IDASound **ppSound) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Geometry( 
            /* [retval][out] */ IDAGeometry **ppGeometry) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
            /* [retval][out] */ IDANumber **ppDuration) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CompletionEvent( 
            /* [retval][out] */ IDAEvent **ppCompletionEvent) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Progress( 
            /* [retval][out] */ IDANumber **ppProgress) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ IDANumber **ppSizeInBytes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAImportationResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAImportationResult * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAImportationResult * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAImportationResult * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAImportationResult * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAImportationResult * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAImportationResult * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAImportationResult * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDAImportationResult * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sound )( 
            IDAImportationResult * This,
            /* [retval][out] */ IDASound **ppSound);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Geometry )( 
            IDAImportationResult * This,
            /* [retval][out] */ IDAGeometry **ppGeometry);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
            IDAImportationResult * This,
            /* [retval][out] */ IDANumber **ppDuration);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CompletionEvent )( 
            IDAImportationResult * This,
            /* [retval][out] */ IDAEvent **ppCompletionEvent);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Progress )( 
            IDAImportationResult * This,
            /* [retval][out] */ IDANumber **ppProgress);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            IDAImportationResult * This,
            /* [retval][out] */ IDANumber **ppSizeInBytes);
        
        END_INTERFACE
    } IDAImportationResultVtbl;

    interface IDAImportationResult
    {
        CONST_VTBL struct IDAImportationResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAImportationResult_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAImportationResult_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAImportationResult_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAImportationResult_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAImportationResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAImportationResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAImportationResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAImportationResult_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDAImportationResult_get_Sound(This,ppSound)	\
    (This)->lpVtbl -> get_Sound(This,ppSound)

#define IDAImportationResult_get_Geometry(This,ppGeometry)	\
    (This)->lpVtbl -> get_Geometry(This,ppGeometry)

#define IDAImportationResult_get_Duration(This,ppDuration)	\
    (This)->lpVtbl -> get_Duration(This,ppDuration)

#define IDAImportationResult_get_CompletionEvent(This,ppCompletionEvent)	\
    (This)->lpVtbl -> get_CompletionEvent(This,ppCompletionEvent)

#define IDAImportationResult_get_Progress(This,ppProgress)	\
    (This)->lpVtbl -> get_Progress(This,ppProgress)

#define IDAImportationResult_get_Size(This,ppSizeInBytes)	\
    (This)->lpVtbl -> get_Size(This,ppSizeInBytes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImportationResult_get_Image_Proxy( 
    IDAImportationResult * This,
    /* [retval][out] */ IDAImage **ppImage);


void __RPC_STUB IDAImportationResult_get_Image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImportationResult_get_Sound_Proxy( 
    IDAImportationResult * This,
    /* [retval][out] */ IDASound **ppSound);


void __RPC_STUB IDAImportationResult_get_Sound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImportationResult_get_Geometry_Proxy( 
    IDAImportationResult * This,
    /* [retval][out] */ IDAGeometry **ppGeometry);


void __RPC_STUB IDAImportationResult_get_Geometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImportationResult_get_Duration_Proxy( 
    IDAImportationResult * This,
    /* [retval][out] */ IDANumber **ppDuration);


void __RPC_STUB IDAImportationResult_get_Duration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImportationResult_get_CompletionEvent_Proxy( 
    IDAImportationResult * This,
    /* [retval][out] */ IDAEvent **ppCompletionEvent);


void __RPC_STUB IDAImportationResult_get_CompletionEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImportationResult_get_Progress_Proxy( 
    IDAImportationResult * This,
    /* [retval][out] */ IDANumber **ppProgress);


void __RPC_STUB IDAImportationResult_get_Progress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAImportationResult_get_Size_Proxy( 
    IDAImportationResult * This,
    /* [retval][out] */ IDANumber **ppSizeInBytes);


void __RPC_STUB IDAImportationResult_get_Size_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAImportationResult_INTERFACE_DEFINED__ */


#ifndef __IDADXTransformResult_INTERFACE_DEFINED__
#define __IDADXTransformResult_INTERFACE_DEFINED__

/* interface IDADXTransformResult */
/* [dual][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDADXTransformResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BACD4D86-4A4F-11d1-9BC8-00C04FC2F51D")
    IDADXTransformResult : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OutputBvr( 
            /* [retval][out] */ IDABehavior **ppOutputBvr) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TheTransform( 
            /* [retval][out] */ IDispatch **ppTheTransform) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutBvrAsProperty( 
            /* [in] */ BSTR property,
            /* [in] */ IDABehavior *bvr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDADXTransformResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDADXTransformResult * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDADXTransformResult * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDADXTransformResult * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDADXTransformResult * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDADXTransformResult * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDADXTransformResult * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDADXTransformResult * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputBvr )( 
            IDADXTransformResult * This,
            /* [retval][out] */ IDABehavior **ppOutputBvr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TheTransform )( 
            IDADXTransformResult * This,
            /* [retval][out] */ IDispatch **ppTheTransform);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutBvrAsProperty )( 
            IDADXTransformResult * This,
            /* [in] */ BSTR property,
            /* [in] */ IDABehavior *bvr);
        
        END_INTERFACE
    } IDADXTransformResultVtbl;

    interface IDADXTransformResult
    {
        CONST_VTBL struct IDADXTransformResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDADXTransformResult_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDADXTransformResult_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDADXTransformResult_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDADXTransformResult_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDADXTransformResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDADXTransformResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDADXTransformResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDADXTransformResult_get_OutputBvr(This,ppOutputBvr)	\
    (This)->lpVtbl -> get_OutputBvr(This,ppOutputBvr)

#define IDADXTransformResult_get_TheTransform(This,ppTheTransform)	\
    (This)->lpVtbl -> get_TheTransform(This,ppTheTransform)

#define IDADXTransformResult_PutBvrAsProperty(This,property,bvr)	\
    (This)->lpVtbl -> PutBvrAsProperty(This,property,bvr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDADXTransformResult_get_OutputBvr_Proxy( 
    IDADXTransformResult * This,
    /* [retval][out] */ IDABehavior **ppOutputBvr);


void __RPC_STUB IDADXTransformResult_get_OutputBvr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDADXTransformResult_get_TheTransform_Proxy( 
    IDADXTransformResult * This,
    /* [retval][out] */ IDispatch **ppTheTransform);


void __RPC_STUB IDADXTransformResult_get_TheTransform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDADXTransformResult_PutBvrAsProperty_Proxy( 
    IDADXTransformResult * This,
    /* [in] */ BSTR property,
    /* [in] */ IDABehavior *bvr);


void __RPC_STUB IDADXTransformResult_PutBvrAsProperty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDADXTransformResult_INTERFACE_DEFINED__ */


#ifndef __IDAStatics_INTERFACE_DEFINED__
#define __IDAStatics_INTERFACE_DEFINED__

/* interface IDAStatics */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDAStatics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("542FB452-5003-11cf-92A2-00AA00B8A733")
    IDAStatics : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VersionString( 
            /* [retval][out] */ BSTR *str) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Site( 
            /* [retval][out] */ IDASite **pSite) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Site( 
            /* [in] */ IDASite *pSite) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClientSite( 
            /* [in] */ IOleClientSite *pClientSite) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClientSite( 
            /* [retval][out] */ IOleClientSite **pClientSite) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PixelConstructionMode( 
            /* [in] */ VARIANT_BOOL bMode) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PixelConstructionMode( 
            /* [retval][out] */ VARIANT_BOOL *bMode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TriggerEvent( 
            /* [in] */ IDAEvent *event,
            /* [in] */ IDABehavior *data) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NewDrawingSurface( 
            /* [retval][out] */ IDADrawingSurface **pds) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportMovie( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportMovieAsync( 
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportImage( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImage **ppImage) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportImageAsync( 
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportImageColorKey( 
            /* [in] */ BSTR url,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImage **ppImage) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportImageAsyncColorKey( 
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportSound( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportSoundAsync( 
            /* [in] */ BSTR url,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportGeometry( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAGeometry **ppGeometry) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportGeometryAsync( 
            /* [in] */ BSTR url,
            /* [in] */ IDAGeometry *pGeoStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportDirectDrawSurface( 
            /* [in] */ IUnknown *dds,
            /* [in] */ IDAEvent *updateEvent,
            /* [retval][out] */ IDAImage **ppImage) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cond( 
            /* [in] */ IDABoolean *c,
            /* [in] */ IDABehavior *i,
            /* [in] */ IDABehavior *e,
            /* [retval][out] */ IDABehavior **pCondBvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE DAArrayEx( 
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDAArray **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DAArray( 
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDAArray **bvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE DATupleEx( 
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDATuple **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DATuple( 
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDATuple **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ModifiableBehavior( 
            /* [in] */ IDABehavior *orig,
            /* [retval][out] */ IDABehavior **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UninitializedArray( 
            /* [in] */ IDAArray *typeTmp,
            /* [retval][out] */ IDAArray **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UninitializedTuple( 
            /* [in] */ IDATuple *typeTmp,
            /* [retval][out] */ IDATuple **bvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE NumberBSplineEx( 
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDANumber *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NumberBSpline( 
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Point2BSplineEx( 
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point2BSpline( 
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Point3BSplineEx( 
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point3BSpline( 
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Vector2BSplineEx( 
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector2BSpline( 
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Vector3BSplineEx( 
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector3BSpline( 
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Pow( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Abs( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Sqrt( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Floor( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Round( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Ceiling( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Asin( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Acos( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Atan( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Sin( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cos( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Tan( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Exp( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Ln( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Log10( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ToDegrees( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ToRadians( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Mod( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Atan2( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Sub( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Mul( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Div( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LT( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LTE( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GT( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GTE( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EQ( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NE( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Neg( 
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InterpolateAnim( 
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [retval][out] */ IDANumber **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Interpolate( 
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [retval][out] */ IDANumber **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SlowInSlowOutAnim( 
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [in] */ IDANumber *sharpness_3,
            /* [retval][out] */ IDANumber **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SlowInSlowOut( 
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [in] */ double sharpness_3,
            /* [retval][out] */ IDANumber **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SoundSource( 
            /* [in] */ IDASound *snd_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Mix( 
            /* [in] */ IDASound *left_0,
            /* [in] */ IDASound *right_1,
            /* [retval][out] */ IDASound **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE And( 
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Or( 
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Not( 
            /* [in] */ IDABoolean *a_0,
            /* [retval][out] */ IDABoolean **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Integral( 
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Derivative( 
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IntegralVector2( 
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IntegralVector3( 
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DerivativeVector2( 
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DerivativeVector3( 
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DerivativePoint2( 
            /* [in] */ IDAPoint2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DerivativePoint3( 
            /* [in] */ IDAPoint3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE KeyState( 
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDABoolean **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE KeyUp( 
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE KeyDown( 
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DANumber( 
            /* [in] */ double num_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DAString( 
            /* [in] */ BSTR str_0,
            /* [retval][out] */ IDAString **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DABoolean( 
            /* [in] */ VARIANT_BOOL num_0,
            /* [retval][out] */ IDABoolean **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SeededRandom( 
            /* [in] */ double arg_0,
            /* [retval][out] */ IDANumber **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MousePosition( 
            /* [retval][out] */ IDAPoint2 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LeftButtonState( 
            /* [retval][out] */ IDABoolean **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RightButtonState( 
            /* [retval][out] */ IDABoolean **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DATrue( 
            /* [retval][out] */ IDABoolean **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DAFalse( 
            /* [retval][out] */ IDABoolean **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LocalTime( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GlobalTime( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pixel( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UserData( 
            /* [in] */ IUnknown *data_0,
            /* [retval][out] */ IDAUserData **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UntilNotify( 
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDAUntilNotifier *notifier_2,
            /* [retval][out] */ IDABehavior **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Until( 
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDABehavior *b1_2,
            /* [retval][out] */ IDABehavior **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UntilEx( 
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [retval][out] */ IDABehavior **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Sequence( 
            /* [in] */ IDABehavior *s1_0,
            /* [in] */ IDABehavior *s2_1,
            /* [retval][out] */ IDABehavior **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPath( 
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathAngle( 
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathAngleUpright( 
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathEval( 
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathAngleEval( 
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathAngleUprightEval( 
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathAnim( 
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathAngleAnim( 
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FollowPathAngleUprightAnim( 
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConcatString( 
            /* [in] */ IDAString *s1_0,
            /* [in] */ IDAString *s2_1,
            /* [retval][out] */ IDAString **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PerspectiveCamera( 
            /* [in] */ double focalDist_0,
            /* [in] */ double nearClip_1,
            /* [retval][out] */ IDACamera **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PerspectiveCameraAnim( 
            /* [in] */ IDANumber *focalDist_0,
            /* [in] */ IDANumber *nearClip_1,
            /* [retval][out] */ IDACamera **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParallelCamera( 
            /* [in] */ double nearClip_0,
            /* [retval][out] */ IDACamera **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ParallelCameraAnim( 
            /* [in] */ IDANumber *nearClip_0,
            /* [retval][out] */ IDACamera **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ColorRgbAnim( 
            /* [in] */ IDANumber *red_0,
            /* [in] */ IDANumber *green_1,
            /* [in] */ IDANumber *blue_2,
            /* [retval][out] */ IDAColor **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ColorRgb( 
            /* [in] */ double red_0,
            /* [in] */ double green_1,
            /* [in] */ double blue_2,
            /* [retval][out] */ IDAColor **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ColorRgb255( 
            /* [in] */ short red_0,
            /* [in] */ short green_1,
            /* [in] */ short blue_2,
            /* [retval][out] */ IDAColor **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ColorHsl( 
            /* [in] */ double hue_0,
            /* [in] */ double saturation_1,
            /* [in] */ double lum_2,
            /* [retval][out] */ IDAColor **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ColorHslAnim( 
            /* [in] */ IDANumber *hue_0,
            /* [in] */ IDANumber *saturation_1,
            /* [in] */ IDANumber *lum_2,
            /* [retval][out] */ IDAColor **ret_3) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Red( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Green( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Blue( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cyan( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Magenta( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Yellow( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Black( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_White( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Aqua( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Fuchsia( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Gray( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Lime( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Maroon( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Navy( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Olive( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Purple( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Silver( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Teal( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Predicate( 
            /* [in] */ IDABoolean *b_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NotEvent( 
            /* [in] */ IDAEvent *event_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AndEvent( 
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OrEvent( 
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ThenEvent( 
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LeftButtonDown( 
            /* [retval][out] */ IDAEvent **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LeftButtonUp( 
            /* [retval][out] */ IDAEvent **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RightButtonDown( 
            /* [retval][out] */ IDAEvent **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RightButtonUp( 
            /* [retval][out] */ IDAEvent **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Always( 
            /* [retval][out] */ IDAEvent **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Never( 
            /* [retval][out] */ IDAEvent **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TimerAnim( 
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Timer( 
            /* [in] */ double n_0,
            /* [retval][out] */ IDAEvent **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AppTriggeredEvent( 
            /* [retval][out] */ IDAEvent **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ScriptCallback( 
            /* [in] */ BSTR obsolete1_0,
            /* [in] */ IDAEvent *obsolete2_1,
            /* [in] */ BSTR obsolete3_2,
            /* [retval][out] */ IDAEvent **ret_3) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EmptyGeometry( 
            /* [retval][out] */ IDAGeometry **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnionGeometry( 
            /* [in] */ IDAGeometry *g1_0,
            /* [in] */ IDAGeometry *g2_1,
            /* [retval][out] */ IDAGeometry **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE UnionGeometryArrayEx( 
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAGeometry *imgs_0[  ],
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnionGeometryArray( 
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAGeometry **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EmptyImage( 
            /* [retval][out] */ IDAImage **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DetectableEmptyImage( 
            /* [retval][out] */ IDAImage **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SolidColorImage( 
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE GradientPolygonEx( 
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG colors_1size,
            /* [size_is][in] */ IDAColor *colors_1[  ],
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientPolygon( 
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT colors_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE RadialGradientPolygonEx( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RadialGradientPolygon( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE RadialGradientPolygonAnimEx( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RadialGradientPolygonAnim( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientSquare( 
            /* [in] */ IDAColor *lowerLeft_0,
            /* [in] */ IDAColor *upperLeft_1,
            /* [in] */ IDAColor *upperRight_2,
            /* [in] */ IDAColor *lowerRight_3,
            /* [retval][out] */ IDAImage **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RadialGradientSquare( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RadialGradientSquareAnim( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RadialGradientRegularPoly( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double numEdges_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RadialGradientRegularPolyAnim( 
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *numEdges_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientHorizontal( 
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GradientHorizontalAnim( 
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchHorizontal( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchHorizontalAnim( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchVertical( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchVerticalAnim( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchForwardDiagonal( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchForwardDiagonalAnim( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchBackwardDiagonal( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchBackwardDiagonalAnim( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchCross( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchCrossAnim( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchDiagonalCross( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE HatchDiagonalCrossAnim( 
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Overlay( 
            /* [in] */ IDAImage *top_0,
            /* [in] */ IDAImage *bottom_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE OverlayArrayEx( 
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAImage *imgs_0[  ],
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OverlayArray( 
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAImage **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AmbientLight( 
            /* [retval][out] */ IDAGeometry **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DirectionalLight( 
            /* [retval][out] */ IDAGeometry **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointLight( 
            /* [retval][out] */ IDAGeometry **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SpotLightAnim( 
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ IDANumber *cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SpotLight( 
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ double cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultLineStyle( 
            /* [retval][out] */ IDALineStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EmptyLineStyle( 
            /* [retval][out] */ IDALineStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_JoinStyleBevel( 
            /* [retval][out] */ IDAJoinStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_JoinStyleRound( 
            /* [retval][out] */ IDAJoinStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_JoinStyleMiter( 
            /* [retval][out] */ IDAJoinStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EndStyleFlat( 
            /* [retval][out] */ IDAEndStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EndStyleSquare( 
            /* [retval][out] */ IDAEndStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EndStyleRound( 
            /* [retval][out] */ IDAEndStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DashStyleSolid( 
            /* [retval][out] */ IDADashStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DashStyleDashed( 
            /* [retval][out] */ IDADashStyle **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultMicrophone( 
            /* [retval][out] */ IDAMicrophone **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OpaqueMatte( 
            /* [retval][out] */ IDAMatte **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClearMatte( 
            /* [retval][out] */ IDAMatte **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnionMatte( 
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IntersectMatte( 
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DifferenceMatte( 
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FillMatte( 
            /* [in] */ IDAPath2 *p_0,
            /* [retval][out] */ IDAMatte **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TextMatte( 
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAMatte **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EmptyMontage( 
            /* [retval][out] */ IDAMontage **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImageMontage( 
            /* [in] */ IDAImage *im_0,
            /* [in] */ double depth_1,
            /* [retval][out] */ IDAMontage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImageMontageAnim( 
            /* [in] */ IDAImage *im_0,
            /* [in] */ IDANumber *depth_1,
            /* [retval][out] */ IDAMontage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnionMontage( 
            /* [in] */ IDAMontage *m1_0,
            /* [in] */ IDAMontage *m2_1,
            /* [retval][out] */ IDAMontage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Concat( 
            /* [in] */ IDAPath2 *p1_0,
            /* [in] */ IDAPath2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE ConcatArrayEx( 
            /* [in] */ LONG paths_0size,
            /* [size_is][in] */ IDAPath2 *paths_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ConcatArray( 
            /* [in] */ VARIANT paths_0,
            /* [retval][out] */ IDAPath2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Line( 
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Ray( 
            /* [in] */ IDAPoint2 *pt_0,
            /* [retval][out] */ IDAPath2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StringPathAnim( 
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StringPath( 
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE PolylineEx( 
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Polyline( 
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAPath2 **ret_1) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE PolydrawPathEx( 
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG codes_1size,
            /* [size_is][in] */ IDANumber *codes_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PolydrawPath( 
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT codes_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ArcRadians( 
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ArcRadiansAnim( 
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ArcDegrees( 
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PieRadians( 
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PieRadiansAnim( 
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PieDegrees( 
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Oval( 
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OvalAnim( 
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rect( 
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RectAnim( 
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RoundRect( 
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [in] */ double cornerArcWidth_2,
            /* [in] */ double cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RoundRectAnim( 
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [in] */ IDANumber *cornerArcWidth_2,
            /* [in] */ IDANumber *cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE CubicBSplinePathEx( 
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG knots_1size,
            /* [size_is][in] */ IDANumber *knots_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CubicBSplinePath( 
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT knots_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TextPath( 
            /* [in] */ IDAString *obsolete1_0,
            /* [in] */ IDAFontStyle *obsolete2_1,
            /* [retval][out] */ IDAPath2 **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Silence( 
            /* [retval][out] */ IDASound **ret_0) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE MixArrayEx( 
            /* [in] */ LONG snds_0size,
            /* [size_is][in] */ IDASound *snds_0[  ],
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE MixArray( 
            /* [in] */ VARIANT snds_0,
            /* [retval][out] */ IDASound **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SinSynth( 
            /* [retval][out] */ IDASound **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultFont( 
            /* [retval][out] */ IDAFontStyle **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE FontAnim( 
            /* [in] */ IDAString *str_0,
            /* [in] */ IDANumber *size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Font( 
            /* [in] */ BSTR str_0,
            /* [in] */ double size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StringImageAnim( 
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE StringImage( 
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TextImageAnim( 
            /* [in] */ IDAString *obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TextImage( 
            /* [in] */ BSTR obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_XVector2( 
            /* [retval][out] */ IDAVector2 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_YVector2( 
            /* [retval][out] */ IDAVector2 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ZeroVector2( 
            /* [retval][out] */ IDAVector2 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Origin2( 
            /* [retval][out] */ IDAPoint2 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector2Anim( 
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector2( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point2Anim( 
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAPoint2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point2( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAPoint2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector2PolarAnim( 
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector2Polar( 
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector2PolarDegrees( 
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point2PolarAnim( 
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point2Polar( 
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DotVector2( 
            /* [in] */ IDAVector2 *v_0,
            /* [in] */ IDAVector2 *u_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NegVector2( 
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubVector2( 
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddVector2( 
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddPoint2Vector( 
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubPoint2Vector( 
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubPoint2( 
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAVector2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DistancePoint2( 
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DistanceSquaredPoint2( 
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_XVector3( 
            /* [retval][out] */ IDAVector3 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_YVector3( 
            /* [retval][out] */ IDAVector3 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ZVector3( 
            /* [retval][out] */ IDAVector3 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ZeroVector3( 
            /* [retval][out] */ IDAVector3 **ret_0) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Origin3( 
            /* [retval][out] */ IDAPoint3 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector3Anim( 
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAVector3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector3( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAVector3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point3Anim( 
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAPoint3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point3( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAPoint3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector3SphericalAnim( 
            /* [in] */ IDANumber *xyAngle_0,
            /* [in] */ IDANumber *yzAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAVector3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Vector3Spherical( 
            /* [in] */ double xyAngle_0,
            /* [in] */ double yzAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAVector3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point3SphericalAnim( 
            /* [in] */ IDANumber *zxAngle_0,
            /* [in] */ IDANumber *xyAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Point3Spherical( 
            /* [in] */ double zxAngle_0,
            /* [in] */ double xyAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DotVector3( 
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CrossVector3( 
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDAVector3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE NegVector3( 
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubVector3( 
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddVector3( 
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddPoint3Vector( 
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubPoint3Vector( 
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SubPoint3( 
            /* [in] */ IDAPoint3 *p1_0,
            /* [in] */ IDAPoint3 *p2_1,
            /* [retval][out] */ IDAVector3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DistancePoint3( 
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DistanceSquaredPoint3( 
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IdentityTransform3( 
            /* [retval][out] */ IDATransform3 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate3Anim( 
            /* [in] */ IDANumber *tx_0,
            /* [in] */ IDANumber *ty_1,
            /* [in] */ IDANumber *tz_2,
            /* [retval][out] */ IDATransform3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate3( 
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate3Rate( 
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate3Vector( 
            /* [in] */ IDAVector3 *delta_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate3Point( 
            /* [in] */ IDAPoint3 *new_origin_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale3Anim( 
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDATransform3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale3( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale3Rate( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale3Vector( 
            /* [in] */ IDAVector3 *scale_vec_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale3UniformAnim( 
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale3Uniform( 
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale3UniformRate( 
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate3Anim( 
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ IDANumber *angle_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate3( 
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate3Rate( 
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate3Degrees( 
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate3RateDegrees( 
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE XShear3Anim( 
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE XShear3( 
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE XShear3Rate( 
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE YShear3Anim( 
            /* [in] */ IDANumber *c_0,
            /* [in] */ IDANumber *d_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE YShear3( 
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE YShear3Rate( 
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ZShear3Anim( 
            /* [in] */ IDANumber *e_0,
            /* [in] */ IDANumber *f_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ZShear3( 
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ZShear3Rate( 
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Transform4x4AnimEx( 
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform4x4Anim( 
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Compose3( 
            /* [in] */ IDATransform3 *a_0,
            /* [in] */ IDATransform3 *b_1,
            /* [retval][out] */ IDATransform3 **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Compose3ArrayEx( 
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform3 *xfs_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Compose3Array( 
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform3 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LookAtFrom( 
            /* [in] */ IDAPoint3 *to_0,
            /* [in] */ IDAPoint3 *from_1,
            /* [in] */ IDAVector3 *up_2,
            /* [retval][out] */ IDATransform3 **ret_3) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IdentityTransform2( 
            /* [retval][out] */ IDATransform2 **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate2Anim( 
            /* [in] */ IDANumber *Tx_0,
            /* [in] */ IDANumber *Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate2( 
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate2Rate( 
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate2Vector( 
            /* [in] */ IDAVector2 *delta_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Translate2Point( 
            /* [in] */ IDAPoint2 *pos_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2Anim( 
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2Rate( 
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2Vector2( 
            /* [in] */ IDAVector2 *obsoleteMethod_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2Vector( 
            /* [in] */ IDAVector2 *scale_vec_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2UniformAnim( 
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2Uniform( 
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Scale2UniformRate( 
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate2Anim( 
            /* [in] */ IDANumber *angle_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate2( 
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate2Rate( 
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate2Degrees( 
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Rotate2RateDegrees( 
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE XShear2Anim( 
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE XShear2( 
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE XShear2Rate( 
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE YShear2Anim( 
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE YShear2( 
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE YShear2Rate( 
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Transform3x2AnimEx( 
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Transform3x2Anim( 
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Compose2( 
            /* [in] */ IDATransform2 *a_0,
            /* [in] */ IDATransform2 *b_1,
            /* [retval][out] */ IDATransform2 **ret_2) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE Compose2ArrayEx( 
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform2 *xfs_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Compose2Array( 
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform2 **ret_1) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Tuple( 
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDATuple **obsolete2) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Array( 
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDAArray **obsolete2) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AreBlockingImportsComplete( 
            /* [retval][out] */ VARIANT_BOOL *bComplete) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAStaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAStatics * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAStatics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAStatics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAStatics * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAStatics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAStatics * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAStatics * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionString )( 
            IDAStatics * This,
            /* [retval][out] */ BSTR *str);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Site )( 
            IDAStatics * This,
            /* [retval][out] */ IDASite **pSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Site )( 
            IDAStatics * This,
            /* [in] */ IDASite *pSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientSite )( 
            IDAStatics * This,
            /* [in] */ IOleClientSite *pClientSite);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientSite )( 
            IDAStatics * This,
            /* [retval][out] */ IOleClientSite **pClientSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PixelConstructionMode )( 
            IDAStatics * This,
            /* [in] */ VARIANT_BOOL bMode);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelConstructionMode )( 
            IDAStatics * This,
            /* [retval][out] */ VARIANT_BOOL *bMode);
        
        HRESULT ( STDMETHODCALLTYPE *TriggerEvent )( 
            IDAStatics * This,
            /* [in] */ IDAEvent *event,
            /* [in] */ IDABehavior *data);
        
        HRESULT ( STDMETHODCALLTYPE *NewDrawingSurface )( 
            IDAStatics * This,
            /* [retval][out] */ IDADrawingSurface **pds);
        
        HRESULT ( STDMETHODCALLTYPE *ImportMovie )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportMovieAsync )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImage )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageAsync )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageColorKey )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageAsyncColorKey )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportSound )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportSoundAsync )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometry )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAGeometry **ppGeometry);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometryAsync )( 
            IDAStatics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAGeometry *pGeoStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportDirectDrawSurface )( 
            IDAStatics * This,
            /* [in] */ IUnknown *dds,
            /* [in] */ IDAEvent *updateEvent,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *Cond )( 
            IDAStatics * This,
            /* [in] */ IDABoolean *c,
            /* [in] */ IDABehavior *i,
            /* [in] */ IDABehavior *e,
            /* [retval][out] */ IDABehavior **pCondBvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DAArrayEx )( 
            IDAStatics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DAArray )( 
            IDAStatics * This,
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDAArray **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DATupleEx )( 
            IDAStatics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDATuple **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DATuple )( 
            IDAStatics * This,
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDATuple **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *ModifiableBehavior )( 
            IDAStatics * This,
            /* [in] */ IDABehavior *orig,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UninitializedArray )( 
            IDAStatics * This,
            /* [in] */ IDAArray *typeTmp,
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UninitializedTuple )( 
            IDAStatics * This,
            /* [in] */ IDATuple *typeTmp,
            /* [retval][out] */ IDATuple **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *NumberBSplineEx )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDANumber *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *NumberBSpline )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Point2BSplineEx )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Point2BSpline )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Point3BSplineEx )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Point3BSpline )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Vector2BSplineEx )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2BSpline )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Vector3BSplineEx )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3BSpline )( 
            IDAStatics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Pow )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Abs )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Sqrt )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Floor )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Round )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Ceiling )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Asin )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Acos )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Atan )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Sin )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Cos )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Tan )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Exp )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Ln )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Log10 )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ToDegrees )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ToRadians )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mod )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Atan2 )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Add )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Sub )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Mul )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Div )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *LT )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *LTE )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GT )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GTE )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *EQ )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NE )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Neg )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *InterpolateAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [retval][out] */ IDANumber **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Interpolate )( 
            IDAStatics * This,
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [retval][out] */ IDANumber **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *SlowInSlowOutAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [in] */ IDANumber *sharpness_3,
            /* [retval][out] */ IDANumber **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *SlowInSlowOut )( 
            IDAStatics * This,
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [in] */ double sharpness_3,
            /* [retval][out] */ IDANumber **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *SoundSource )( 
            IDAStatics * This,
            /* [in] */ IDASound *snd_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mix )( 
            IDAStatics * This,
            /* [in] */ IDASound *left_0,
            /* [in] */ IDASound *right_1,
            /* [retval][out] */ IDASound **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *And )( 
            IDAStatics * This,
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Or )( 
            IDAStatics * This,
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Not )( 
            IDAStatics * This,
            /* [in] */ IDABoolean *a_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Integral )( 
            IDAStatics * This,
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Derivative )( 
            IDAStatics * This,
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *IntegralVector2 )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *IntegralVector3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativeVector2 )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativeVector3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativePoint2 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativePoint3 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyState )( 
            IDAStatics * This,
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyUp )( 
            IDAStatics * This,
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyDown )( 
            IDAStatics * This,
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DANumber )( 
            IDAStatics * This,
            /* [in] */ double num_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DAString )( 
            IDAStatics * This,
            /* [in] */ BSTR str_0,
            /* [retval][out] */ IDAString **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DABoolean )( 
            IDAStatics * This,
            /* [in] */ VARIANT_BOOL num_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SeededRandom )( 
            IDAStatics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MousePosition )( 
            IDAStatics * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonState )( 
            IDAStatics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonState )( 
            IDAStatics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DATrue )( 
            IDAStatics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DAFalse )( 
            IDAStatics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalTime )( 
            IDAStatics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GlobalTime )( 
            IDAStatics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pixel )( 
            IDAStatics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UserData )( 
            IDAStatics * This,
            /* [in] */ IUnknown *data_0,
            /* [retval][out] */ IDAUserData **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UntilNotify )( 
            IDAStatics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDAUntilNotifier *notifier_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Until )( 
            IDAStatics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDABehavior *b1_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *UntilEx )( 
            IDAStatics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [retval][out] */ IDABehavior **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Sequence )( 
            IDAStatics * This,
            /* [in] */ IDABehavior *s1_0,
            /* [in] */ IDABehavior *s2_1,
            /* [retval][out] */ IDABehavior **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPath )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngle )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUpright )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathEval )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleEval )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUprightEval )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAnim )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleAnim )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUprightAnim )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ConcatString )( 
            IDAStatics * This,
            /* [in] */ IDAString *s1_0,
            /* [in] */ IDAString *s2_1,
            /* [retval][out] */ IDAString **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PerspectiveCamera )( 
            IDAStatics * This,
            /* [in] */ double focalDist_0,
            /* [in] */ double nearClip_1,
            /* [retval][out] */ IDACamera **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PerspectiveCameraAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *focalDist_0,
            /* [in] */ IDANumber *nearClip_1,
            /* [retval][out] */ IDACamera **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ParallelCamera )( 
            IDAStatics * This,
            /* [in] */ double nearClip_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ParallelCameraAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *nearClip_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgbAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *red_0,
            /* [in] */ IDANumber *green_1,
            /* [in] */ IDANumber *blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgb )( 
            IDAStatics * This,
            /* [in] */ double red_0,
            /* [in] */ double green_1,
            /* [in] */ double blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgb255 )( 
            IDAStatics * This,
            /* [in] */ short red_0,
            /* [in] */ short green_1,
            /* [in] */ short blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorHsl )( 
            IDAStatics * This,
            /* [in] */ double hue_0,
            /* [in] */ double saturation_1,
            /* [in] */ double lum_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorHslAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *hue_0,
            /* [in] */ IDANumber *saturation_1,
            /* [in] */ IDANumber *lum_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Red )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Green )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Blue )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cyan )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Magenta )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Yellow )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Black )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_White )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aqua )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fuchsia )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gray )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lime )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maroon )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Navy )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Olive )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Purple )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Silver )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Teal )( 
            IDAStatics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Predicate )( 
            IDAStatics * This,
            /* [in] */ IDABoolean *b_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *NotEvent )( 
            IDAStatics * This,
            /* [in] */ IDAEvent *event_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AndEvent )( 
            IDAStatics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *OrEvent )( 
            IDAStatics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ThenEvent )( 
            IDAStatics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonDown )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonUp )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonDown )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonUp )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Always )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Never )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *TimerAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Timer )( 
            IDAStatics * This,
            /* [in] */ double n_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AppTriggeredEvent )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ScriptCallback )( 
            IDAStatics * This,
            /* [in] */ BSTR obsolete1_0,
            /* [in] */ IDAEvent *obsolete2_1,
            /* [in] */ BSTR obsolete3_2,
            /* [retval][out] */ IDAEvent **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyGeometry )( 
            IDAStatics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UnionGeometry )( 
            IDAStatics * This,
            /* [in] */ IDAGeometry *g1_0,
            /* [in] */ IDAGeometry *g2_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *UnionGeometryArrayEx )( 
            IDAStatics * This,
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAGeometry *imgs_0[  ],
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UnionGeometryArray )( 
            IDAStatics * This,
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyImage )( 
            IDAStatics * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectableEmptyImage )( 
            IDAStatics * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *SolidColorImage )( 
            IDAStatics * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *GradientPolygonEx )( 
            IDAStatics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG colors_1size,
            /* [size_is][in] */ IDAColor *colors_1[  ],
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GradientPolygon )( 
            IDAStatics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT colors_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonEx )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygon )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonAnimEx )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *GradientSquare )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lowerLeft_0,
            /* [in] */ IDAColor *upperLeft_1,
            /* [in] */ IDAColor *upperRight_2,
            /* [in] */ IDAColor *lowerRight_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientSquare )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientSquareAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientRegularPoly )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double numEdges_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientRegularPolyAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *numEdges_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *GradientHorizontal )( 
            IDAStatics * This,
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *GradientHorizontalAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *HatchHorizontal )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchHorizontalAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchVertical )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchVerticalAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchForwardDiagonal )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchForwardDiagonalAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchBackwardDiagonal )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchBackwardDiagonalAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchCross )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchCrossAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchDiagonalCross )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchDiagonalCrossAnim )( 
            IDAStatics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Overlay )( 
            IDAStatics * This,
            /* [in] */ IDAImage *top_0,
            /* [in] */ IDAImage *bottom_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *OverlayArrayEx )( 
            IDAStatics * This,
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAImage *imgs_0[  ],
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OverlayArray )( 
            IDAStatics * This,
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AmbientLight )( 
            IDAStatics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectionalLight )( 
            IDAStatics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointLight )( 
            IDAStatics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *SpotLightAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ IDANumber *cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SpotLight )( 
            IDAStatics * This,
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ double cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultLineStyle )( 
            IDAStatics * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyLineStyle )( 
            IDAStatics * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleBevel )( 
            IDAStatics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleRound )( 
            IDAStatics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleMiter )( 
            IDAStatics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleFlat )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleSquare )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleRound )( 
            IDAStatics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DashStyleSolid )( 
            IDAStatics * This,
            /* [retval][out] */ IDADashStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DashStyleDashed )( 
            IDAStatics * This,
            /* [retval][out] */ IDADashStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultMicrophone )( 
            IDAStatics * This,
            /* [retval][out] */ IDAMicrophone **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueMatte )( 
            IDAStatics * This,
            /* [retval][out] */ IDAMatte **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClearMatte )( 
            IDAStatics * This,
            /* [retval][out] */ IDAMatte **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMatte )( 
            IDAStatics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *IntersectMatte )( 
            IDAStatics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DifferenceMatte )( 
            IDAStatics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FillMatte )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *p_0,
            /* [retval][out] */ IDAMatte **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *TextMatte )( 
            IDAStatics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyMontage )( 
            IDAStatics * This,
            /* [retval][out] */ IDAMontage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ImageMontage )( 
            IDAStatics * This,
            /* [in] */ IDAImage *im_0,
            /* [in] */ double depth_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ImageMontageAnim )( 
            IDAStatics * This,
            /* [in] */ IDAImage *im_0,
            /* [in] */ IDANumber *depth_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMontage )( 
            IDAStatics * This,
            /* [in] */ IDAMontage *m1_0,
            /* [in] */ IDAMontage *m2_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Concat )( 
            IDAStatics * This,
            /* [in] */ IDAPath2 *p1_0,
            /* [in] */ IDAPath2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ConcatArrayEx )( 
            IDAStatics * This,
            /* [in] */ LONG paths_0size,
            /* [size_is][in] */ IDAPath2 *paths_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ConcatArray )( 
            IDAStatics * This,
            /* [in] */ VARIANT paths_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Line )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Ray )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *pt_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *StringPathAnim )( 
            IDAStatics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *StringPath )( 
            IDAStatics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolylineEx )( 
            IDAStatics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Polyline )( 
            IDAStatics * This,
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolydrawPathEx )( 
            IDAStatics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG codes_1size,
            /* [size_is][in] */ IDANumber *codes_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PolydrawPath )( 
            IDAStatics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT codes_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ArcRadians )( 
            IDAStatics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *ArcRadiansAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *ArcDegrees )( 
            IDAStatics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieRadians )( 
            IDAStatics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieRadiansAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieDegrees )( 
            IDAStatics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *Oval )( 
            IDAStatics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *OvalAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rect )( 
            IDAStatics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RectAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RoundRect )( 
            IDAStatics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [in] */ double cornerArcWidth_2,
            /* [in] */ double cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RoundRectAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [in] */ IDANumber *cornerArcWidth_2,
            /* [in] */ IDANumber *cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *CubicBSplinePathEx )( 
            IDAStatics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG knots_1size,
            /* [size_is][in] */ IDANumber *knots_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *CubicBSplinePath )( 
            IDAStatics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT knots_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextPath )( 
            IDAStatics * This,
            /* [in] */ IDAString *obsolete1_0,
            /* [in] */ IDAFontStyle *obsolete2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Silence )( 
            IDAStatics * This,
            /* [retval][out] */ IDASound **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *MixArrayEx )( 
            IDAStatics * This,
            /* [in] */ LONG snds_0size,
            /* [size_is][in] */ IDASound *snds_0[  ],
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MixArray )( 
            IDAStatics * This,
            /* [in] */ VARIANT snds_0,
            /* [retval][out] */ IDASound **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SinSynth )( 
            IDAStatics * This,
            /* [retval][out] */ IDASound **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFont )( 
            IDAStatics * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *FontAnim )( 
            IDAStatics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDANumber *size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Font )( 
            IDAStatics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ double size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *StringImageAnim )( 
            IDAStatics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *StringImage )( 
            IDAStatics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextImageAnim )( 
            IDAStatics * This,
            /* [in] */ IDAString *obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextImage )( 
            IDAStatics * This,
            /* [in] */ BSTR obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_XVector2 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_YVector2 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZeroVector2 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin2 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2 )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2 )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2PolarAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2Polar )( 
            IDAStatics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2PolarDegrees )( 
            IDAStatics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2PolarAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2Polar )( 
            IDAStatics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DotVector2 )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [in] */ IDAVector2 *u_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NegVector2 )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SubVector2 )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddVector2 )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddPoint2Vector )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint2Vector )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint2 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistancePoint2 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistanceSquaredPoint2 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_XVector3 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_YVector3 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZVector3 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZeroVector3 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin3 )( 
            IDAStatics * This,
            /* [retval][out] */ IDAPoint3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3 )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3 )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3SphericalAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *xyAngle_0,
            /* [in] */ IDANumber *yzAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3Spherical )( 
            IDAStatics * This,
            /* [in] */ double xyAngle_0,
            /* [in] */ double yzAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3SphericalAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *zxAngle_0,
            /* [in] */ IDANumber *xyAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3Spherical )( 
            IDAStatics * This,
            /* [in] */ double zxAngle_0,
            /* [in] */ double xyAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *DotVector3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *CrossVector3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NegVector3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SubVector3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddVector3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddPoint3Vector )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint3Vector )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint3 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *p1_0,
            /* [in] */ IDAPoint3 *p2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistancePoint3 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistanceSquaredPoint3 )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IdentityTransform3 )( 
            IDAStatics * This,
            /* [retval][out] */ IDATransform3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *tx_0,
            /* [in] */ IDANumber *ty_1,
            /* [in] */ IDANumber *tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3 )( 
            IDAStatics * This,
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Rate )( 
            IDAStatics * This,
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Vector )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *delta_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Point )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *new_origin_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3 )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Rate )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Vector )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *scale_vec_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3UniformAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Uniform )( 
            IDAStatics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3UniformRate )( 
            IDAStatics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Anim )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ IDANumber *angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3 )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Rate )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Degrees )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3RateDegrees )( 
            IDAStatics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3 )( 
            IDAStatics * This,
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3Rate )( 
            IDAStatics * This,
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *c_0,
            /* [in] */ IDANumber *d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3 )( 
            IDAStatics * This,
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3Rate )( 
            IDAStatics * This,
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *e_0,
            /* [in] */ IDANumber *f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3 )( 
            IDAStatics * This,
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3Rate )( 
            IDAStatics * This,
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Transform4x4AnimEx )( 
            IDAStatics * This,
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform4x4Anim )( 
            IDAStatics * This,
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose3 )( 
            IDAStatics * This,
            /* [in] */ IDATransform3 *a_0,
            /* [in] */ IDATransform3 *b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Compose3ArrayEx )( 
            IDAStatics * This,
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform3 *xfs_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose3Array )( 
            IDAStatics * This,
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LookAtFrom )( 
            IDAStatics * This,
            /* [in] */ IDAPoint3 *to_0,
            /* [in] */ IDAPoint3 *from_1,
            /* [in] */ IDAVector3 *up_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IdentityTransform2 )( 
            IDAStatics * This,
            /* [retval][out] */ IDATransform2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *Tx_0,
            /* [in] */ IDANumber *Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2 )( 
            IDAStatics * This,
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Rate )( 
            IDAStatics * This,
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Vector )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *delta_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Point )( 
            IDAStatics * This,
            /* [in] */ IDAPoint2 *pos_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2 )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Rate )( 
            IDAStatics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Vector2 )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *obsoleteMethod_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Vector )( 
            IDAStatics * This,
            /* [in] */ IDAVector2 *scale_vec_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2UniformAnim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Uniform )( 
            IDAStatics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2UniformRate )( 
            IDAStatics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2 )( 
            IDAStatics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Rate )( 
            IDAStatics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Degrees )( 
            IDAStatics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2RateDegrees )( 
            IDAStatics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2 )( 
            IDAStatics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2Rate )( 
            IDAStatics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2Anim )( 
            IDAStatics * This,
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2 )( 
            IDAStatics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2Rate )( 
            IDAStatics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Transform3x2AnimEx )( 
            IDAStatics * This,
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform3x2Anim )( 
            IDAStatics * This,
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose2 )( 
            IDAStatics * This,
            /* [in] */ IDATransform2 *a_0,
            /* [in] */ IDATransform2 *b_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Compose2ArrayEx )( 
            IDAStatics * This,
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform2 *xfs_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose2Array )( 
            IDAStatics * This,
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Tuple )( 
            IDAStatics * This,
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDATuple **obsolete2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Array )( 
            IDAStatics * This,
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDAArray **obsolete2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBlockingImportsComplete )( 
            IDAStatics * This,
            /* [retval][out] */ VARIANT_BOOL *bComplete);
        
        END_INTERFACE
    } IDAStaticsVtbl;

    interface IDAStatics
    {
        CONST_VTBL struct IDAStaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAStatics_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAStatics_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAStatics_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAStatics_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAStatics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAStatics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAStatics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAStatics_get_VersionString(This,str)	\
    (This)->lpVtbl -> get_VersionString(This,str)

#define IDAStatics_get_Site(This,pSite)	\
    (This)->lpVtbl -> get_Site(This,pSite)

#define IDAStatics_put_Site(This,pSite)	\
    (This)->lpVtbl -> put_Site(This,pSite)

#define IDAStatics_put_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> put_ClientSite(This,pClientSite)

#define IDAStatics_get_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> get_ClientSite(This,pClientSite)

#define IDAStatics_put_PixelConstructionMode(This,bMode)	\
    (This)->lpVtbl -> put_PixelConstructionMode(This,bMode)

#define IDAStatics_get_PixelConstructionMode(This,bMode)	\
    (This)->lpVtbl -> get_PixelConstructionMode(This,bMode)

#define IDAStatics_TriggerEvent(This,event,data)	\
    (This)->lpVtbl -> TriggerEvent(This,event,data)

#define IDAStatics_NewDrawingSurface(This,pds)	\
    (This)->lpVtbl -> NewDrawingSurface(This,pds)

#define IDAStatics_ImportMovie(This,url,ppResult)	\
    (This)->lpVtbl -> ImportMovie(This,url,ppResult)

#define IDAStatics_ImportMovieAsync(This,url,pImageStandIn,pSoundStandIn,ppResult)	\
    (This)->lpVtbl -> ImportMovieAsync(This,url,pImageStandIn,pSoundStandIn,ppResult)

#define IDAStatics_ImportImage(This,url,ppImage)	\
    (This)->lpVtbl -> ImportImage(This,url,ppImage)

#define IDAStatics_ImportImageAsync(This,url,pImageStandIn,ppResult)	\
    (This)->lpVtbl -> ImportImageAsync(This,url,pImageStandIn,ppResult)

#define IDAStatics_ImportImageColorKey(This,url,colorKeyRed,colorKeyGreen,colorKeyBlue,ppImage)	\
    (This)->lpVtbl -> ImportImageColorKey(This,url,colorKeyRed,colorKeyGreen,colorKeyBlue,ppImage)

#define IDAStatics_ImportImageAsyncColorKey(This,url,pImageStandIn,colorKeyRed,colorKeyGreen,colorKeyBlue,ppResult)	\
    (This)->lpVtbl -> ImportImageAsyncColorKey(This,url,pImageStandIn,colorKeyRed,colorKeyGreen,colorKeyBlue,ppResult)

#define IDAStatics_ImportSound(This,url,ppResult)	\
    (This)->lpVtbl -> ImportSound(This,url,ppResult)

#define IDAStatics_ImportSoundAsync(This,url,pSoundStandIn,ppResult)	\
    (This)->lpVtbl -> ImportSoundAsync(This,url,pSoundStandIn,ppResult)

#define IDAStatics_ImportGeometry(This,url,ppGeometry)	\
    (This)->lpVtbl -> ImportGeometry(This,url,ppGeometry)

#define IDAStatics_ImportGeometryAsync(This,url,pGeoStandIn,ppResult)	\
    (This)->lpVtbl -> ImportGeometryAsync(This,url,pGeoStandIn,ppResult)

#define IDAStatics_ImportDirectDrawSurface(This,dds,updateEvent,ppImage)	\
    (This)->lpVtbl -> ImportDirectDrawSurface(This,dds,updateEvent,ppImage)

#define IDAStatics_Cond(This,c,i,e,pCondBvr)	\
    (This)->lpVtbl -> Cond(This,c,i,e,pCondBvr)

#define IDAStatics_DAArrayEx(This,s,pBvrs,bvr)	\
    (This)->lpVtbl -> DAArrayEx(This,s,pBvrs,bvr)

#define IDAStatics_DAArray(This,bvrs,bvr)	\
    (This)->lpVtbl -> DAArray(This,bvrs,bvr)

#define IDAStatics_DATupleEx(This,s,pBvrs,bvr)	\
    (This)->lpVtbl -> DATupleEx(This,s,pBvrs,bvr)

#define IDAStatics_DATuple(This,bvrs,bvr)	\
    (This)->lpVtbl -> DATuple(This,bvrs,bvr)

#define IDAStatics_ModifiableBehavior(This,orig,bvr)	\
    (This)->lpVtbl -> ModifiableBehavior(This,orig,bvr)

#define IDAStatics_UninitializedArray(This,typeTmp,bvr)	\
    (This)->lpVtbl -> UninitializedArray(This,typeTmp,bvr)

#define IDAStatics_UninitializedTuple(This,typeTmp,bvr)	\
    (This)->lpVtbl -> UninitializedTuple(This,typeTmp,bvr)

#define IDAStatics_NumberBSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> NumberBSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDAStatics_NumberBSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> NumberBSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDAStatics_Point2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDAStatics_Point2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDAStatics_Point3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDAStatics_Point3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDAStatics_Vector2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDAStatics_Vector2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDAStatics_Vector3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDAStatics_Vector3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDAStatics_Pow(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Pow(This,a_0,b_1,ret_2)

#define IDAStatics_Abs(This,a_0,ret_1)	\
    (This)->lpVtbl -> Abs(This,a_0,ret_1)

#define IDAStatics_Sqrt(This,a_0,ret_1)	\
    (This)->lpVtbl -> Sqrt(This,a_0,ret_1)

#define IDAStatics_Floor(This,a_0,ret_1)	\
    (This)->lpVtbl -> Floor(This,a_0,ret_1)

#define IDAStatics_Round(This,a_0,ret_1)	\
    (This)->lpVtbl -> Round(This,a_0,ret_1)

#define IDAStatics_Ceiling(This,a_0,ret_1)	\
    (This)->lpVtbl -> Ceiling(This,a_0,ret_1)

#define IDAStatics_Asin(This,a_0,ret_1)	\
    (This)->lpVtbl -> Asin(This,a_0,ret_1)

#define IDAStatics_Acos(This,a_0,ret_1)	\
    (This)->lpVtbl -> Acos(This,a_0,ret_1)

#define IDAStatics_Atan(This,a_0,ret_1)	\
    (This)->lpVtbl -> Atan(This,a_0,ret_1)

#define IDAStatics_Sin(This,a_0,ret_1)	\
    (This)->lpVtbl -> Sin(This,a_0,ret_1)

#define IDAStatics_Cos(This,a_0,ret_1)	\
    (This)->lpVtbl -> Cos(This,a_0,ret_1)

#define IDAStatics_Tan(This,a_0,ret_1)	\
    (This)->lpVtbl -> Tan(This,a_0,ret_1)

#define IDAStatics_Exp(This,a_0,ret_1)	\
    (This)->lpVtbl -> Exp(This,a_0,ret_1)

#define IDAStatics_Ln(This,a_0,ret_1)	\
    (This)->lpVtbl -> Ln(This,a_0,ret_1)

#define IDAStatics_Log10(This,a_0,ret_1)	\
    (This)->lpVtbl -> Log10(This,a_0,ret_1)

#define IDAStatics_ToDegrees(This,a_0,ret_1)	\
    (This)->lpVtbl -> ToDegrees(This,a_0,ret_1)

#define IDAStatics_ToRadians(This,a_0,ret_1)	\
    (This)->lpVtbl -> ToRadians(This,a_0,ret_1)

#define IDAStatics_Mod(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Mod(This,a_0,b_1,ret_2)

#define IDAStatics_Atan2(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Atan2(This,a_0,b_1,ret_2)

#define IDAStatics_Add(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Add(This,a_0,b_1,ret_2)

#define IDAStatics_Sub(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Sub(This,a_0,b_1,ret_2)

#define IDAStatics_Mul(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Mul(This,a_0,b_1,ret_2)

#define IDAStatics_Div(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Div(This,a_0,b_1,ret_2)

#define IDAStatics_LT(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> LT(This,a_0,b_1,ret_2)

#define IDAStatics_LTE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> LTE(This,a_0,b_1,ret_2)

#define IDAStatics_GT(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> GT(This,a_0,b_1,ret_2)

#define IDAStatics_GTE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> GTE(This,a_0,b_1,ret_2)

#define IDAStatics_EQ(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> EQ(This,a_0,b_1,ret_2)

#define IDAStatics_NE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> NE(This,a_0,b_1,ret_2)

#define IDAStatics_Neg(This,a_0,ret_1)	\
    (This)->lpVtbl -> Neg(This,a_0,ret_1)

#define IDAStatics_InterpolateAnim(This,from_0,to_1,duration_2,ret_3)	\
    (This)->lpVtbl -> InterpolateAnim(This,from_0,to_1,duration_2,ret_3)

#define IDAStatics_Interpolate(This,from_0,to_1,duration_2,ret_3)	\
    (This)->lpVtbl -> Interpolate(This,from_0,to_1,duration_2,ret_3)

#define IDAStatics_SlowInSlowOutAnim(This,from_0,to_1,duration_2,sharpness_3,ret_4)	\
    (This)->lpVtbl -> SlowInSlowOutAnim(This,from_0,to_1,duration_2,sharpness_3,ret_4)

#define IDAStatics_SlowInSlowOut(This,from_0,to_1,duration_2,sharpness_3,ret_4)	\
    (This)->lpVtbl -> SlowInSlowOut(This,from_0,to_1,duration_2,sharpness_3,ret_4)

#define IDAStatics_SoundSource(This,snd_0,ret_1)	\
    (This)->lpVtbl -> SoundSource(This,snd_0,ret_1)

#define IDAStatics_Mix(This,left_0,right_1,ret_2)	\
    (This)->lpVtbl -> Mix(This,left_0,right_1,ret_2)

#define IDAStatics_And(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> And(This,a_0,b_1,ret_2)

#define IDAStatics_Or(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Or(This,a_0,b_1,ret_2)

#define IDAStatics_Not(This,a_0,ret_1)	\
    (This)->lpVtbl -> Not(This,a_0,ret_1)

#define IDAStatics_Integral(This,b_0,ret_1)	\
    (This)->lpVtbl -> Integral(This,b_0,ret_1)

#define IDAStatics_Derivative(This,b_0,ret_1)	\
    (This)->lpVtbl -> Derivative(This,b_0,ret_1)

#define IDAStatics_IntegralVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> IntegralVector2(This,v_0,ret_1)

#define IDAStatics_IntegralVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> IntegralVector3(This,v_0,ret_1)

#define IDAStatics_DerivativeVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativeVector2(This,v_0,ret_1)

#define IDAStatics_DerivativeVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativeVector3(This,v_0,ret_1)

#define IDAStatics_DerivativePoint2(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativePoint2(This,v_0,ret_1)

#define IDAStatics_DerivativePoint3(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativePoint3(This,v_0,ret_1)

#define IDAStatics_KeyState(This,n_0,ret_1)	\
    (This)->lpVtbl -> KeyState(This,n_0,ret_1)

#define IDAStatics_KeyUp(This,arg_0,ret_1)	\
    (This)->lpVtbl -> KeyUp(This,arg_0,ret_1)

#define IDAStatics_KeyDown(This,arg_0,ret_1)	\
    (This)->lpVtbl -> KeyDown(This,arg_0,ret_1)

#define IDAStatics_DANumber(This,num_0,ret_1)	\
    (This)->lpVtbl -> DANumber(This,num_0,ret_1)

#define IDAStatics_DAString(This,str_0,ret_1)	\
    (This)->lpVtbl -> DAString(This,str_0,ret_1)

#define IDAStatics_DABoolean(This,num_0,ret_1)	\
    (This)->lpVtbl -> DABoolean(This,num_0,ret_1)

#define IDAStatics_SeededRandom(This,arg_0,ret_1)	\
    (This)->lpVtbl -> SeededRandom(This,arg_0,ret_1)

#define IDAStatics_get_MousePosition(This,ret_0)	\
    (This)->lpVtbl -> get_MousePosition(This,ret_0)

#define IDAStatics_get_LeftButtonState(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonState(This,ret_0)

#define IDAStatics_get_RightButtonState(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonState(This,ret_0)

#define IDAStatics_get_DATrue(This,ret_0)	\
    (This)->lpVtbl -> get_DATrue(This,ret_0)

#define IDAStatics_get_DAFalse(This,ret_0)	\
    (This)->lpVtbl -> get_DAFalse(This,ret_0)

#define IDAStatics_get_LocalTime(This,ret_0)	\
    (This)->lpVtbl -> get_LocalTime(This,ret_0)

#define IDAStatics_get_GlobalTime(This,ret_0)	\
    (This)->lpVtbl -> get_GlobalTime(This,ret_0)

#define IDAStatics_get_Pixel(This,ret_0)	\
    (This)->lpVtbl -> get_Pixel(This,ret_0)

#define IDAStatics_UserData(This,data_0,ret_1)	\
    (This)->lpVtbl -> UserData(This,data_0,ret_1)

#define IDAStatics_UntilNotify(This,b0_0,event_1,notifier_2,ret_3)	\
    (This)->lpVtbl -> UntilNotify(This,b0_0,event_1,notifier_2,ret_3)

#define IDAStatics_Until(This,b0_0,event_1,b1_2,ret_3)	\
    (This)->lpVtbl -> Until(This,b0_0,event_1,b1_2,ret_3)

#define IDAStatics_UntilEx(This,b0_0,event_1,ret_2)	\
    (This)->lpVtbl -> UntilEx(This,b0_0,event_1,ret_2)

#define IDAStatics_Sequence(This,s1_0,s2_1,ret_2)	\
    (This)->lpVtbl -> Sequence(This,s1_0,s2_1,ret_2)

#define IDAStatics_FollowPath(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPath(This,path_0,duration_1,ret_2)

#define IDAStatics_FollowPathAngle(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngle(This,path_0,duration_1,ret_2)

#define IDAStatics_FollowPathAngleUpright(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUpright(This,path_0,duration_1,ret_2)

#define IDAStatics_FollowPathEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathEval(This,path_0,eval_1,ret_2)

#define IDAStatics_FollowPathAngleEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleEval(This,path_0,eval_1,ret_2)

#define IDAStatics_FollowPathAngleUprightEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUprightEval(This,path_0,eval_1,ret_2)

#define IDAStatics_FollowPathAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDAStatics_FollowPathAngleAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDAStatics_FollowPathAngleUprightAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUprightAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDAStatics_ConcatString(This,s1_0,s2_1,ret_2)	\
    (This)->lpVtbl -> ConcatString(This,s1_0,s2_1,ret_2)

#define IDAStatics_PerspectiveCamera(This,focalDist_0,nearClip_1,ret_2)	\
    (This)->lpVtbl -> PerspectiveCamera(This,focalDist_0,nearClip_1,ret_2)

#define IDAStatics_PerspectiveCameraAnim(This,focalDist_0,nearClip_1,ret_2)	\
    (This)->lpVtbl -> PerspectiveCameraAnim(This,focalDist_0,nearClip_1,ret_2)

#define IDAStatics_ParallelCamera(This,nearClip_0,ret_1)	\
    (This)->lpVtbl -> ParallelCamera(This,nearClip_0,ret_1)

#define IDAStatics_ParallelCameraAnim(This,nearClip_0,ret_1)	\
    (This)->lpVtbl -> ParallelCameraAnim(This,nearClip_0,ret_1)

#define IDAStatics_ColorRgbAnim(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgbAnim(This,red_0,green_1,blue_2,ret_3)

#define IDAStatics_ColorRgb(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgb(This,red_0,green_1,blue_2,ret_3)

#define IDAStatics_ColorRgb255(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgb255(This,red_0,green_1,blue_2,ret_3)

#define IDAStatics_ColorHsl(This,hue_0,saturation_1,lum_2,ret_3)	\
    (This)->lpVtbl -> ColorHsl(This,hue_0,saturation_1,lum_2,ret_3)

#define IDAStatics_ColorHslAnim(This,hue_0,saturation_1,lum_2,ret_3)	\
    (This)->lpVtbl -> ColorHslAnim(This,hue_0,saturation_1,lum_2,ret_3)

#define IDAStatics_get_Red(This,ret_0)	\
    (This)->lpVtbl -> get_Red(This,ret_0)

#define IDAStatics_get_Green(This,ret_0)	\
    (This)->lpVtbl -> get_Green(This,ret_0)

#define IDAStatics_get_Blue(This,ret_0)	\
    (This)->lpVtbl -> get_Blue(This,ret_0)

#define IDAStatics_get_Cyan(This,ret_0)	\
    (This)->lpVtbl -> get_Cyan(This,ret_0)

#define IDAStatics_get_Magenta(This,ret_0)	\
    (This)->lpVtbl -> get_Magenta(This,ret_0)

#define IDAStatics_get_Yellow(This,ret_0)	\
    (This)->lpVtbl -> get_Yellow(This,ret_0)

#define IDAStatics_get_Black(This,ret_0)	\
    (This)->lpVtbl -> get_Black(This,ret_0)

#define IDAStatics_get_White(This,ret_0)	\
    (This)->lpVtbl -> get_White(This,ret_0)

#define IDAStatics_get_Aqua(This,ret_0)	\
    (This)->lpVtbl -> get_Aqua(This,ret_0)

#define IDAStatics_get_Fuchsia(This,ret_0)	\
    (This)->lpVtbl -> get_Fuchsia(This,ret_0)

#define IDAStatics_get_Gray(This,ret_0)	\
    (This)->lpVtbl -> get_Gray(This,ret_0)

#define IDAStatics_get_Lime(This,ret_0)	\
    (This)->lpVtbl -> get_Lime(This,ret_0)

#define IDAStatics_get_Maroon(This,ret_0)	\
    (This)->lpVtbl -> get_Maroon(This,ret_0)

#define IDAStatics_get_Navy(This,ret_0)	\
    (This)->lpVtbl -> get_Navy(This,ret_0)

#define IDAStatics_get_Olive(This,ret_0)	\
    (This)->lpVtbl -> get_Olive(This,ret_0)

#define IDAStatics_get_Purple(This,ret_0)	\
    (This)->lpVtbl -> get_Purple(This,ret_0)

#define IDAStatics_get_Silver(This,ret_0)	\
    (This)->lpVtbl -> get_Silver(This,ret_0)

#define IDAStatics_get_Teal(This,ret_0)	\
    (This)->lpVtbl -> get_Teal(This,ret_0)

#define IDAStatics_Predicate(This,b_0,ret_1)	\
    (This)->lpVtbl -> Predicate(This,b_0,ret_1)

#define IDAStatics_NotEvent(This,event_0,ret_1)	\
    (This)->lpVtbl -> NotEvent(This,event_0,ret_1)

#define IDAStatics_AndEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> AndEvent(This,e1_0,e2_1,ret_2)

#define IDAStatics_OrEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> OrEvent(This,e1_0,e2_1,ret_2)

#define IDAStatics_ThenEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> ThenEvent(This,e1_0,e2_1,ret_2)

#define IDAStatics_get_LeftButtonDown(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonDown(This,ret_0)

#define IDAStatics_get_LeftButtonUp(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonUp(This,ret_0)

#define IDAStatics_get_RightButtonDown(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonDown(This,ret_0)

#define IDAStatics_get_RightButtonUp(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonUp(This,ret_0)

#define IDAStatics_get_Always(This,ret_0)	\
    (This)->lpVtbl -> get_Always(This,ret_0)

#define IDAStatics_get_Never(This,ret_0)	\
    (This)->lpVtbl -> get_Never(This,ret_0)

#define IDAStatics_TimerAnim(This,n_0,ret_1)	\
    (This)->lpVtbl -> TimerAnim(This,n_0,ret_1)

#define IDAStatics_Timer(This,n_0,ret_1)	\
    (This)->lpVtbl -> Timer(This,n_0,ret_1)

#define IDAStatics_AppTriggeredEvent(This,ret_0)	\
    (This)->lpVtbl -> AppTriggeredEvent(This,ret_0)

#define IDAStatics_ScriptCallback(This,obsolete1_0,obsolete2_1,obsolete3_2,ret_3)	\
    (This)->lpVtbl -> ScriptCallback(This,obsolete1_0,obsolete2_1,obsolete3_2,ret_3)

#define IDAStatics_get_EmptyGeometry(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyGeometry(This,ret_0)

#define IDAStatics_UnionGeometry(This,g1_0,g2_1,ret_2)	\
    (This)->lpVtbl -> UnionGeometry(This,g1_0,g2_1,ret_2)

#define IDAStatics_UnionGeometryArrayEx(This,imgs_0size,imgs_0,ret_1)	\
    (This)->lpVtbl -> UnionGeometryArrayEx(This,imgs_0size,imgs_0,ret_1)

#define IDAStatics_UnionGeometryArray(This,imgs_0,ret_1)	\
    (This)->lpVtbl -> UnionGeometryArray(This,imgs_0,ret_1)

#define IDAStatics_get_EmptyImage(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyImage(This,ret_0)

#define IDAStatics_get_DetectableEmptyImage(This,ret_0)	\
    (This)->lpVtbl -> get_DetectableEmptyImage(This,ret_0)

#define IDAStatics_SolidColorImage(This,col_0,ret_1)	\
    (This)->lpVtbl -> SolidColorImage(This,col_0,ret_1)

#define IDAStatics_GradientPolygonEx(This,points_0size,points_0,colors_1size,colors_1,ret_2)	\
    (This)->lpVtbl -> GradientPolygonEx(This,points_0size,points_0,colors_1size,colors_1,ret_2)

#define IDAStatics_GradientPolygon(This,points_0,colors_1,ret_2)	\
    (This)->lpVtbl -> GradientPolygon(This,points_0,colors_1,ret_2)

#define IDAStatics_RadialGradientPolygonEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)

#define IDAStatics_RadialGradientPolygon(This,inner_0,outer_1,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygon(This,inner_0,outer_1,points_2,fallOff_3,ret_4)

#define IDAStatics_RadialGradientPolygonAnimEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonAnimEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)

#define IDAStatics_RadialGradientPolygonAnim(This,inner_0,outer_1,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonAnim(This,inner_0,outer_1,points_2,fallOff_3,ret_4)

#define IDAStatics_GradientSquare(This,lowerLeft_0,upperLeft_1,upperRight_2,lowerRight_3,ret_4)	\
    (This)->lpVtbl -> GradientSquare(This,lowerLeft_0,upperLeft_1,upperRight_2,lowerRight_3,ret_4)

#define IDAStatics_RadialGradientSquare(This,inner_0,outer_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> RadialGradientSquare(This,inner_0,outer_1,fallOff_2,ret_3)

#define IDAStatics_RadialGradientSquareAnim(This,inner_0,outer_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> RadialGradientSquareAnim(This,inner_0,outer_1,fallOff_2,ret_3)

#define IDAStatics_RadialGradientRegularPoly(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientRegularPoly(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)

#define IDAStatics_RadialGradientRegularPolyAnim(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientRegularPolyAnim(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)

#define IDAStatics_GradientHorizontal(This,start_0,stop_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> GradientHorizontal(This,start_0,stop_1,fallOff_2,ret_3)

#define IDAStatics_GradientHorizontalAnim(This,start_0,stop_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> GradientHorizontalAnim(This,start_0,stop_1,fallOff_2,ret_3)

#define IDAStatics_HatchHorizontal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchHorizontal(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchHorizontalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchHorizontalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchVertical(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchVertical(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchVerticalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchVerticalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchForwardDiagonal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchForwardDiagonal(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchForwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchForwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchBackwardDiagonal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchBackwardDiagonal(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchBackwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchBackwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchCross(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchCross(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchCrossAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchCrossAnim(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchDiagonalCross(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchDiagonalCross(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_HatchDiagonalCrossAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchDiagonalCrossAnim(This,lineClr_0,spacing_1,ret_2)

#define IDAStatics_Overlay(This,top_0,bottom_1,ret_2)	\
    (This)->lpVtbl -> Overlay(This,top_0,bottom_1,ret_2)

#define IDAStatics_OverlayArrayEx(This,imgs_0size,imgs_0,ret_1)	\
    (This)->lpVtbl -> OverlayArrayEx(This,imgs_0size,imgs_0,ret_1)

#define IDAStatics_OverlayArray(This,imgs_0,ret_1)	\
    (This)->lpVtbl -> OverlayArray(This,imgs_0,ret_1)

#define IDAStatics_get_AmbientLight(This,ret_0)	\
    (This)->lpVtbl -> get_AmbientLight(This,ret_0)

#define IDAStatics_get_DirectionalLight(This,ret_0)	\
    (This)->lpVtbl -> get_DirectionalLight(This,ret_0)

#define IDAStatics_get_PointLight(This,ret_0)	\
    (This)->lpVtbl -> get_PointLight(This,ret_0)

#define IDAStatics_SpotLightAnim(This,fullcone_0,cutoff_1,ret_2)	\
    (This)->lpVtbl -> SpotLightAnim(This,fullcone_0,cutoff_1,ret_2)

#define IDAStatics_SpotLight(This,fullcone_0,cutoff_1,ret_2)	\
    (This)->lpVtbl -> SpotLight(This,fullcone_0,cutoff_1,ret_2)

#define IDAStatics_get_DefaultLineStyle(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultLineStyle(This,ret_0)

#define IDAStatics_get_EmptyLineStyle(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyLineStyle(This,ret_0)

#define IDAStatics_get_JoinStyleBevel(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleBevel(This,ret_0)

#define IDAStatics_get_JoinStyleRound(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleRound(This,ret_0)

#define IDAStatics_get_JoinStyleMiter(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleMiter(This,ret_0)

#define IDAStatics_get_EndStyleFlat(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleFlat(This,ret_0)

#define IDAStatics_get_EndStyleSquare(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleSquare(This,ret_0)

#define IDAStatics_get_EndStyleRound(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleRound(This,ret_0)

#define IDAStatics_get_DashStyleSolid(This,ret_0)	\
    (This)->lpVtbl -> get_DashStyleSolid(This,ret_0)

#define IDAStatics_get_DashStyleDashed(This,ret_0)	\
    (This)->lpVtbl -> get_DashStyleDashed(This,ret_0)

#define IDAStatics_get_DefaultMicrophone(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultMicrophone(This,ret_0)

#define IDAStatics_get_OpaqueMatte(This,ret_0)	\
    (This)->lpVtbl -> get_OpaqueMatte(This,ret_0)

#define IDAStatics_get_ClearMatte(This,ret_0)	\
    (This)->lpVtbl -> get_ClearMatte(This,ret_0)

#define IDAStatics_UnionMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> UnionMatte(This,m1_0,m2_1,ret_2)

#define IDAStatics_IntersectMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> IntersectMatte(This,m1_0,m2_1,ret_2)

#define IDAStatics_DifferenceMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> DifferenceMatte(This,m1_0,m2_1,ret_2)

#define IDAStatics_FillMatte(This,p_0,ret_1)	\
    (This)->lpVtbl -> FillMatte(This,p_0,ret_1)

#define IDAStatics_TextMatte(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> TextMatte(This,str_0,fs_1,ret_2)

#define IDAStatics_get_EmptyMontage(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyMontage(This,ret_0)

#define IDAStatics_ImageMontage(This,im_0,depth_1,ret_2)	\
    (This)->lpVtbl -> ImageMontage(This,im_0,depth_1,ret_2)

#define IDAStatics_ImageMontageAnim(This,im_0,depth_1,ret_2)	\
    (This)->lpVtbl -> ImageMontageAnim(This,im_0,depth_1,ret_2)

#define IDAStatics_UnionMontage(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> UnionMontage(This,m1_0,m2_1,ret_2)

#define IDAStatics_Concat(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> Concat(This,p1_0,p2_1,ret_2)

#define IDAStatics_ConcatArrayEx(This,paths_0size,paths_0,ret_1)	\
    (This)->lpVtbl -> ConcatArrayEx(This,paths_0size,paths_0,ret_1)

#define IDAStatics_ConcatArray(This,paths_0,ret_1)	\
    (This)->lpVtbl -> ConcatArray(This,paths_0,ret_1)

#define IDAStatics_Line(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> Line(This,p1_0,p2_1,ret_2)

#define IDAStatics_Ray(This,pt_0,ret_1)	\
    (This)->lpVtbl -> Ray(This,pt_0,ret_1)

#define IDAStatics_StringPathAnim(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringPathAnim(This,str_0,fs_1,ret_2)

#define IDAStatics_StringPath(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringPath(This,str_0,fs_1,ret_2)

#define IDAStatics_PolylineEx(This,points_0size,points_0,ret_1)	\
    (This)->lpVtbl -> PolylineEx(This,points_0size,points_0,ret_1)

#define IDAStatics_Polyline(This,points_0,ret_1)	\
    (This)->lpVtbl -> Polyline(This,points_0,ret_1)

#define IDAStatics_PolydrawPathEx(This,points_0size,points_0,codes_1size,codes_1,ret_2)	\
    (This)->lpVtbl -> PolydrawPathEx(This,points_0size,points_0,codes_1size,codes_1,ret_2)

#define IDAStatics_PolydrawPath(This,points_0,codes_1,ret_2)	\
    (This)->lpVtbl -> PolydrawPath(This,points_0,codes_1,ret_2)

#define IDAStatics_ArcRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDAStatics_ArcRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDAStatics_ArcDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDAStatics_PieRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDAStatics_PieRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDAStatics_PieDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDAStatics_Oval(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> Oval(This,width_0,height_1,ret_2)

#define IDAStatics_OvalAnim(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> OvalAnim(This,width_0,height_1,ret_2)

#define IDAStatics_Rect(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> Rect(This,width_0,height_1,ret_2)

#define IDAStatics_RectAnim(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> RectAnim(This,width_0,height_1,ret_2)

#define IDAStatics_RoundRect(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)	\
    (This)->lpVtbl -> RoundRect(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)

#define IDAStatics_RoundRectAnim(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)	\
    (This)->lpVtbl -> RoundRectAnim(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)

#define IDAStatics_CubicBSplinePathEx(This,points_0size,points_0,knots_1size,knots_1,ret_2)	\
    (This)->lpVtbl -> CubicBSplinePathEx(This,points_0size,points_0,knots_1size,knots_1,ret_2)

#define IDAStatics_CubicBSplinePath(This,points_0,knots_1,ret_2)	\
    (This)->lpVtbl -> CubicBSplinePath(This,points_0,knots_1,ret_2)

#define IDAStatics_TextPath(This,obsolete1_0,obsolete2_1,ret_2)	\
    (This)->lpVtbl -> TextPath(This,obsolete1_0,obsolete2_1,ret_2)

#define IDAStatics_get_Silence(This,ret_0)	\
    (This)->lpVtbl -> get_Silence(This,ret_0)

#define IDAStatics_MixArrayEx(This,snds_0size,snds_0,ret_1)	\
    (This)->lpVtbl -> MixArrayEx(This,snds_0size,snds_0,ret_1)

#define IDAStatics_MixArray(This,snds_0,ret_1)	\
    (This)->lpVtbl -> MixArray(This,snds_0,ret_1)

#define IDAStatics_get_SinSynth(This,ret_0)	\
    (This)->lpVtbl -> get_SinSynth(This,ret_0)

#define IDAStatics_get_DefaultFont(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultFont(This,ret_0)

#define IDAStatics_FontAnim(This,str_0,size_1,col_2,ret_3)	\
    (This)->lpVtbl -> FontAnim(This,str_0,size_1,col_2,ret_3)

#define IDAStatics_Font(This,str_0,size_1,col_2,ret_3)	\
    (This)->lpVtbl -> Font(This,str_0,size_1,col_2,ret_3)

#define IDAStatics_StringImageAnim(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringImageAnim(This,str_0,fs_1,ret_2)

#define IDAStatics_StringImage(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringImage(This,str_0,fs_1,ret_2)

#define IDAStatics_TextImageAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> TextImageAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDAStatics_TextImage(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> TextImage(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDAStatics_get_XVector2(This,ret_0)	\
    (This)->lpVtbl -> get_XVector2(This,ret_0)

#define IDAStatics_get_YVector2(This,ret_0)	\
    (This)->lpVtbl -> get_YVector2(This,ret_0)

#define IDAStatics_get_ZeroVector2(This,ret_0)	\
    (This)->lpVtbl -> get_ZeroVector2(This,ret_0)

#define IDAStatics_get_Origin2(This,ret_0)	\
    (This)->lpVtbl -> get_Origin2(This,ret_0)

#define IDAStatics_Vector2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Vector2Anim(This,x_0,y_1,ret_2)

#define IDAStatics_Vector2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Vector2(This,x_0,y_1,ret_2)

#define IDAStatics_Point2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Point2Anim(This,x_0,y_1,ret_2)

#define IDAStatics_Point2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Point2(This,x_0,y_1,ret_2)

#define IDAStatics_Vector2PolarAnim(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2PolarAnim(This,theta_0,radius_1,ret_2)

#define IDAStatics_Vector2Polar(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2Polar(This,theta_0,radius_1,ret_2)

#define IDAStatics_Vector2PolarDegrees(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2PolarDegrees(This,theta_0,radius_1,ret_2)

#define IDAStatics_Point2PolarAnim(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Point2PolarAnim(This,theta_0,radius_1,ret_2)

#define IDAStatics_Point2Polar(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Point2Polar(This,theta_0,radius_1,ret_2)

#define IDAStatics_DotVector2(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> DotVector2(This,v_0,u_1,ret_2)

#define IDAStatics_NegVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> NegVector2(This,v_0,ret_1)

#define IDAStatics_SubVector2(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> SubVector2(This,v1_0,v2_1,ret_2)

#define IDAStatics_AddVector2(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> AddVector2(This,v1_0,v2_1,ret_2)

#define IDAStatics_AddPoint2Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> AddPoint2Vector(This,p_0,v_1,ret_2)

#define IDAStatics_SubPoint2Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> SubPoint2Vector(This,p_0,v_1,ret_2)

#define IDAStatics_SubPoint2(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> SubPoint2(This,p1_0,p2_1,ret_2)

#define IDAStatics_DistancePoint2(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistancePoint2(This,p_0,q_1,ret_2)

#define IDAStatics_DistanceSquaredPoint2(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistanceSquaredPoint2(This,p_0,q_1,ret_2)

#define IDAStatics_get_XVector3(This,ret_0)	\
    (This)->lpVtbl -> get_XVector3(This,ret_0)

#define IDAStatics_get_YVector3(This,ret_0)	\
    (This)->lpVtbl -> get_YVector3(This,ret_0)

#define IDAStatics_get_ZVector3(This,ret_0)	\
    (This)->lpVtbl -> get_ZVector3(This,ret_0)

#define IDAStatics_get_ZeroVector3(This,ret_0)	\
    (This)->lpVtbl -> get_ZeroVector3(This,ret_0)

#define IDAStatics_get_Origin3(This,ret_0)	\
    (This)->lpVtbl -> get_Origin3(This,ret_0)

#define IDAStatics_Vector3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Vector3Anim(This,x_0,y_1,z_2,ret_3)

#define IDAStatics_Vector3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Vector3(This,x_0,y_1,z_2,ret_3)

#define IDAStatics_Point3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Point3Anim(This,x_0,y_1,z_2,ret_3)

#define IDAStatics_Point3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Point3(This,x_0,y_1,z_2,ret_3)

#define IDAStatics_Vector3SphericalAnim(This,xyAngle_0,yzAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Vector3SphericalAnim(This,xyAngle_0,yzAngle_1,radius_2,ret_3)

#define IDAStatics_Vector3Spherical(This,xyAngle_0,yzAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Vector3Spherical(This,xyAngle_0,yzAngle_1,radius_2,ret_3)

#define IDAStatics_Point3SphericalAnim(This,zxAngle_0,xyAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Point3SphericalAnim(This,zxAngle_0,xyAngle_1,radius_2,ret_3)

#define IDAStatics_Point3Spherical(This,zxAngle_0,xyAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Point3Spherical(This,zxAngle_0,xyAngle_1,radius_2,ret_3)

#define IDAStatics_DotVector3(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> DotVector3(This,v_0,u_1,ret_2)

#define IDAStatics_CrossVector3(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> CrossVector3(This,v_0,u_1,ret_2)

#define IDAStatics_NegVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> NegVector3(This,v_0,ret_1)

#define IDAStatics_SubVector3(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> SubVector3(This,v1_0,v2_1,ret_2)

#define IDAStatics_AddVector3(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> AddVector3(This,v1_0,v2_1,ret_2)

#define IDAStatics_AddPoint3Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> AddPoint3Vector(This,p_0,v_1,ret_2)

#define IDAStatics_SubPoint3Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> SubPoint3Vector(This,p_0,v_1,ret_2)

#define IDAStatics_SubPoint3(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> SubPoint3(This,p1_0,p2_1,ret_2)

#define IDAStatics_DistancePoint3(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistancePoint3(This,p_0,q_1,ret_2)

#define IDAStatics_DistanceSquaredPoint3(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistanceSquaredPoint3(This,p_0,q_1,ret_2)

#define IDAStatics_get_IdentityTransform3(This,ret_0)	\
    (This)->lpVtbl -> get_IdentityTransform3(This,ret_0)

#define IDAStatics_Translate3Anim(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3Anim(This,tx_0,ty_1,tz_2,ret_3)

#define IDAStatics_Translate3(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3(This,tx_0,ty_1,tz_2,ret_3)

#define IDAStatics_Translate3Rate(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3Rate(This,tx_0,ty_1,tz_2,ret_3)

#define IDAStatics_Translate3Vector(This,delta_0,ret_1)	\
    (This)->lpVtbl -> Translate3Vector(This,delta_0,ret_1)

#define IDAStatics_Translate3Point(This,new_origin_0,ret_1)	\
    (This)->lpVtbl -> Translate3Point(This,new_origin_0,ret_1)

#define IDAStatics_Scale3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3Anim(This,x_0,y_1,z_2,ret_3)

#define IDAStatics_Scale3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3(This,x_0,y_1,z_2,ret_3)

#define IDAStatics_Scale3Rate(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3Rate(This,x_0,y_1,z_2,ret_3)

#define IDAStatics_Scale3Vector(This,scale_vec_0,ret_1)	\
    (This)->lpVtbl -> Scale3Vector(This,scale_vec_0,ret_1)

#define IDAStatics_Scale3UniformAnim(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3UniformAnim(This,uniform_scale_0,ret_1)

#define IDAStatics_Scale3Uniform(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3Uniform(This,uniform_scale_0,ret_1)

#define IDAStatics_Scale3UniformRate(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3UniformRate(This,uniform_scale_0,ret_1)

#define IDAStatics_Rotate3Anim(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Anim(This,axis_0,angle_1,ret_2)

#define IDAStatics_Rotate3(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3(This,axis_0,angle_1,ret_2)

#define IDAStatics_Rotate3Rate(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Rate(This,axis_0,angle_1,ret_2)

#define IDAStatics_Rotate3Degrees(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Degrees(This,axis_0,angle_1,ret_2)

#define IDAStatics_Rotate3RateDegrees(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3RateDegrees(This,axis_0,angle_1,ret_2)

#define IDAStatics_XShear3Anim(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3Anim(This,a_0,b_1,ret_2)

#define IDAStatics_XShear3(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3(This,a_0,b_1,ret_2)

#define IDAStatics_XShear3Rate(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3Rate(This,a_0,b_1,ret_2)

#define IDAStatics_YShear3Anim(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3Anim(This,c_0,d_1,ret_2)

#define IDAStatics_YShear3(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3(This,c_0,d_1,ret_2)

#define IDAStatics_YShear3Rate(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3Rate(This,c_0,d_1,ret_2)

#define IDAStatics_ZShear3Anim(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3Anim(This,e_0,f_1,ret_2)

#define IDAStatics_ZShear3(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3(This,e_0,f_1,ret_2)

#define IDAStatics_ZShear3Rate(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3Rate(This,e_0,f_1,ret_2)

#define IDAStatics_Transform4x4AnimEx(This,m_0size,m_0,ret_1)	\
    (This)->lpVtbl -> Transform4x4AnimEx(This,m_0size,m_0,ret_1)

#define IDAStatics_Transform4x4Anim(This,m_0,ret_1)	\
    (This)->lpVtbl -> Transform4x4Anim(This,m_0,ret_1)

#define IDAStatics_Compose3(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Compose3(This,a_0,b_1,ret_2)

#define IDAStatics_Compose3ArrayEx(This,xfs_0size,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose3ArrayEx(This,xfs_0size,xfs_0,ret_1)

#define IDAStatics_Compose3Array(This,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose3Array(This,xfs_0,ret_1)

#define IDAStatics_LookAtFrom(This,to_0,from_1,up_2,ret_3)	\
    (This)->lpVtbl -> LookAtFrom(This,to_0,from_1,up_2,ret_3)

#define IDAStatics_get_IdentityTransform2(This,ret_0)	\
    (This)->lpVtbl -> get_IdentityTransform2(This,ret_0)

#define IDAStatics_Translate2Anim(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2Anim(This,Tx_0,Ty_1,ret_2)

#define IDAStatics_Translate2(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2(This,Tx_0,Ty_1,ret_2)

#define IDAStatics_Translate2Rate(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2Rate(This,Tx_0,Ty_1,ret_2)

#define IDAStatics_Translate2Vector(This,delta_0,ret_1)	\
    (This)->lpVtbl -> Translate2Vector(This,delta_0,ret_1)

#define IDAStatics_Translate2Point(This,pos_0,ret_1)	\
    (This)->lpVtbl -> Translate2Point(This,pos_0,ret_1)

#define IDAStatics_Scale2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2Anim(This,x_0,y_1,ret_2)

#define IDAStatics_Scale2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2(This,x_0,y_1,ret_2)

#define IDAStatics_Scale2Rate(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2Rate(This,x_0,y_1,ret_2)

#define IDAStatics_Scale2Vector2(This,obsoleteMethod_0,ret_1)	\
    (This)->lpVtbl -> Scale2Vector2(This,obsoleteMethod_0,ret_1)

#define IDAStatics_Scale2Vector(This,scale_vec_0,ret_1)	\
    (This)->lpVtbl -> Scale2Vector(This,scale_vec_0,ret_1)

#define IDAStatics_Scale2UniformAnim(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2UniformAnim(This,uniform_scale_0,ret_1)

#define IDAStatics_Scale2Uniform(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2Uniform(This,uniform_scale_0,ret_1)

#define IDAStatics_Scale2UniformRate(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2UniformRate(This,uniform_scale_0,ret_1)

#define IDAStatics_Rotate2Anim(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Anim(This,angle_0,ret_1)

#define IDAStatics_Rotate2(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2(This,angle_0,ret_1)

#define IDAStatics_Rotate2Rate(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Rate(This,angle_0,ret_1)

#define IDAStatics_Rotate2Degrees(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Degrees(This,angle_0,ret_1)

#define IDAStatics_Rotate2RateDegrees(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2RateDegrees(This,angle_0,ret_1)

#define IDAStatics_XShear2Anim(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2Anim(This,arg_0,ret_1)

#define IDAStatics_XShear2(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2(This,arg_0,ret_1)

#define IDAStatics_XShear2Rate(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2Rate(This,arg_0,ret_1)

#define IDAStatics_YShear2Anim(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2Anim(This,arg_0,ret_1)

#define IDAStatics_YShear2(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2(This,arg_0,ret_1)

#define IDAStatics_YShear2Rate(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2Rate(This,arg_0,ret_1)

#define IDAStatics_Transform3x2AnimEx(This,m_0size,m_0,ret_1)	\
    (This)->lpVtbl -> Transform3x2AnimEx(This,m_0size,m_0,ret_1)

#define IDAStatics_Transform3x2Anim(This,m_0,ret_1)	\
    (This)->lpVtbl -> Transform3x2Anim(This,m_0,ret_1)

#define IDAStatics_Compose2(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Compose2(This,a_0,b_1,ret_2)

#define IDAStatics_Compose2ArrayEx(This,xfs_0size,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose2ArrayEx(This,xfs_0size,xfs_0,ret_1)

#define IDAStatics_Compose2Array(This,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose2Array(This,xfs_0,ret_1)

#define IDAStatics_Tuple(This,obsolete1,obsolete2)	\
    (This)->lpVtbl -> Tuple(This,obsolete1,obsolete2)

#define IDAStatics_Array(This,obsolete1,obsolete2)	\
    (This)->lpVtbl -> Array(This,obsolete1,obsolete2)

#define IDAStatics_get_AreBlockingImportsComplete(This,bComplete)	\
    (This)->lpVtbl -> get_AreBlockingImportsComplete(This,bComplete)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_VersionString_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ BSTR *str);


void __RPC_STUB IDAStatics_get_VersionString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Site_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDASite **pSite);


void __RPC_STUB IDAStatics_get_Site_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAStatics_put_Site_Proxy( 
    IDAStatics * This,
    /* [in] */ IDASite *pSite);


void __RPC_STUB IDAStatics_put_Site_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAStatics_put_ClientSite_Proxy( 
    IDAStatics * This,
    /* [in] */ IOleClientSite *pClientSite);


void __RPC_STUB IDAStatics_put_ClientSite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_ClientSite_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IOleClientSite **pClientSite);


void __RPC_STUB IDAStatics_get_ClientSite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAStatics_put_PixelConstructionMode_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT_BOOL bMode);


void __RPC_STUB IDAStatics_put_PixelConstructionMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_PixelConstructionMode_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ VARIANT_BOOL *bMode);


void __RPC_STUB IDAStatics_get_PixelConstructionMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_TriggerEvent_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAEvent *event,
    /* [in] */ IDABehavior *data);


void __RPC_STUB IDAStatics_TriggerEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_NewDrawingSurface_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDADrawingSurface **pds);


void __RPC_STUB IDAStatics_NewDrawingSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportMovie_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDAStatics_ImportMovie_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportMovieAsync_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [in] */ IDAImage *pImageStandIn,
    /* [in] */ IDASound *pSoundStandIn,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDAStatics_ImportMovieAsync_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportImage_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IDAImage **ppImage);


void __RPC_STUB IDAStatics_ImportImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportImageAsync_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [in] */ IDAImage *pImageStandIn,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDAStatics_ImportImageAsync_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportImageColorKey_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [in] */ BYTE colorKeyRed,
    /* [in] */ BYTE colorKeyGreen,
    /* [in] */ BYTE colorKeyBlue,
    /* [retval][out] */ IDAImage **ppImage);


void __RPC_STUB IDAStatics_ImportImageColorKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportImageAsyncColorKey_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [in] */ IDAImage *pImageStandIn,
    /* [in] */ BYTE colorKeyRed,
    /* [in] */ BYTE colorKeyGreen,
    /* [in] */ BYTE colorKeyBlue,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDAStatics_ImportImageAsyncColorKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportSound_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDAStatics_ImportSound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportSoundAsync_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [in] */ IDASound *pSoundStandIn,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDAStatics_ImportSoundAsync_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportGeometry_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IDAGeometry **ppGeometry);


void __RPC_STUB IDAStatics_ImportGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportGeometryAsync_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR url,
    /* [in] */ IDAGeometry *pGeoStandIn,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDAStatics_ImportGeometryAsync_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImportDirectDrawSurface_Proxy( 
    IDAStatics * This,
    /* [in] */ IUnknown *dds,
    /* [in] */ IDAEvent *updateEvent,
    /* [retval][out] */ IDAImage **ppImage);


void __RPC_STUB IDAStatics_ImportDirectDrawSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Cond_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABoolean *c,
    /* [in] */ IDABehavior *i,
    /* [in] */ IDABehavior *e,
    /* [retval][out] */ IDABehavior **pCondBvr);


void __RPC_STUB IDAStatics_Cond_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_DAArrayEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG s,
    /* [size_is][in] */ IDABehavior *pBvrs[  ],
    /* [retval][out] */ IDAArray **bvr);


void __RPC_STUB IDAStatics_DAArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DAArray_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT bvrs,
    /* [retval][out] */ IDAArray **bvr);


void __RPC_STUB IDAStatics_DAArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_DATupleEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG s,
    /* [size_is][in] */ IDABehavior *pBvrs[  ],
    /* [retval][out] */ IDATuple **bvr);


void __RPC_STUB IDAStatics_DATupleEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DATuple_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT bvrs,
    /* [retval][out] */ IDATuple **bvr);


void __RPC_STUB IDAStatics_DATuple_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ModifiableBehavior_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABehavior *orig,
    /* [retval][out] */ IDABehavior **bvr);


void __RPC_STUB IDAStatics_ModifiableBehavior_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UninitializedArray_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAArray *typeTmp,
    /* [retval][out] */ IDAArray **bvr);


void __RPC_STUB IDAStatics_UninitializedArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UninitializedTuple_Proxy( 
    IDAStatics * This,
    /* [in] */ IDATuple *typeTmp,
    /* [retval][out] */ IDATuple **bvr);


void __RPC_STUB IDAStatics_UninitializedTuple_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_NumberBSplineEx_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ LONG numKnots,
    /* [size_is][in] */ IDANumber *knots[  ],
    /* [in] */ LONG numPts,
    /* [size_is][in] */ IDANumber *ctrlPts[  ],
    /* [in] */ LONG numWts,
    /* [size_is][in] */ IDANumber *weights[  ],
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDANumber **bvr);


void __RPC_STUB IDAStatics_NumberBSplineEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_NumberBSpline_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ VARIANT knots,
    /* [in] */ VARIANT CtrlPts,
    /* [in] */ VARIANT weights,
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDANumber **bvr);


void __RPC_STUB IDAStatics_NumberBSpline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Point2BSplineEx_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ LONG numKnots,
    /* [size_is][in] */ IDANumber *knots[  ],
    /* [in] */ LONG numPts,
    /* [size_is][in] */ IDAPoint2 *ctrlPts[  ],
    /* [in] */ LONG numWts,
    /* [size_is][in] */ IDANumber *weights[  ],
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAPoint2 **bvr);


void __RPC_STUB IDAStatics_Point2BSplineEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point2BSpline_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ VARIANT knots,
    /* [in] */ VARIANT CtrlPts,
    /* [in] */ VARIANT weights,
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAPoint2 **bvr);


void __RPC_STUB IDAStatics_Point2BSpline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Point3BSplineEx_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ LONG numKnots,
    /* [size_is][in] */ IDANumber *knots[  ],
    /* [in] */ LONG numPts,
    /* [size_is][in] */ IDAPoint3 *ctrlPts[  ],
    /* [in] */ LONG numWts,
    /* [size_is][in] */ IDANumber *weights[  ],
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAPoint3 **bvr);


void __RPC_STUB IDAStatics_Point3BSplineEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point3BSpline_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ VARIANT knots,
    /* [in] */ VARIANT CtrlPts,
    /* [in] */ VARIANT weights,
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAPoint3 **bvr);


void __RPC_STUB IDAStatics_Point3BSpline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Vector2BSplineEx_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ LONG numKnots,
    /* [size_is][in] */ IDANumber *knots[  ],
    /* [in] */ LONG numPts,
    /* [size_is][in] */ IDAVector2 *ctrlPts[  ],
    /* [in] */ LONG numWts,
    /* [size_is][in] */ IDANumber *weights[  ],
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAVector2 **bvr);


void __RPC_STUB IDAStatics_Vector2BSplineEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector2BSpline_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ VARIANT knots,
    /* [in] */ VARIANT CtrlPts,
    /* [in] */ VARIANT weights,
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAVector2 **bvr);


void __RPC_STUB IDAStatics_Vector2BSpline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Vector3BSplineEx_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ LONG numKnots,
    /* [size_is][in] */ IDANumber *knots[  ],
    /* [in] */ LONG numPts,
    /* [size_is][in] */ IDAVector3 *ctrlPts[  ],
    /* [in] */ LONG numWts,
    /* [size_is][in] */ IDANumber *weights[  ],
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAVector3 **bvr);


void __RPC_STUB IDAStatics_Vector3BSplineEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector3BSpline_Proxy( 
    IDAStatics * This,
    /* [in] */ int degree,
    /* [in] */ VARIANT knots,
    /* [in] */ VARIANT CtrlPts,
    /* [in] */ VARIANT weights,
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDAVector3 **bvr);


void __RPC_STUB IDAStatics_Vector3BSpline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Pow_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_Pow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Abs_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Abs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Sqrt_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Sqrt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Floor_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Floor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Round_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Round_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Ceiling_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Ceiling_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Asin_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Asin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Acos_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Acos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Atan_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Atan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Sin_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Sin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Cos_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Cos_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Tan_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Tan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Exp_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Exp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Ln_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Ln_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Log10_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Log10_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ToDegrees_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_ToDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ToRadians_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_ToRadians_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Mod_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_Mod_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Atan2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_Atan2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Add_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Sub_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_Sub_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Mul_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_Mul_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Div_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_Div_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_LT_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_LT_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_LTE_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_LTE_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_GT_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_GT_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_GTE_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_GTE_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_EQ_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_EQ_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_NE_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_NE_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Neg_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Neg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_InterpolateAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *from_0,
    /* [in] */ IDANumber *to_1,
    /* [in] */ IDANumber *duration_2,
    /* [retval][out] */ IDANumber **ret_3);


void __RPC_STUB IDAStatics_InterpolateAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Interpolate_Proxy( 
    IDAStatics * This,
    /* [in] */ double from_0,
    /* [in] */ double to_1,
    /* [in] */ double duration_2,
    /* [retval][out] */ IDANumber **ret_3);


void __RPC_STUB IDAStatics_Interpolate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SlowInSlowOutAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *from_0,
    /* [in] */ IDANumber *to_1,
    /* [in] */ IDANumber *duration_2,
    /* [in] */ IDANumber *sharpness_3,
    /* [retval][out] */ IDANumber **ret_4);


void __RPC_STUB IDAStatics_SlowInSlowOutAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SlowInSlowOut_Proxy( 
    IDAStatics * This,
    /* [in] */ double from_0,
    /* [in] */ double to_1,
    /* [in] */ double duration_2,
    /* [in] */ double sharpness_3,
    /* [retval][out] */ IDANumber **ret_4);


void __RPC_STUB IDAStatics_SlowInSlowOut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SoundSource_Proxy( 
    IDAStatics * This,
    /* [in] */ IDASound *snd_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAStatics_SoundSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Mix_Proxy( 
    IDAStatics * This,
    /* [in] */ IDASound *left_0,
    /* [in] */ IDASound *right_1,
    /* [retval][out] */ IDASound **ret_2);


void __RPC_STUB IDAStatics_Mix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_And_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABoolean *a_0,
    /* [in] */ IDABoolean *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_And_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Or_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABoolean *a_0,
    /* [in] */ IDABoolean *b_1,
    /* [retval][out] */ IDABoolean **ret_2);


void __RPC_STUB IDAStatics_Or_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Not_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABoolean *a_0,
    /* [retval][out] */ IDABoolean **ret_1);


void __RPC_STUB IDAStatics_Not_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Integral_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *b_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Integral_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Derivative_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *b_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_Derivative_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_IntegralVector2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *v_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAStatics_IntegralVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_IntegralVector3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *v_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAStatics_IntegralVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DerivativeVector2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *v_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAStatics_DerivativeVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DerivativeVector3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *v_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAStatics_DerivativeVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DerivativePoint2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *v_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAStatics_DerivativePoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DerivativePoint3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *v_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAStatics_DerivativePoint3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_KeyState_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *n_0,
    /* [retval][out] */ IDABoolean **ret_1);


void __RPC_STUB IDAStatics_KeyState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_KeyUp_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG arg_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAStatics_KeyUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_KeyDown_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG arg_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAStatics_KeyDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DANumber_Proxy( 
    IDAStatics * This,
    /* [in] */ double num_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_DANumber_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DAString_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR str_0,
    /* [retval][out] */ IDAString **ret_1);


void __RPC_STUB IDAStatics_DAString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DABoolean_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT_BOOL num_0,
    /* [retval][out] */ IDABoolean **ret_1);


void __RPC_STUB IDAStatics_DABoolean_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SeededRandom_Proxy( 
    IDAStatics * This,
    /* [in] */ double arg_0,
    /* [retval][out] */ IDANumber **ret_1);


void __RPC_STUB IDAStatics_SeededRandom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_MousePosition_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAPoint2 **ret_0);


void __RPC_STUB IDAStatics_get_MousePosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_LeftButtonState_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDABoolean **ret_0);


void __RPC_STUB IDAStatics_get_LeftButtonState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_RightButtonState_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDABoolean **ret_0);


void __RPC_STUB IDAStatics_get_RightButtonState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DATrue_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDABoolean **ret_0);


void __RPC_STUB IDAStatics_get_DATrue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DAFalse_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDABoolean **ret_0);


void __RPC_STUB IDAStatics_get_DAFalse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_LocalTime_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAStatics_get_LocalTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_GlobalTime_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAStatics_get_GlobalTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Pixel_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDAStatics_get_Pixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UserData_Proxy( 
    IDAStatics * This,
    /* [in] */ IUnknown *data_0,
    /* [retval][out] */ IDAUserData **ret_1);


void __RPC_STUB IDAStatics_UserData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UntilNotify_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABehavior *b0_0,
    /* [in] */ IDAEvent *event_1,
    /* [in] */ IDAUntilNotifier *notifier_2,
    /* [retval][out] */ IDABehavior **ret_3);


void __RPC_STUB IDAStatics_UntilNotify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Until_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABehavior *b0_0,
    /* [in] */ IDAEvent *event_1,
    /* [in] */ IDABehavior *b1_2,
    /* [retval][out] */ IDABehavior **ret_3);


void __RPC_STUB IDAStatics_Until_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UntilEx_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABehavior *b0_0,
    /* [in] */ IDAEvent *event_1,
    /* [retval][out] */ IDABehavior **ret_2);


void __RPC_STUB IDAStatics_UntilEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Sequence_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABehavior *s1_0,
    /* [in] */ IDABehavior *s2_1,
    /* [retval][out] */ IDABehavior **ret_2);


void __RPC_STUB IDAStatics_Sequence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPath_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *path_0,
    /* [in] */ double duration_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathAngle_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *path_0,
    /* [in] */ double duration_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathAngleUpright_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *path_0,
    /* [in] */ double duration_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathAngleUpright_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathEval_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *path_0,
    /* [in] */ IDANumber *eval_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathEval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathAngleEval_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *path_0,
    /* [in] */ IDANumber *eval_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathAngleEval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathAngleUprightEval_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *path_0,
    /* [in] */ IDANumber *eval_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathAngleUprightEval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *obsoleted1_0,
    /* [in] */ IDANumber *obsoleted2_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathAngleAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *obsoleted1_0,
    /* [in] */ IDANumber *obsoleted2_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathAngleAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FollowPathAngleUprightAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *obsoleted1_0,
    /* [in] */ IDANumber *obsoleted2_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_FollowPathAngleUprightAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ConcatString_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAString *s1_0,
    /* [in] */ IDAString *s2_1,
    /* [retval][out] */ IDAString **ret_2);


void __RPC_STUB IDAStatics_ConcatString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_PerspectiveCamera_Proxy( 
    IDAStatics * This,
    /* [in] */ double focalDist_0,
    /* [in] */ double nearClip_1,
    /* [retval][out] */ IDACamera **ret_2);


void __RPC_STUB IDAStatics_PerspectiveCamera_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_PerspectiveCameraAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *focalDist_0,
    /* [in] */ IDANumber *nearClip_1,
    /* [retval][out] */ IDACamera **ret_2);


void __RPC_STUB IDAStatics_PerspectiveCameraAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ParallelCamera_Proxy( 
    IDAStatics * This,
    /* [in] */ double nearClip_0,
    /* [retval][out] */ IDACamera **ret_1);


void __RPC_STUB IDAStatics_ParallelCamera_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ParallelCameraAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *nearClip_0,
    /* [retval][out] */ IDACamera **ret_1);


void __RPC_STUB IDAStatics_ParallelCameraAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ColorRgbAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *red_0,
    /* [in] */ IDANumber *green_1,
    /* [in] */ IDANumber *blue_2,
    /* [retval][out] */ IDAColor **ret_3);


void __RPC_STUB IDAStatics_ColorRgbAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ColorRgb_Proxy( 
    IDAStatics * This,
    /* [in] */ double red_0,
    /* [in] */ double green_1,
    /* [in] */ double blue_2,
    /* [retval][out] */ IDAColor **ret_3);


void __RPC_STUB IDAStatics_ColorRgb_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ColorRgb255_Proxy( 
    IDAStatics * This,
    /* [in] */ short red_0,
    /* [in] */ short green_1,
    /* [in] */ short blue_2,
    /* [retval][out] */ IDAColor **ret_3);


void __RPC_STUB IDAStatics_ColorRgb255_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ColorHsl_Proxy( 
    IDAStatics * This,
    /* [in] */ double hue_0,
    /* [in] */ double saturation_1,
    /* [in] */ double lum_2,
    /* [retval][out] */ IDAColor **ret_3);


void __RPC_STUB IDAStatics_ColorHsl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ColorHslAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *hue_0,
    /* [in] */ IDANumber *saturation_1,
    /* [in] */ IDANumber *lum_2,
    /* [retval][out] */ IDAColor **ret_3);


void __RPC_STUB IDAStatics_ColorHslAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Red_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Red_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Green_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Green_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Blue_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Blue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Cyan_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Cyan_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Magenta_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Magenta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Yellow_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Yellow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Black_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Black_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_White_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_White_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Aqua_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Aqua_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Fuchsia_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Fuchsia_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Gray_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Gray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Lime_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Lime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Maroon_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Maroon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Navy_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Navy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Olive_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Olive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Purple_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Purple_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Silver_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Silver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Teal_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDAStatics_get_Teal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Predicate_Proxy( 
    IDAStatics * This,
    /* [in] */ IDABoolean *b_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAStatics_Predicate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_NotEvent_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAEvent *event_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAStatics_NotEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_AndEvent_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAEvent *e1_0,
    /* [in] */ IDAEvent *e2_1,
    /* [retval][out] */ IDAEvent **ret_2);


void __RPC_STUB IDAStatics_AndEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_OrEvent_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAEvent *e1_0,
    /* [in] */ IDAEvent *e2_1,
    /* [retval][out] */ IDAEvent **ret_2);


void __RPC_STUB IDAStatics_OrEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ThenEvent_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAEvent *e1_0,
    /* [in] */ IDAEvent *e2_1,
    /* [retval][out] */ IDAEvent **ret_2);


void __RPC_STUB IDAStatics_ThenEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_LeftButtonDown_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEvent **ret_0);


void __RPC_STUB IDAStatics_get_LeftButtonDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_LeftButtonUp_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEvent **ret_0);


void __RPC_STUB IDAStatics_get_LeftButtonUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_RightButtonDown_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEvent **ret_0);


void __RPC_STUB IDAStatics_get_RightButtonDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_RightButtonUp_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEvent **ret_0);


void __RPC_STUB IDAStatics_get_RightButtonUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Always_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEvent **ret_0);


void __RPC_STUB IDAStatics_get_Always_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Never_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEvent **ret_0);


void __RPC_STUB IDAStatics_get_Never_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_TimerAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *n_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAStatics_TimerAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Timer_Proxy( 
    IDAStatics * This,
    /* [in] */ double n_0,
    /* [retval][out] */ IDAEvent **ret_1);


void __RPC_STUB IDAStatics_Timer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_AppTriggeredEvent_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEvent **ret_0);


void __RPC_STUB IDAStatics_AppTriggeredEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ScriptCallback_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR obsolete1_0,
    /* [in] */ IDAEvent *obsolete2_1,
    /* [in] */ BSTR obsolete3_2,
    /* [retval][out] */ IDAEvent **ret_3);


void __RPC_STUB IDAStatics_ScriptCallback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_EmptyGeometry_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAGeometry **ret_0);


void __RPC_STUB IDAStatics_get_EmptyGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UnionGeometry_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAGeometry *g1_0,
    /* [in] */ IDAGeometry *g2_1,
    /* [retval][out] */ IDAGeometry **ret_2);


void __RPC_STUB IDAStatics_UnionGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_UnionGeometryArrayEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG imgs_0size,
    /* [size_is][in] */ IDAGeometry *imgs_0[  ],
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAStatics_UnionGeometryArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UnionGeometryArray_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT imgs_0,
    /* [retval][out] */ IDAGeometry **ret_1);


void __RPC_STUB IDAStatics_UnionGeometryArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_EmptyImage_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAImage **ret_0);


void __RPC_STUB IDAStatics_get_EmptyImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DetectableEmptyImage_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAImage **ret_0);


void __RPC_STUB IDAStatics_get_DetectableEmptyImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SolidColorImage_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *col_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAStatics_SolidColorImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_GradientPolygonEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG points_0size,
    /* [size_is][in] */ IDAPoint2 *points_0[  ],
    /* [in] */ LONG colors_1size,
    /* [size_is][in] */ IDAColor *colors_1[  ],
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_GradientPolygonEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_GradientPolygon_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT points_0,
    /* [in] */ VARIANT colors_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_GradientPolygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientPolygonEx_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ LONG points_2size,
    /* [size_is][in] */ IDAPoint2 *points_2[  ],
    /* [in] */ double fallOff_3,
    /* [retval][out] */ IDAImage **ret_4);


void __RPC_STUB IDAStatics_RadialGradientPolygonEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientPolygon_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ VARIANT points_2,
    /* [in] */ double fallOff_3,
    /* [retval][out] */ IDAImage **ret_4);


void __RPC_STUB IDAStatics_RadialGradientPolygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientPolygonAnimEx_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ LONG points_2size,
    /* [size_is][in] */ IDAPoint2 *points_2[  ],
    /* [in] */ IDANumber *fallOff_3,
    /* [retval][out] */ IDAImage **ret_4);


void __RPC_STUB IDAStatics_RadialGradientPolygonAnimEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientPolygonAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ VARIANT points_2,
    /* [in] */ IDANumber *fallOff_3,
    /* [retval][out] */ IDAImage **ret_4);


void __RPC_STUB IDAStatics_RadialGradientPolygonAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_GradientSquare_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lowerLeft_0,
    /* [in] */ IDAColor *upperLeft_1,
    /* [in] */ IDAColor *upperRight_2,
    /* [in] */ IDAColor *lowerRight_3,
    /* [retval][out] */ IDAImage **ret_4);


void __RPC_STUB IDAStatics_GradientSquare_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientSquare_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ double fallOff_2,
    /* [retval][out] */ IDAImage **ret_3);


void __RPC_STUB IDAStatics_RadialGradientSquare_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientSquareAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ IDANumber *fallOff_2,
    /* [retval][out] */ IDAImage **ret_3);


void __RPC_STUB IDAStatics_RadialGradientSquareAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientRegularPoly_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ double numEdges_2,
    /* [in] */ double fallOff_3,
    /* [retval][out] */ IDAImage **ret_4);


void __RPC_STUB IDAStatics_RadialGradientRegularPoly_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RadialGradientRegularPolyAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *inner_0,
    /* [in] */ IDAColor *outer_1,
    /* [in] */ IDANumber *numEdges_2,
    /* [in] */ IDANumber *fallOff_3,
    /* [retval][out] */ IDAImage **ret_4);


void __RPC_STUB IDAStatics_RadialGradientRegularPolyAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_GradientHorizontal_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *start_0,
    /* [in] */ IDAColor *stop_1,
    /* [in] */ double fallOff_2,
    /* [retval][out] */ IDAImage **ret_3);


void __RPC_STUB IDAStatics_GradientHorizontal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_GradientHorizontalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *start_0,
    /* [in] */ IDAColor *stop_1,
    /* [in] */ IDANumber *fallOff_2,
    /* [retval][out] */ IDAImage **ret_3);


void __RPC_STUB IDAStatics_GradientHorizontalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchHorizontal_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ double spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchHorizontal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchHorizontalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ IDANumber *spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchHorizontalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchVertical_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ double spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchVertical_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchVerticalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ IDANumber *spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchVerticalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchForwardDiagonal_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ double spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchForwardDiagonal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchForwardDiagonalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ IDANumber *spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchForwardDiagonalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchBackwardDiagonal_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ double spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchBackwardDiagonal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchBackwardDiagonalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ IDANumber *spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchBackwardDiagonalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchCross_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ double spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchCross_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchCrossAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ IDANumber *spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchCrossAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchDiagonalCross_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ double spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchDiagonalCross_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_HatchDiagonalCrossAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAColor *lineClr_0,
    /* [in] */ IDANumber *spacing_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_HatchDiagonalCrossAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Overlay_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAImage *top_0,
    /* [in] */ IDAImage *bottom_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_Overlay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_OverlayArrayEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG imgs_0size,
    /* [size_is][in] */ IDAImage *imgs_0[  ],
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAStatics_OverlayArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_OverlayArray_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT imgs_0,
    /* [retval][out] */ IDAImage **ret_1);


void __RPC_STUB IDAStatics_OverlayArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_AmbientLight_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAGeometry **ret_0);


void __RPC_STUB IDAStatics_get_AmbientLight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DirectionalLight_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAGeometry **ret_0);


void __RPC_STUB IDAStatics_get_DirectionalLight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_PointLight_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAGeometry **ret_0);


void __RPC_STUB IDAStatics_get_PointLight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SpotLightAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *fullcone_0,
    /* [in] */ IDANumber *cutoff_1,
    /* [retval][out] */ IDAGeometry **ret_2);


void __RPC_STUB IDAStatics_SpotLightAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SpotLight_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *fullcone_0,
    /* [in] */ double cutoff_1,
    /* [retval][out] */ IDAGeometry **ret_2);


void __RPC_STUB IDAStatics_SpotLight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DefaultLineStyle_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDALineStyle **ret_0);


void __RPC_STUB IDAStatics_get_DefaultLineStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_EmptyLineStyle_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDALineStyle **ret_0);


void __RPC_STUB IDAStatics_get_EmptyLineStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_JoinStyleBevel_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAJoinStyle **ret_0);


void __RPC_STUB IDAStatics_get_JoinStyleBevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_JoinStyleRound_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAJoinStyle **ret_0);


void __RPC_STUB IDAStatics_get_JoinStyleRound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_JoinStyleMiter_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAJoinStyle **ret_0);


void __RPC_STUB IDAStatics_get_JoinStyleMiter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_EndStyleFlat_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEndStyle **ret_0);


void __RPC_STUB IDAStatics_get_EndStyleFlat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_EndStyleSquare_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEndStyle **ret_0);


void __RPC_STUB IDAStatics_get_EndStyleSquare_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_EndStyleRound_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAEndStyle **ret_0);


void __RPC_STUB IDAStatics_get_EndStyleRound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DashStyleSolid_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDADashStyle **ret_0);


void __RPC_STUB IDAStatics_get_DashStyleSolid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DashStyleDashed_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDADashStyle **ret_0);


void __RPC_STUB IDAStatics_get_DashStyleDashed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DefaultMicrophone_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAMicrophone **ret_0);


void __RPC_STUB IDAStatics_get_DefaultMicrophone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_OpaqueMatte_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAMatte **ret_0);


void __RPC_STUB IDAStatics_get_OpaqueMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_ClearMatte_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAMatte **ret_0);


void __RPC_STUB IDAStatics_get_ClearMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UnionMatte_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAMatte *m1_0,
    /* [in] */ IDAMatte *m2_1,
    /* [retval][out] */ IDAMatte **ret_2);


void __RPC_STUB IDAStatics_UnionMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_IntersectMatte_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAMatte *m1_0,
    /* [in] */ IDAMatte *m2_1,
    /* [retval][out] */ IDAMatte **ret_2);


void __RPC_STUB IDAStatics_IntersectMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DifferenceMatte_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAMatte *m1_0,
    /* [in] */ IDAMatte *m2_1,
    /* [retval][out] */ IDAMatte **ret_2);


void __RPC_STUB IDAStatics_DifferenceMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FillMatte_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *p_0,
    /* [retval][out] */ IDAMatte **ret_1);


void __RPC_STUB IDAStatics_FillMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_TextMatte_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAString *str_0,
    /* [in] */ IDAFontStyle *fs_1,
    /* [retval][out] */ IDAMatte **ret_2);


void __RPC_STUB IDAStatics_TextMatte_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_EmptyMontage_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAMontage **ret_0);


void __RPC_STUB IDAStatics_get_EmptyMontage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImageMontage_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAImage *im_0,
    /* [in] */ double depth_1,
    /* [retval][out] */ IDAMontage **ret_2);


void __RPC_STUB IDAStatics_ImageMontage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ImageMontageAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAImage *im_0,
    /* [in] */ IDANumber *depth_1,
    /* [retval][out] */ IDAMontage **ret_2);


void __RPC_STUB IDAStatics_ImageMontageAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_UnionMontage_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAMontage *m1_0,
    /* [in] */ IDAMontage *m2_1,
    /* [retval][out] */ IDAMontage **ret_2);


void __RPC_STUB IDAStatics_UnionMontage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Concat_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPath2 *p1_0,
    /* [in] */ IDAPath2 *p2_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_Concat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_ConcatArrayEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG paths_0size,
    /* [size_is][in] */ IDAPath2 *paths_0[  ],
    /* [retval][out] */ IDAPath2 **ret_1);


void __RPC_STUB IDAStatics_ConcatArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ConcatArray_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT paths_0,
    /* [retval][out] */ IDAPath2 **ret_1);


void __RPC_STUB IDAStatics_ConcatArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Line_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *p1_0,
    /* [in] */ IDAPoint2 *p2_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_Line_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Ray_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *pt_0,
    /* [retval][out] */ IDAPath2 **ret_1);


void __RPC_STUB IDAStatics_Ray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_StringPathAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAString *str_0,
    /* [in] */ IDAFontStyle *fs_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_StringPathAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_StringPath_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR str_0,
    /* [in] */ IDAFontStyle *fs_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_StringPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_PolylineEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG points_0size,
    /* [size_is][in] */ IDAPoint2 *points_0[  ],
    /* [retval][out] */ IDAPath2 **ret_1);


void __RPC_STUB IDAStatics_PolylineEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Polyline_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT points_0,
    /* [retval][out] */ IDAPath2 **ret_1);


void __RPC_STUB IDAStatics_Polyline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_PolydrawPathEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG points_0size,
    /* [size_is][in] */ IDAPoint2 *points_0[  ],
    /* [in] */ LONG codes_1size,
    /* [size_is][in] */ IDANumber *codes_1[  ],
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_PolydrawPathEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_PolydrawPath_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT points_0,
    /* [in] */ VARIANT codes_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_PolydrawPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ArcRadians_Proxy( 
    IDAStatics * This,
    /* [in] */ double startAngle_0,
    /* [in] */ double endAngle_1,
    /* [in] */ double arcWidth_2,
    /* [in] */ double arcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_ArcRadians_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ArcRadiansAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *startAngle_0,
    /* [in] */ IDANumber *endAngle_1,
    /* [in] */ IDANumber *arcWidth_2,
    /* [in] */ IDANumber *arcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_ArcRadiansAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ArcDegrees_Proxy( 
    IDAStatics * This,
    /* [in] */ double startAngle_0,
    /* [in] */ double endAngle_1,
    /* [in] */ double arcWidth_2,
    /* [in] */ double arcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_ArcDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_PieRadians_Proxy( 
    IDAStatics * This,
    /* [in] */ double startAngle_0,
    /* [in] */ double endAngle_1,
    /* [in] */ double arcWidth_2,
    /* [in] */ double arcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_PieRadians_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_PieRadiansAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *startAngle_0,
    /* [in] */ IDANumber *endAngle_1,
    /* [in] */ IDANumber *arcWidth_2,
    /* [in] */ IDANumber *arcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_PieRadiansAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_PieDegrees_Proxy( 
    IDAStatics * This,
    /* [in] */ double startAngle_0,
    /* [in] */ double endAngle_1,
    /* [in] */ double arcWidth_2,
    /* [in] */ double arcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_PieDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Oval_Proxy( 
    IDAStatics * This,
    /* [in] */ double width_0,
    /* [in] */ double height_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_Oval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_OvalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *width_0,
    /* [in] */ IDANumber *height_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_OvalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rect_Proxy( 
    IDAStatics * This,
    /* [in] */ double width_0,
    /* [in] */ double height_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_Rect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RectAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *width_0,
    /* [in] */ IDANumber *height_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_RectAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RoundRect_Proxy( 
    IDAStatics * This,
    /* [in] */ double width_0,
    /* [in] */ double height_1,
    /* [in] */ double cornerArcWidth_2,
    /* [in] */ double cornerArcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_RoundRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_RoundRectAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *width_0,
    /* [in] */ IDANumber *height_1,
    /* [in] */ IDANumber *cornerArcWidth_2,
    /* [in] */ IDANumber *cornerArcHeight_3,
    /* [retval][out] */ IDAPath2 **ret_4);


void __RPC_STUB IDAStatics_RoundRectAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_CubicBSplinePathEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG points_0size,
    /* [size_is][in] */ IDAPoint2 *points_0[  ],
    /* [in] */ LONG knots_1size,
    /* [size_is][in] */ IDANumber *knots_1[  ],
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_CubicBSplinePathEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_CubicBSplinePath_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT points_0,
    /* [in] */ VARIANT knots_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_CubicBSplinePath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_TextPath_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAString *obsolete1_0,
    /* [in] */ IDAFontStyle *obsolete2_1,
    /* [retval][out] */ IDAPath2 **ret_2);


void __RPC_STUB IDAStatics_TextPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Silence_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDASound **ret_0);


void __RPC_STUB IDAStatics_get_Silence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_MixArrayEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG snds_0size,
    /* [size_is][in] */ IDASound *snds_0[  ],
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDAStatics_MixArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_MixArray_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT snds_0,
    /* [retval][out] */ IDASound **ret_1);


void __RPC_STUB IDAStatics_MixArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_SinSynth_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDASound **ret_0);


void __RPC_STUB IDAStatics_get_SinSynth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_DefaultFont_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAFontStyle **ret_0);


void __RPC_STUB IDAStatics_get_DefaultFont_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_FontAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAString *str_0,
    /* [in] */ IDANumber *size_1,
    /* [in] */ IDAColor *col_2,
    /* [retval][out] */ IDAFontStyle **ret_3);


void __RPC_STUB IDAStatics_FontAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Font_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR str_0,
    /* [in] */ double size_1,
    /* [in] */ IDAColor *col_2,
    /* [retval][out] */ IDAFontStyle **ret_3);


void __RPC_STUB IDAStatics_Font_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_StringImageAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAString *str_0,
    /* [in] */ IDAFontStyle *fs_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_StringImageAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_StringImage_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR str_0,
    /* [in] */ IDAFontStyle *fs_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_StringImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_TextImageAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAString *obsoleted1_0,
    /* [in] */ IDAFontStyle *obsoleted2_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_TextImageAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_TextImage_Proxy( 
    IDAStatics * This,
    /* [in] */ BSTR obsoleted1_0,
    /* [in] */ IDAFontStyle *obsoleted2_1,
    /* [retval][out] */ IDAImage **ret_2);


void __RPC_STUB IDAStatics_TextImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_XVector2_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAVector2 **ret_0);


void __RPC_STUB IDAStatics_get_XVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_YVector2_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAVector2 **ret_0);


void __RPC_STUB IDAStatics_get_YVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_ZeroVector2_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAVector2 **ret_0);


void __RPC_STUB IDAStatics_get_ZeroVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Origin2_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAPoint2 **ret_0);


void __RPC_STUB IDAStatics_get_Origin2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *x_0,
    /* [in] */ IDANumber *y_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_Vector2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector2_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_Vector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *x_0,
    /* [in] */ IDANumber *y_1,
    /* [retval][out] */ IDAPoint2 **ret_2);


void __RPC_STUB IDAStatics_Point2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point2_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [retval][out] */ IDAPoint2 **ret_2);


void __RPC_STUB IDAStatics_Point2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector2PolarAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *theta_0,
    /* [in] */ IDANumber *radius_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_Vector2PolarAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector2Polar_Proxy( 
    IDAStatics * This,
    /* [in] */ double theta_0,
    /* [in] */ double radius_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_Vector2Polar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector2PolarDegrees_Proxy( 
    IDAStatics * This,
    /* [in] */ double theta_0,
    /* [in] */ double radius_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_Vector2PolarDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point2PolarAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *theta_0,
    /* [in] */ IDANumber *radius_1,
    /* [retval][out] */ IDAPoint2 **ret_2);


void __RPC_STUB IDAStatics_Point2PolarAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point2Polar_Proxy( 
    IDAStatics * This,
    /* [in] */ double theta_0,
    /* [in] */ double radius_1,
    /* [retval][out] */ IDAPoint2 **ret_2);


void __RPC_STUB IDAStatics_Point2Polar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DotVector2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *v_0,
    /* [in] */ IDAVector2 *u_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_DotVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_NegVector2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *v_0,
    /* [retval][out] */ IDAVector2 **ret_1);


void __RPC_STUB IDAStatics_NegVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SubVector2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *v1_0,
    /* [in] */ IDAVector2 *v2_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_SubVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_AddVector2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *v1_0,
    /* [in] */ IDAVector2 *v2_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_AddVector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_AddPoint2Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *p_0,
    /* [in] */ IDAVector2 *v_1,
    /* [retval][out] */ IDAPoint2 **ret_2);


void __RPC_STUB IDAStatics_AddPoint2Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SubPoint2Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *p_0,
    /* [in] */ IDAVector2 *v_1,
    /* [retval][out] */ IDAPoint2 **ret_2);


void __RPC_STUB IDAStatics_SubPoint2Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SubPoint2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *p1_0,
    /* [in] */ IDAPoint2 *p2_1,
    /* [retval][out] */ IDAVector2 **ret_2);


void __RPC_STUB IDAStatics_SubPoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DistancePoint2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *p_0,
    /* [in] */ IDAPoint2 *q_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_DistancePoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DistanceSquaredPoint2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *p_0,
    /* [in] */ IDAPoint2 *q_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_DistanceSquaredPoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_XVector3_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAVector3 **ret_0);


void __RPC_STUB IDAStatics_get_XVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_YVector3_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAVector3 **ret_0);


void __RPC_STUB IDAStatics_get_YVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_ZVector3_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAVector3 **ret_0);


void __RPC_STUB IDAStatics_get_ZVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_ZeroVector3_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAVector3 **ret_0);


void __RPC_STUB IDAStatics_get_ZeroVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_Origin3_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDAPoint3 **ret_0);


void __RPC_STUB IDAStatics_get_Origin3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *x_0,
    /* [in] */ IDANumber *y_1,
    /* [in] */ IDANumber *z_2,
    /* [retval][out] */ IDAVector3 **ret_3);


void __RPC_STUB IDAStatics_Vector3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector3_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [in] */ double z_2,
    /* [retval][out] */ IDAVector3 **ret_3);


void __RPC_STUB IDAStatics_Vector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *x_0,
    /* [in] */ IDANumber *y_1,
    /* [in] */ IDANumber *z_2,
    /* [retval][out] */ IDAPoint3 **ret_3);


void __RPC_STUB IDAStatics_Point3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point3_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [in] */ double z_2,
    /* [retval][out] */ IDAPoint3 **ret_3);


void __RPC_STUB IDAStatics_Point3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector3SphericalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *xyAngle_0,
    /* [in] */ IDANumber *yzAngle_1,
    /* [in] */ IDANumber *radius_2,
    /* [retval][out] */ IDAVector3 **ret_3);


void __RPC_STUB IDAStatics_Vector3SphericalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Vector3Spherical_Proxy( 
    IDAStatics * This,
    /* [in] */ double xyAngle_0,
    /* [in] */ double yzAngle_1,
    /* [in] */ double radius_2,
    /* [retval][out] */ IDAVector3 **ret_3);


void __RPC_STUB IDAStatics_Vector3Spherical_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point3SphericalAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *zxAngle_0,
    /* [in] */ IDANumber *xyAngle_1,
    /* [in] */ IDANumber *radius_2,
    /* [retval][out] */ IDAPoint3 **ret_3);


void __RPC_STUB IDAStatics_Point3SphericalAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Point3Spherical_Proxy( 
    IDAStatics * This,
    /* [in] */ double zxAngle_0,
    /* [in] */ double xyAngle_1,
    /* [in] */ double radius_2,
    /* [retval][out] */ IDAPoint3 **ret_3);


void __RPC_STUB IDAStatics_Point3Spherical_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DotVector3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *v_0,
    /* [in] */ IDAVector3 *u_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_DotVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_CrossVector3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *v_0,
    /* [in] */ IDAVector3 *u_1,
    /* [retval][out] */ IDAVector3 **ret_2);


void __RPC_STUB IDAStatics_CrossVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_NegVector3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *v_0,
    /* [retval][out] */ IDAVector3 **ret_1);


void __RPC_STUB IDAStatics_NegVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SubVector3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *v1_0,
    /* [in] */ IDAVector3 *v2_1,
    /* [retval][out] */ IDAVector3 **ret_2);


void __RPC_STUB IDAStatics_SubVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_AddVector3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *v1_0,
    /* [in] */ IDAVector3 *v2_1,
    /* [retval][out] */ IDAVector3 **ret_2);


void __RPC_STUB IDAStatics_AddVector3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_AddPoint3Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *p_0,
    /* [in] */ IDAVector3 *v_1,
    /* [retval][out] */ IDAPoint3 **ret_2);


void __RPC_STUB IDAStatics_AddPoint3Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SubPoint3Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *p_0,
    /* [in] */ IDAVector3 *v_1,
    /* [retval][out] */ IDAPoint3 **ret_2);


void __RPC_STUB IDAStatics_SubPoint3Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_SubPoint3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *p1_0,
    /* [in] */ IDAPoint3 *p2_1,
    /* [retval][out] */ IDAVector3 **ret_2);


void __RPC_STUB IDAStatics_SubPoint3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DistancePoint3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *p_0,
    /* [in] */ IDAPoint3 *q_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_DistancePoint3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_DistanceSquaredPoint3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *p_0,
    /* [in] */ IDAPoint3 *q_1,
    /* [retval][out] */ IDANumber **ret_2);


void __RPC_STUB IDAStatics_DistanceSquaredPoint3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_IdentityTransform3_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDATransform3 **ret_0);


void __RPC_STUB IDAStatics_get_IdentityTransform3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *tx_0,
    /* [in] */ IDANumber *ty_1,
    /* [in] */ IDANumber *tz_2,
    /* [retval][out] */ IDATransform3 **ret_3);


void __RPC_STUB IDAStatics_Translate3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate3_Proxy( 
    IDAStatics * This,
    /* [in] */ double tx_0,
    /* [in] */ double ty_1,
    /* [in] */ double tz_2,
    /* [retval][out] */ IDATransform3 **ret_3);


void __RPC_STUB IDAStatics_Translate3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate3Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double tx_0,
    /* [in] */ double ty_1,
    /* [in] */ double tz_2,
    /* [retval][out] */ IDATransform3 **ret_3);


void __RPC_STUB IDAStatics_Translate3Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate3Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *delta_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Translate3Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate3Point_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *new_origin_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Translate3Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *x_0,
    /* [in] */ IDANumber *y_1,
    /* [in] */ IDANumber *z_2,
    /* [retval][out] */ IDATransform3 **ret_3);


void __RPC_STUB IDAStatics_Scale3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale3_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [in] */ double z_2,
    /* [retval][out] */ IDATransform3 **ret_3);


void __RPC_STUB IDAStatics_Scale3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale3Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [in] */ double z_2,
    /* [retval][out] */ IDATransform3 **ret_3);


void __RPC_STUB IDAStatics_Scale3Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale3Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *scale_vec_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Scale3Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale3UniformAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *uniform_scale_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Scale3UniformAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale3Uniform_Proxy( 
    IDAStatics * This,
    /* [in] */ double uniform_scale_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Scale3Uniform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale3UniformRate_Proxy( 
    IDAStatics * This,
    /* [in] */ double uniform_scale_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Scale3UniformRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *axis_0,
    /* [in] */ IDANumber *angle_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_Rotate3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *axis_0,
    /* [in] */ double angle_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_Rotate3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate3Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *axis_0,
    /* [in] */ double angle_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_Rotate3Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate3Degrees_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *axis_0,
    /* [in] */ double angle_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_Rotate3Degrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate3RateDegrees_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector3 *axis_0,
    /* [in] */ double angle_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_Rotate3RateDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_XShear3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *a_0,
    /* [in] */ IDANumber *b_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_XShear3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_XShear3_Proxy( 
    IDAStatics * This,
    /* [in] */ double a_0,
    /* [in] */ double b_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_XShear3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_XShear3Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double a_0,
    /* [in] */ double b_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_XShear3Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_YShear3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *c_0,
    /* [in] */ IDANumber *d_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_YShear3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_YShear3_Proxy( 
    IDAStatics * This,
    /* [in] */ double c_0,
    /* [in] */ double d_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_YShear3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_YShear3Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double c_0,
    /* [in] */ double d_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_YShear3Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ZShear3Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *e_0,
    /* [in] */ IDANumber *f_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_ZShear3Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ZShear3_Proxy( 
    IDAStatics * This,
    /* [in] */ double e_0,
    /* [in] */ double f_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_ZShear3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_ZShear3Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double e_0,
    /* [in] */ double f_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_ZShear3Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Transform4x4AnimEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG m_0size,
    /* [size_is][in] */ IDANumber *m_0[  ],
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Transform4x4AnimEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Transform4x4Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT m_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Transform4x4Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Compose3_Proxy( 
    IDAStatics * This,
    /* [in] */ IDATransform3 *a_0,
    /* [in] */ IDATransform3 *b_1,
    /* [retval][out] */ IDATransform3 **ret_2);


void __RPC_STUB IDAStatics_Compose3_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Compose3ArrayEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG xfs_0size,
    /* [size_is][in] */ IDATransform3 *xfs_0[  ],
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Compose3ArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Compose3Array_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT xfs_0,
    /* [retval][out] */ IDATransform3 **ret_1);


void __RPC_STUB IDAStatics_Compose3Array_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_LookAtFrom_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint3 *to_0,
    /* [in] */ IDAPoint3 *from_1,
    /* [in] */ IDAVector3 *up_2,
    /* [retval][out] */ IDATransform3 **ret_3);


void __RPC_STUB IDAStatics_LookAtFrom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_IdentityTransform2_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ IDATransform2 **ret_0);


void __RPC_STUB IDAStatics_get_IdentityTransform2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *Tx_0,
    /* [in] */ IDANumber *Ty_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_Translate2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate2_Proxy( 
    IDAStatics * This,
    /* [in] */ double Tx_0,
    /* [in] */ double Ty_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_Translate2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate2Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double Tx_0,
    /* [in] */ double Ty_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_Translate2Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate2Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *delta_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Translate2Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Translate2Point_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAPoint2 *pos_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Translate2Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *x_0,
    /* [in] */ IDANumber *y_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_Scale2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_Scale2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double x_0,
    /* [in] */ double y_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_Scale2Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2Vector2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *obsoleteMethod_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Scale2Vector2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2Vector_Proxy( 
    IDAStatics * This,
    /* [in] */ IDAVector2 *scale_vec_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Scale2Vector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2UniformAnim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *uniform_scale_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Scale2UniformAnim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2Uniform_Proxy( 
    IDAStatics * This,
    /* [in] */ double uniform_scale_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Scale2Uniform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Scale2UniformRate_Proxy( 
    IDAStatics * This,
    /* [in] */ double uniform_scale_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Scale2UniformRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *angle_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Rotate2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate2_Proxy( 
    IDAStatics * This,
    /* [in] */ double angle_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Rotate2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate2Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double angle_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Rotate2Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate2Degrees_Proxy( 
    IDAStatics * This,
    /* [in] */ double angle_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Rotate2Degrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Rotate2RateDegrees_Proxy( 
    IDAStatics * This,
    /* [in] */ double angle_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Rotate2RateDegrees_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_XShear2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *arg_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_XShear2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_XShear2_Proxy( 
    IDAStatics * This,
    /* [in] */ double arg_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_XShear2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_XShear2Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double arg_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_XShear2Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_YShear2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ IDANumber *arg_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_YShear2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_YShear2_Proxy( 
    IDAStatics * This,
    /* [in] */ double arg_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_YShear2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_YShear2Rate_Proxy( 
    IDAStatics * This,
    /* [in] */ double arg_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_YShear2Rate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Transform3x2AnimEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG m_0size,
    /* [size_is][in] */ IDANumber *m_0[  ],
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Transform3x2AnimEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Transform3x2Anim_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT m_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Transform3x2Anim_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Compose2_Proxy( 
    IDAStatics * This,
    /* [in] */ IDATransform2 *a_0,
    /* [in] */ IDATransform2 *b_1,
    /* [retval][out] */ IDATransform2 **ret_2);


void __RPC_STUB IDAStatics_Compose2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDAStatics_Compose2ArrayEx_Proxy( 
    IDAStatics * This,
    /* [in] */ LONG xfs_0size,
    /* [size_is][in] */ IDATransform2 *xfs_0[  ],
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Compose2ArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDAStatics_Compose2Array_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT xfs_0,
    /* [retval][out] */ IDATransform2 **ret_1);


void __RPC_STUB IDAStatics_Compose2Array_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDAStatics_Tuple_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT obsolete1,
    /* [retval][out] */ IDATuple **obsolete2);


void __RPC_STUB IDAStatics_Tuple_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDAStatics_Array_Proxy( 
    IDAStatics * This,
    /* [in] */ VARIANT obsolete1,
    /* [retval][out] */ IDAArray **obsolete2);


void __RPC_STUB IDAStatics_Array_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAStatics_get_AreBlockingImportsComplete_Proxy( 
    IDAStatics * This,
    /* [retval][out] */ VARIANT_BOOL *bComplete);


void __RPC_STUB IDAStatics_get_AreBlockingImportsComplete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAStatics_INTERFACE_DEFINED__ */


#ifndef __IDA2Statics_INTERFACE_DEFINED__
#define __IDA2Statics_INTERFACE_DEFINED__

/* interface IDA2Statics */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


enum __MIDL_IDA2Statics_0001
    {	DAARRAY_CHANGEABLE	= 0x1
    } ;

EXTERN_C const IID IID_IDA2Statics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FA261CF0-C44E-11d1-9BE4-00C04FC2F51D")
    IDA2Statics : public IDAStatics
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ImportDirect3DRMVisual( 
            /* [in] */ IUnknown *visual,
            /* [retval][out] */ IDAGeometry **bvr) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE ApplyDXTransformEx( 
            /* [in] */ IUnknown *theXf,
            /* [in] */ LONG numInputs,
            /* [size_is][in] */ IDABehavior **inputs,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDADXTransformResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ApplyDXTransform( 
            /* [in] */ VARIANT varXf,
            /* [in] */ VARIANT inputs,
            /* [in] */ VARIANT evaluator,
            /* [retval][out] */ IDADXTransformResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ModifiableNumber( 
            /* [in] */ double initVal,
            /* [retval][out] */ IDANumber **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ModifiableString( 
            /* [in] */ BSTR initVal,
            /* [retval][out] */ IDAString **ppResult) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE DAArrayEx2( 
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [in] */ DWORD dwFlags,
            /* [retval][out] */ IDAArray **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DAArray2( 
            /* [in] */ VARIANT bvrs,
            /* [in] */ DWORD dwFlags,
            /* [retval][out] */ IDAArray **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportGeometryWrapped( 
            /* [in] */ BSTR url,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [retval][out] */ IDAGeometry **ppGeometry) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportGeometryWrappedAsync( 
            /* [in] */ BSTR url,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [in] */ IDAGeometry *pGeoStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportDirect3DRMVisualWrapped( 
            /* [in] */ IUnknown *visual,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [retval][out] */ IDAGeometry **bvr) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UntilNotifyScript( 
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ BSTR scriptlet_2,
            /* [retval][out] */ IDABehavior **ret_3) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ViewFrameRate( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE UnionMontageArrayEx( 
            /* [in] */ LONG mtgs_0size,
            /* [size_is][in] */ IDAMontage *mtgs_0[  ],
            /* [retval][out] */ IDAMontage **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnionMontageArray( 
            /* [in] */ VARIANT mtgs_0,
            /* [retval][out] */ IDAMontage **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ModifiableBehaviorFlags( 
            /* [retval][out] */ DWORD *dwFlags) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ModifiableBehaviorFlags( 
            /* [in] */ DWORD dwFlags) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EmptyColor( 
            /* [retval][out] */ IDAColor **ret_0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2StaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2Statics * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2Statics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2Statics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2Statics * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2Statics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2Statics * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2Statics * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionString )( 
            IDA2Statics * This,
            /* [retval][out] */ BSTR *str);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Site )( 
            IDA2Statics * This,
            /* [retval][out] */ IDASite **pSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Site )( 
            IDA2Statics * This,
            /* [in] */ IDASite *pSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientSite )( 
            IDA2Statics * This,
            /* [in] */ IOleClientSite *pClientSite);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientSite )( 
            IDA2Statics * This,
            /* [retval][out] */ IOleClientSite **pClientSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PixelConstructionMode )( 
            IDA2Statics * This,
            /* [in] */ VARIANT_BOOL bMode);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelConstructionMode )( 
            IDA2Statics * This,
            /* [retval][out] */ VARIANT_BOOL *bMode);
        
        HRESULT ( STDMETHODCALLTYPE *TriggerEvent )( 
            IDA2Statics * This,
            /* [in] */ IDAEvent *event,
            /* [in] */ IDABehavior *data);
        
        HRESULT ( STDMETHODCALLTYPE *NewDrawingSurface )( 
            IDA2Statics * This,
            /* [retval][out] */ IDADrawingSurface **pds);
        
        HRESULT ( STDMETHODCALLTYPE *ImportMovie )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportMovieAsync )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImage )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageAsync )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageColorKey )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageAsyncColorKey )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportSound )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportSoundAsync )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometry )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAGeometry **ppGeometry);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometryAsync )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAGeometry *pGeoStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportDirectDrawSurface )( 
            IDA2Statics * This,
            /* [in] */ IUnknown *dds,
            /* [in] */ IDAEvent *updateEvent,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *Cond )( 
            IDA2Statics * This,
            /* [in] */ IDABoolean *c,
            /* [in] */ IDABehavior *i,
            /* [in] */ IDABehavior *e,
            /* [retval][out] */ IDABehavior **pCondBvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DAArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DAArray )( 
            IDA2Statics * This,
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDAArray **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DATupleEx )( 
            IDA2Statics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDATuple **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DATuple )( 
            IDA2Statics * This,
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDATuple **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *ModifiableBehavior )( 
            IDA2Statics * This,
            /* [in] */ IDABehavior *orig,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UninitializedArray )( 
            IDA2Statics * This,
            /* [in] */ IDAArray *typeTmp,
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UninitializedTuple )( 
            IDA2Statics * This,
            /* [in] */ IDATuple *typeTmp,
            /* [retval][out] */ IDATuple **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *NumberBSplineEx )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDANumber *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *NumberBSpline )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Point2BSplineEx )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Point2BSpline )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Point3BSplineEx )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Point3BSpline )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Vector2BSplineEx )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2BSpline )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Vector3BSplineEx )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3BSpline )( 
            IDA2Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Pow )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Abs )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Sqrt )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Floor )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Round )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Ceiling )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Asin )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Acos )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Atan )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Sin )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Cos )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Tan )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Exp )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Ln )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Log10 )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ToDegrees )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ToRadians )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mod )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Atan2 )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Add )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Sub )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Mul )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Div )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *LT )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *LTE )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GT )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GTE )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *EQ )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NE )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Neg )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *InterpolateAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [retval][out] */ IDANumber **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Interpolate )( 
            IDA2Statics * This,
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [retval][out] */ IDANumber **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *SlowInSlowOutAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [in] */ IDANumber *sharpness_3,
            /* [retval][out] */ IDANumber **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *SlowInSlowOut )( 
            IDA2Statics * This,
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [in] */ double sharpness_3,
            /* [retval][out] */ IDANumber **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *SoundSource )( 
            IDA2Statics * This,
            /* [in] */ IDASound *snd_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mix )( 
            IDA2Statics * This,
            /* [in] */ IDASound *left_0,
            /* [in] */ IDASound *right_1,
            /* [retval][out] */ IDASound **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *And )( 
            IDA2Statics * This,
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Or )( 
            IDA2Statics * This,
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Not )( 
            IDA2Statics * This,
            /* [in] */ IDABoolean *a_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Integral )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Derivative )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *IntegralVector2 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *IntegralVector3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativeVector2 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativeVector3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativePoint2 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativePoint3 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyState )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyUp )( 
            IDA2Statics * This,
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyDown )( 
            IDA2Statics * This,
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DANumber )( 
            IDA2Statics * This,
            /* [in] */ double num_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DAString )( 
            IDA2Statics * This,
            /* [in] */ BSTR str_0,
            /* [retval][out] */ IDAString **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DABoolean )( 
            IDA2Statics * This,
            /* [in] */ VARIANT_BOOL num_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SeededRandom )( 
            IDA2Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MousePosition )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonState )( 
            IDA2Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonState )( 
            IDA2Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DATrue )( 
            IDA2Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DAFalse )( 
            IDA2Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalTime )( 
            IDA2Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GlobalTime )( 
            IDA2Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pixel )( 
            IDA2Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UserData )( 
            IDA2Statics * This,
            /* [in] */ IUnknown *data_0,
            /* [retval][out] */ IDAUserData **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UntilNotify )( 
            IDA2Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDAUntilNotifier *notifier_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Until )( 
            IDA2Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDABehavior *b1_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *UntilEx )( 
            IDA2Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [retval][out] */ IDABehavior **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Sequence )( 
            IDA2Statics * This,
            /* [in] */ IDABehavior *s1_0,
            /* [in] */ IDABehavior *s2_1,
            /* [retval][out] */ IDABehavior **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPath )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngle )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUpright )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathEval )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleEval )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUprightEval )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUprightAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ConcatString )( 
            IDA2Statics * This,
            /* [in] */ IDAString *s1_0,
            /* [in] */ IDAString *s2_1,
            /* [retval][out] */ IDAString **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PerspectiveCamera )( 
            IDA2Statics * This,
            /* [in] */ double focalDist_0,
            /* [in] */ double nearClip_1,
            /* [retval][out] */ IDACamera **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PerspectiveCameraAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *focalDist_0,
            /* [in] */ IDANumber *nearClip_1,
            /* [retval][out] */ IDACamera **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ParallelCamera )( 
            IDA2Statics * This,
            /* [in] */ double nearClip_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ParallelCameraAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *nearClip_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgbAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *red_0,
            /* [in] */ IDANumber *green_1,
            /* [in] */ IDANumber *blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgb )( 
            IDA2Statics * This,
            /* [in] */ double red_0,
            /* [in] */ double green_1,
            /* [in] */ double blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgb255 )( 
            IDA2Statics * This,
            /* [in] */ short red_0,
            /* [in] */ short green_1,
            /* [in] */ short blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorHsl )( 
            IDA2Statics * This,
            /* [in] */ double hue_0,
            /* [in] */ double saturation_1,
            /* [in] */ double lum_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorHslAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *hue_0,
            /* [in] */ IDANumber *saturation_1,
            /* [in] */ IDANumber *lum_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Red )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Green )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Blue )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cyan )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Magenta )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Yellow )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Black )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_White )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aqua )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fuchsia )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gray )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lime )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maroon )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Navy )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Olive )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Purple )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Silver )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Teal )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Predicate )( 
            IDA2Statics * This,
            /* [in] */ IDABoolean *b_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *NotEvent )( 
            IDA2Statics * This,
            /* [in] */ IDAEvent *event_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AndEvent )( 
            IDA2Statics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *OrEvent )( 
            IDA2Statics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ThenEvent )( 
            IDA2Statics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonDown )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonUp )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonDown )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonUp )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Always )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Never )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *TimerAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Timer )( 
            IDA2Statics * This,
            /* [in] */ double n_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AppTriggeredEvent )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ScriptCallback )( 
            IDA2Statics * This,
            /* [in] */ BSTR obsolete1_0,
            /* [in] */ IDAEvent *obsolete2_1,
            /* [in] */ BSTR obsolete3_2,
            /* [retval][out] */ IDAEvent **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyGeometry )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UnionGeometry )( 
            IDA2Statics * This,
            /* [in] */ IDAGeometry *g1_0,
            /* [in] */ IDAGeometry *g2_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *UnionGeometryArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAGeometry *imgs_0[  ],
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UnionGeometryArray )( 
            IDA2Statics * This,
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyImage )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectableEmptyImage )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *SolidColorImage )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *GradientPolygonEx )( 
            IDA2Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG colors_1size,
            /* [size_is][in] */ IDAColor *colors_1[  ],
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GradientPolygon )( 
            IDA2Statics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT colors_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonEx )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygon )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonAnimEx )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *GradientSquare )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lowerLeft_0,
            /* [in] */ IDAColor *upperLeft_1,
            /* [in] */ IDAColor *upperRight_2,
            /* [in] */ IDAColor *lowerRight_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientSquare )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientSquareAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientRegularPoly )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double numEdges_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientRegularPolyAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *numEdges_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *GradientHorizontal )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *GradientHorizontalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *HatchHorizontal )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchHorizontalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchVertical )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchVerticalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchForwardDiagonal )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchForwardDiagonalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchBackwardDiagonal )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchBackwardDiagonalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchCross )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchCrossAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchDiagonalCross )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchDiagonalCrossAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Overlay )( 
            IDA2Statics * This,
            /* [in] */ IDAImage *top_0,
            /* [in] */ IDAImage *bottom_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *OverlayArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAImage *imgs_0[  ],
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OverlayArray )( 
            IDA2Statics * This,
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AmbientLight )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectionalLight )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointLight )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *SpotLightAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ IDANumber *cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SpotLight )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ double cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultLineStyle )( 
            IDA2Statics * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyLineStyle )( 
            IDA2Statics * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleBevel )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleRound )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleMiter )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleFlat )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleSquare )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleRound )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DashStyleSolid )( 
            IDA2Statics * This,
            /* [retval][out] */ IDADashStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DashStyleDashed )( 
            IDA2Statics * This,
            /* [retval][out] */ IDADashStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultMicrophone )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAMicrophone **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueMatte )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAMatte **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClearMatte )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAMatte **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMatte )( 
            IDA2Statics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *IntersectMatte )( 
            IDA2Statics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DifferenceMatte )( 
            IDA2Statics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FillMatte )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *p_0,
            /* [retval][out] */ IDAMatte **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *TextMatte )( 
            IDA2Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyMontage )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAMontage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ImageMontage )( 
            IDA2Statics * This,
            /* [in] */ IDAImage *im_0,
            /* [in] */ double depth_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ImageMontageAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAImage *im_0,
            /* [in] */ IDANumber *depth_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMontage )( 
            IDA2Statics * This,
            /* [in] */ IDAMontage *m1_0,
            /* [in] */ IDAMontage *m2_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Concat )( 
            IDA2Statics * This,
            /* [in] */ IDAPath2 *p1_0,
            /* [in] */ IDAPath2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ConcatArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG paths_0size,
            /* [size_is][in] */ IDAPath2 *paths_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ConcatArray )( 
            IDA2Statics * This,
            /* [in] */ VARIANT paths_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Line )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Ray )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *pt_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *StringPathAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *StringPath )( 
            IDA2Statics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolylineEx )( 
            IDA2Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Polyline )( 
            IDA2Statics * This,
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolydrawPathEx )( 
            IDA2Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG codes_1size,
            /* [size_is][in] */ IDANumber *codes_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PolydrawPath )( 
            IDA2Statics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT codes_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ArcRadians )( 
            IDA2Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *ArcRadiansAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *ArcDegrees )( 
            IDA2Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieRadians )( 
            IDA2Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieRadiansAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieDegrees )( 
            IDA2Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *Oval )( 
            IDA2Statics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *OvalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rect )( 
            IDA2Statics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RectAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RoundRect )( 
            IDA2Statics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [in] */ double cornerArcWidth_2,
            /* [in] */ double cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RoundRectAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [in] */ IDANumber *cornerArcWidth_2,
            /* [in] */ IDANumber *cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *CubicBSplinePathEx )( 
            IDA2Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG knots_1size,
            /* [size_is][in] */ IDANumber *knots_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *CubicBSplinePath )( 
            IDA2Statics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT knots_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextPath )( 
            IDA2Statics * This,
            /* [in] */ IDAString *obsolete1_0,
            /* [in] */ IDAFontStyle *obsolete2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Silence )( 
            IDA2Statics * This,
            /* [retval][out] */ IDASound **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *MixArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG snds_0size,
            /* [size_is][in] */ IDASound *snds_0[  ],
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MixArray )( 
            IDA2Statics * This,
            /* [in] */ VARIANT snds_0,
            /* [retval][out] */ IDASound **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SinSynth )( 
            IDA2Statics * This,
            /* [retval][out] */ IDASound **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFont )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *FontAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDANumber *size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Font )( 
            IDA2Statics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ double size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *StringImageAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *StringImage )( 
            IDA2Statics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextImageAnim )( 
            IDA2Statics * This,
            /* [in] */ IDAString *obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextImage )( 
            IDA2Statics * This,
            /* [in] */ BSTR obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_XVector2 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_YVector2 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZeroVector2 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin2 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2 )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2 )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2PolarAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2Polar )( 
            IDA2Statics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2PolarDegrees )( 
            IDA2Statics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2PolarAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2Polar )( 
            IDA2Statics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DotVector2 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [in] */ IDAVector2 *u_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NegVector2 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SubVector2 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddVector2 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddPoint2Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint2Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint2 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistancePoint2 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistanceSquaredPoint2 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_XVector3 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_YVector3 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZVector3 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZeroVector3 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin3 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAPoint3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3 )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3 )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3SphericalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *xyAngle_0,
            /* [in] */ IDANumber *yzAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3Spherical )( 
            IDA2Statics * This,
            /* [in] */ double xyAngle_0,
            /* [in] */ double yzAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3SphericalAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *zxAngle_0,
            /* [in] */ IDANumber *xyAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3Spherical )( 
            IDA2Statics * This,
            /* [in] */ double zxAngle_0,
            /* [in] */ double xyAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *DotVector3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *CrossVector3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NegVector3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SubVector3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddVector3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddPoint3Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint3Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint3 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *p1_0,
            /* [in] */ IDAPoint3 *p2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistancePoint3 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistanceSquaredPoint3 )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IdentityTransform3 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDATransform3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *tx_0,
            /* [in] */ IDANumber *ty_1,
            /* [in] */ IDANumber *tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3 )( 
            IDA2Statics * This,
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Rate )( 
            IDA2Statics * This,
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *delta_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Point )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *new_origin_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3 )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Rate )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *scale_vec_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3UniformAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Uniform )( 
            IDA2Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3UniformRate )( 
            IDA2Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ IDANumber *angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Rate )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Degrees )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3RateDegrees )( 
            IDA2Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3 )( 
            IDA2Statics * This,
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3Rate )( 
            IDA2Statics * This,
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *c_0,
            /* [in] */ IDANumber *d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3 )( 
            IDA2Statics * This,
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3Rate )( 
            IDA2Statics * This,
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *e_0,
            /* [in] */ IDANumber *f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3 )( 
            IDA2Statics * This,
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3Rate )( 
            IDA2Statics * This,
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Transform4x4AnimEx )( 
            IDA2Statics * This,
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform4x4Anim )( 
            IDA2Statics * This,
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose3 )( 
            IDA2Statics * This,
            /* [in] */ IDATransform3 *a_0,
            /* [in] */ IDATransform3 *b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Compose3ArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform3 *xfs_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose3Array )( 
            IDA2Statics * This,
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LookAtFrom )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint3 *to_0,
            /* [in] */ IDAPoint3 *from_1,
            /* [in] */ IDAVector3 *up_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IdentityTransform2 )( 
            IDA2Statics * This,
            /* [retval][out] */ IDATransform2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *Tx_0,
            /* [in] */ IDANumber *Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2 )( 
            IDA2Statics * This,
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Rate )( 
            IDA2Statics * This,
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *delta_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Point )( 
            IDA2Statics * This,
            /* [in] */ IDAPoint2 *pos_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2 )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Rate )( 
            IDA2Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Vector2 )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *obsoleteMethod_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Vector )( 
            IDA2Statics * This,
            /* [in] */ IDAVector2 *scale_vec_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2UniformAnim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Uniform )( 
            IDA2Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2UniformRate )( 
            IDA2Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2 )( 
            IDA2Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Rate )( 
            IDA2Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Degrees )( 
            IDA2Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2RateDegrees )( 
            IDA2Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2 )( 
            IDA2Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2Rate )( 
            IDA2Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2Anim )( 
            IDA2Statics * This,
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2 )( 
            IDA2Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2Rate )( 
            IDA2Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Transform3x2AnimEx )( 
            IDA2Statics * This,
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform3x2Anim )( 
            IDA2Statics * This,
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose2 )( 
            IDA2Statics * This,
            /* [in] */ IDATransform2 *a_0,
            /* [in] */ IDATransform2 *b_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Compose2ArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform2 *xfs_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose2Array )( 
            IDA2Statics * This,
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Tuple )( 
            IDA2Statics * This,
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDATuple **obsolete2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Array )( 
            IDA2Statics * This,
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDAArray **obsolete2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBlockingImportsComplete )( 
            IDA2Statics * This,
            /* [retval][out] */ VARIANT_BOOL *bComplete);
        
        HRESULT ( STDMETHODCALLTYPE *ImportDirect3DRMVisual )( 
            IDA2Statics * This,
            /* [in] */ IUnknown *visual,
            /* [retval][out] */ IDAGeometry **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ApplyDXTransformEx )( 
            IDA2Statics * This,
            /* [in] */ IUnknown *theXf,
            /* [in] */ LONG numInputs,
            /* [size_is][in] */ IDABehavior **inputs,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDADXTransformResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ApplyDXTransform )( 
            IDA2Statics * This,
            /* [in] */ VARIANT varXf,
            /* [in] */ VARIANT inputs,
            /* [in] */ VARIANT evaluator,
            /* [retval][out] */ IDADXTransformResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ModifiableNumber )( 
            IDA2Statics * This,
            /* [in] */ double initVal,
            /* [retval][out] */ IDANumber **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ModifiableString )( 
            IDA2Statics * This,
            /* [in] */ BSTR initVal,
            /* [retval][out] */ IDAString **ppResult);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DAArrayEx2 )( 
            IDA2Statics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [in] */ DWORD dwFlags,
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DAArray2 )( 
            IDA2Statics * This,
            /* [in] */ VARIANT bvrs,
            /* [in] */ DWORD dwFlags,
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometryWrapped )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [retval][out] */ IDAGeometry **ppGeometry);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometryWrappedAsync )( 
            IDA2Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [in] */ IDAGeometry *pGeoStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportDirect3DRMVisualWrapped )( 
            IDA2Statics * This,
            /* [in] */ IUnknown *visual,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [retval][out] */ IDAGeometry **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UntilNotifyScript )( 
            IDA2Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ BSTR scriptlet_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewFrameRate )( 
            IDA2Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *UnionMontageArrayEx )( 
            IDA2Statics * This,
            /* [in] */ LONG mtgs_0size,
            /* [size_is][in] */ IDAMontage *mtgs_0[  ],
            /* [retval][out] */ IDAMontage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMontageArray )( 
            IDA2Statics * This,
            /* [in] */ VARIANT mtgs_0,
            /* [retval][out] */ IDAMontage **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiableBehaviorFlags )( 
            IDA2Statics * This,
            /* [retval][out] */ DWORD *dwFlags);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ModifiableBehaviorFlags )( 
            IDA2Statics * This,
            /* [in] */ DWORD dwFlags);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyColor )( 
            IDA2Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        END_INTERFACE
    } IDA2StaticsVtbl;

    interface IDA2Statics
    {
        CONST_VTBL struct IDA2StaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2Statics_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2Statics_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2Statics_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2Statics_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2Statics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2Statics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2Statics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2Statics_get_VersionString(This,str)	\
    (This)->lpVtbl -> get_VersionString(This,str)

#define IDA2Statics_get_Site(This,pSite)	\
    (This)->lpVtbl -> get_Site(This,pSite)

#define IDA2Statics_put_Site(This,pSite)	\
    (This)->lpVtbl -> put_Site(This,pSite)

#define IDA2Statics_put_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> put_ClientSite(This,pClientSite)

#define IDA2Statics_get_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> get_ClientSite(This,pClientSite)

#define IDA2Statics_put_PixelConstructionMode(This,bMode)	\
    (This)->lpVtbl -> put_PixelConstructionMode(This,bMode)

#define IDA2Statics_get_PixelConstructionMode(This,bMode)	\
    (This)->lpVtbl -> get_PixelConstructionMode(This,bMode)

#define IDA2Statics_TriggerEvent(This,event,data)	\
    (This)->lpVtbl -> TriggerEvent(This,event,data)

#define IDA2Statics_NewDrawingSurface(This,pds)	\
    (This)->lpVtbl -> NewDrawingSurface(This,pds)

#define IDA2Statics_ImportMovie(This,url,ppResult)	\
    (This)->lpVtbl -> ImportMovie(This,url,ppResult)

#define IDA2Statics_ImportMovieAsync(This,url,pImageStandIn,pSoundStandIn,ppResult)	\
    (This)->lpVtbl -> ImportMovieAsync(This,url,pImageStandIn,pSoundStandIn,ppResult)

#define IDA2Statics_ImportImage(This,url,ppImage)	\
    (This)->lpVtbl -> ImportImage(This,url,ppImage)

#define IDA2Statics_ImportImageAsync(This,url,pImageStandIn,ppResult)	\
    (This)->lpVtbl -> ImportImageAsync(This,url,pImageStandIn,ppResult)

#define IDA2Statics_ImportImageColorKey(This,url,colorKeyRed,colorKeyGreen,colorKeyBlue,ppImage)	\
    (This)->lpVtbl -> ImportImageColorKey(This,url,colorKeyRed,colorKeyGreen,colorKeyBlue,ppImage)

#define IDA2Statics_ImportImageAsyncColorKey(This,url,pImageStandIn,colorKeyRed,colorKeyGreen,colorKeyBlue,ppResult)	\
    (This)->lpVtbl -> ImportImageAsyncColorKey(This,url,pImageStandIn,colorKeyRed,colorKeyGreen,colorKeyBlue,ppResult)

#define IDA2Statics_ImportSound(This,url,ppResult)	\
    (This)->lpVtbl -> ImportSound(This,url,ppResult)

#define IDA2Statics_ImportSoundAsync(This,url,pSoundStandIn,ppResult)	\
    (This)->lpVtbl -> ImportSoundAsync(This,url,pSoundStandIn,ppResult)

#define IDA2Statics_ImportGeometry(This,url,ppGeometry)	\
    (This)->lpVtbl -> ImportGeometry(This,url,ppGeometry)

#define IDA2Statics_ImportGeometryAsync(This,url,pGeoStandIn,ppResult)	\
    (This)->lpVtbl -> ImportGeometryAsync(This,url,pGeoStandIn,ppResult)

#define IDA2Statics_ImportDirectDrawSurface(This,dds,updateEvent,ppImage)	\
    (This)->lpVtbl -> ImportDirectDrawSurface(This,dds,updateEvent,ppImage)

#define IDA2Statics_Cond(This,c,i,e,pCondBvr)	\
    (This)->lpVtbl -> Cond(This,c,i,e,pCondBvr)

#define IDA2Statics_DAArrayEx(This,s,pBvrs,bvr)	\
    (This)->lpVtbl -> DAArrayEx(This,s,pBvrs,bvr)

#define IDA2Statics_DAArray(This,bvrs,bvr)	\
    (This)->lpVtbl -> DAArray(This,bvrs,bvr)

#define IDA2Statics_DATupleEx(This,s,pBvrs,bvr)	\
    (This)->lpVtbl -> DATupleEx(This,s,pBvrs,bvr)

#define IDA2Statics_DATuple(This,bvrs,bvr)	\
    (This)->lpVtbl -> DATuple(This,bvrs,bvr)

#define IDA2Statics_ModifiableBehavior(This,orig,bvr)	\
    (This)->lpVtbl -> ModifiableBehavior(This,orig,bvr)

#define IDA2Statics_UninitializedArray(This,typeTmp,bvr)	\
    (This)->lpVtbl -> UninitializedArray(This,typeTmp,bvr)

#define IDA2Statics_UninitializedTuple(This,typeTmp,bvr)	\
    (This)->lpVtbl -> UninitializedTuple(This,typeTmp,bvr)

#define IDA2Statics_NumberBSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> NumberBSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA2Statics_NumberBSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> NumberBSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA2Statics_Point2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA2Statics_Point2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA2Statics_Point3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA2Statics_Point3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA2Statics_Vector2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA2Statics_Vector2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA2Statics_Vector3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA2Statics_Vector3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA2Statics_Pow(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Pow(This,a_0,b_1,ret_2)

#define IDA2Statics_Abs(This,a_0,ret_1)	\
    (This)->lpVtbl -> Abs(This,a_0,ret_1)

#define IDA2Statics_Sqrt(This,a_0,ret_1)	\
    (This)->lpVtbl -> Sqrt(This,a_0,ret_1)

#define IDA2Statics_Floor(This,a_0,ret_1)	\
    (This)->lpVtbl -> Floor(This,a_0,ret_1)

#define IDA2Statics_Round(This,a_0,ret_1)	\
    (This)->lpVtbl -> Round(This,a_0,ret_1)

#define IDA2Statics_Ceiling(This,a_0,ret_1)	\
    (This)->lpVtbl -> Ceiling(This,a_0,ret_1)

#define IDA2Statics_Asin(This,a_0,ret_1)	\
    (This)->lpVtbl -> Asin(This,a_0,ret_1)

#define IDA2Statics_Acos(This,a_0,ret_1)	\
    (This)->lpVtbl -> Acos(This,a_0,ret_1)

#define IDA2Statics_Atan(This,a_0,ret_1)	\
    (This)->lpVtbl -> Atan(This,a_0,ret_1)

#define IDA2Statics_Sin(This,a_0,ret_1)	\
    (This)->lpVtbl -> Sin(This,a_0,ret_1)

#define IDA2Statics_Cos(This,a_0,ret_1)	\
    (This)->lpVtbl -> Cos(This,a_0,ret_1)

#define IDA2Statics_Tan(This,a_0,ret_1)	\
    (This)->lpVtbl -> Tan(This,a_0,ret_1)

#define IDA2Statics_Exp(This,a_0,ret_1)	\
    (This)->lpVtbl -> Exp(This,a_0,ret_1)

#define IDA2Statics_Ln(This,a_0,ret_1)	\
    (This)->lpVtbl -> Ln(This,a_0,ret_1)

#define IDA2Statics_Log10(This,a_0,ret_1)	\
    (This)->lpVtbl -> Log10(This,a_0,ret_1)

#define IDA2Statics_ToDegrees(This,a_0,ret_1)	\
    (This)->lpVtbl -> ToDegrees(This,a_0,ret_1)

#define IDA2Statics_ToRadians(This,a_0,ret_1)	\
    (This)->lpVtbl -> ToRadians(This,a_0,ret_1)

#define IDA2Statics_Mod(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Mod(This,a_0,b_1,ret_2)

#define IDA2Statics_Atan2(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Atan2(This,a_0,b_1,ret_2)

#define IDA2Statics_Add(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Add(This,a_0,b_1,ret_2)

#define IDA2Statics_Sub(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Sub(This,a_0,b_1,ret_2)

#define IDA2Statics_Mul(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Mul(This,a_0,b_1,ret_2)

#define IDA2Statics_Div(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Div(This,a_0,b_1,ret_2)

#define IDA2Statics_LT(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> LT(This,a_0,b_1,ret_2)

#define IDA2Statics_LTE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> LTE(This,a_0,b_1,ret_2)

#define IDA2Statics_GT(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> GT(This,a_0,b_1,ret_2)

#define IDA2Statics_GTE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> GTE(This,a_0,b_1,ret_2)

#define IDA2Statics_EQ(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> EQ(This,a_0,b_1,ret_2)

#define IDA2Statics_NE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> NE(This,a_0,b_1,ret_2)

#define IDA2Statics_Neg(This,a_0,ret_1)	\
    (This)->lpVtbl -> Neg(This,a_0,ret_1)

#define IDA2Statics_InterpolateAnim(This,from_0,to_1,duration_2,ret_3)	\
    (This)->lpVtbl -> InterpolateAnim(This,from_0,to_1,duration_2,ret_3)

#define IDA2Statics_Interpolate(This,from_0,to_1,duration_2,ret_3)	\
    (This)->lpVtbl -> Interpolate(This,from_0,to_1,duration_2,ret_3)

#define IDA2Statics_SlowInSlowOutAnim(This,from_0,to_1,duration_2,sharpness_3,ret_4)	\
    (This)->lpVtbl -> SlowInSlowOutAnim(This,from_0,to_1,duration_2,sharpness_3,ret_4)

#define IDA2Statics_SlowInSlowOut(This,from_0,to_1,duration_2,sharpness_3,ret_4)	\
    (This)->lpVtbl -> SlowInSlowOut(This,from_0,to_1,duration_2,sharpness_3,ret_4)

#define IDA2Statics_SoundSource(This,snd_0,ret_1)	\
    (This)->lpVtbl -> SoundSource(This,snd_0,ret_1)

#define IDA2Statics_Mix(This,left_0,right_1,ret_2)	\
    (This)->lpVtbl -> Mix(This,left_0,right_1,ret_2)

#define IDA2Statics_And(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> And(This,a_0,b_1,ret_2)

#define IDA2Statics_Or(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Or(This,a_0,b_1,ret_2)

#define IDA2Statics_Not(This,a_0,ret_1)	\
    (This)->lpVtbl -> Not(This,a_0,ret_1)

#define IDA2Statics_Integral(This,b_0,ret_1)	\
    (This)->lpVtbl -> Integral(This,b_0,ret_1)

#define IDA2Statics_Derivative(This,b_0,ret_1)	\
    (This)->lpVtbl -> Derivative(This,b_0,ret_1)

#define IDA2Statics_IntegralVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> IntegralVector2(This,v_0,ret_1)

#define IDA2Statics_IntegralVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> IntegralVector3(This,v_0,ret_1)

#define IDA2Statics_DerivativeVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativeVector2(This,v_0,ret_1)

#define IDA2Statics_DerivativeVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativeVector3(This,v_0,ret_1)

#define IDA2Statics_DerivativePoint2(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativePoint2(This,v_0,ret_1)

#define IDA2Statics_DerivativePoint3(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativePoint3(This,v_0,ret_1)

#define IDA2Statics_KeyState(This,n_0,ret_1)	\
    (This)->lpVtbl -> KeyState(This,n_0,ret_1)

#define IDA2Statics_KeyUp(This,arg_0,ret_1)	\
    (This)->lpVtbl -> KeyUp(This,arg_0,ret_1)

#define IDA2Statics_KeyDown(This,arg_0,ret_1)	\
    (This)->lpVtbl -> KeyDown(This,arg_0,ret_1)

#define IDA2Statics_DANumber(This,num_0,ret_1)	\
    (This)->lpVtbl -> DANumber(This,num_0,ret_1)

#define IDA2Statics_DAString(This,str_0,ret_1)	\
    (This)->lpVtbl -> DAString(This,str_0,ret_1)

#define IDA2Statics_DABoolean(This,num_0,ret_1)	\
    (This)->lpVtbl -> DABoolean(This,num_0,ret_1)

#define IDA2Statics_SeededRandom(This,arg_0,ret_1)	\
    (This)->lpVtbl -> SeededRandom(This,arg_0,ret_1)

#define IDA2Statics_get_MousePosition(This,ret_0)	\
    (This)->lpVtbl -> get_MousePosition(This,ret_0)

#define IDA2Statics_get_LeftButtonState(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonState(This,ret_0)

#define IDA2Statics_get_RightButtonState(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonState(This,ret_0)

#define IDA2Statics_get_DATrue(This,ret_0)	\
    (This)->lpVtbl -> get_DATrue(This,ret_0)

#define IDA2Statics_get_DAFalse(This,ret_0)	\
    (This)->lpVtbl -> get_DAFalse(This,ret_0)

#define IDA2Statics_get_LocalTime(This,ret_0)	\
    (This)->lpVtbl -> get_LocalTime(This,ret_0)

#define IDA2Statics_get_GlobalTime(This,ret_0)	\
    (This)->lpVtbl -> get_GlobalTime(This,ret_0)

#define IDA2Statics_get_Pixel(This,ret_0)	\
    (This)->lpVtbl -> get_Pixel(This,ret_0)

#define IDA2Statics_UserData(This,data_0,ret_1)	\
    (This)->lpVtbl -> UserData(This,data_0,ret_1)

#define IDA2Statics_UntilNotify(This,b0_0,event_1,notifier_2,ret_3)	\
    (This)->lpVtbl -> UntilNotify(This,b0_0,event_1,notifier_2,ret_3)

#define IDA2Statics_Until(This,b0_0,event_1,b1_2,ret_3)	\
    (This)->lpVtbl -> Until(This,b0_0,event_1,b1_2,ret_3)

#define IDA2Statics_UntilEx(This,b0_0,event_1,ret_2)	\
    (This)->lpVtbl -> UntilEx(This,b0_0,event_1,ret_2)

#define IDA2Statics_Sequence(This,s1_0,s2_1,ret_2)	\
    (This)->lpVtbl -> Sequence(This,s1_0,s2_1,ret_2)

#define IDA2Statics_FollowPath(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPath(This,path_0,duration_1,ret_2)

#define IDA2Statics_FollowPathAngle(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngle(This,path_0,duration_1,ret_2)

#define IDA2Statics_FollowPathAngleUpright(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUpright(This,path_0,duration_1,ret_2)

#define IDA2Statics_FollowPathEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathEval(This,path_0,eval_1,ret_2)

#define IDA2Statics_FollowPathAngleEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleEval(This,path_0,eval_1,ret_2)

#define IDA2Statics_FollowPathAngleUprightEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUprightEval(This,path_0,eval_1,ret_2)

#define IDA2Statics_FollowPathAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA2Statics_FollowPathAngleAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA2Statics_FollowPathAngleUprightAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUprightAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA2Statics_ConcatString(This,s1_0,s2_1,ret_2)	\
    (This)->lpVtbl -> ConcatString(This,s1_0,s2_1,ret_2)

#define IDA2Statics_PerspectiveCamera(This,focalDist_0,nearClip_1,ret_2)	\
    (This)->lpVtbl -> PerspectiveCamera(This,focalDist_0,nearClip_1,ret_2)

#define IDA2Statics_PerspectiveCameraAnim(This,focalDist_0,nearClip_1,ret_2)	\
    (This)->lpVtbl -> PerspectiveCameraAnim(This,focalDist_0,nearClip_1,ret_2)

#define IDA2Statics_ParallelCamera(This,nearClip_0,ret_1)	\
    (This)->lpVtbl -> ParallelCamera(This,nearClip_0,ret_1)

#define IDA2Statics_ParallelCameraAnim(This,nearClip_0,ret_1)	\
    (This)->lpVtbl -> ParallelCameraAnim(This,nearClip_0,ret_1)

#define IDA2Statics_ColorRgbAnim(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgbAnim(This,red_0,green_1,blue_2,ret_3)

#define IDA2Statics_ColorRgb(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgb(This,red_0,green_1,blue_2,ret_3)

#define IDA2Statics_ColorRgb255(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgb255(This,red_0,green_1,blue_2,ret_3)

#define IDA2Statics_ColorHsl(This,hue_0,saturation_1,lum_2,ret_3)	\
    (This)->lpVtbl -> ColorHsl(This,hue_0,saturation_1,lum_2,ret_3)

#define IDA2Statics_ColorHslAnim(This,hue_0,saturation_1,lum_2,ret_3)	\
    (This)->lpVtbl -> ColorHslAnim(This,hue_0,saturation_1,lum_2,ret_3)

#define IDA2Statics_get_Red(This,ret_0)	\
    (This)->lpVtbl -> get_Red(This,ret_0)

#define IDA2Statics_get_Green(This,ret_0)	\
    (This)->lpVtbl -> get_Green(This,ret_0)

#define IDA2Statics_get_Blue(This,ret_0)	\
    (This)->lpVtbl -> get_Blue(This,ret_0)

#define IDA2Statics_get_Cyan(This,ret_0)	\
    (This)->lpVtbl -> get_Cyan(This,ret_0)

#define IDA2Statics_get_Magenta(This,ret_0)	\
    (This)->lpVtbl -> get_Magenta(This,ret_0)

#define IDA2Statics_get_Yellow(This,ret_0)	\
    (This)->lpVtbl -> get_Yellow(This,ret_0)

#define IDA2Statics_get_Black(This,ret_0)	\
    (This)->lpVtbl -> get_Black(This,ret_0)

#define IDA2Statics_get_White(This,ret_0)	\
    (This)->lpVtbl -> get_White(This,ret_0)

#define IDA2Statics_get_Aqua(This,ret_0)	\
    (This)->lpVtbl -> get_Aqua(This,ret_0)

#define IDA2Statics_get_Fuchsia(This,ret_0)	\
    (This)->lpVtbl -> get_Fuchsia(This,ret_0)

#define IDA2Statics_get_Gray(This,ret_0)	\
    (This)->lpVtbl -> get_Gray(This,ret_0)

#define IDA2Statics_get_Lime(This,ret_0)	\
    (This)->lpVtbl -> get_Lime(This,ret_0)

#define IDA2Statics_get_Maroon(This,ret_0)	\
    (This)->lpVtbl -> get_Maroon(This,ret_0)

#define IDA2Statics_get_Navy(This,ret_0)	\
    (This)->lpVtbl -> get_Navy(This,ret_0)

#define IDA2Statics_get_Olive(This,ret_0)	\
    (This)->lpVtbl -> get_Olive(This,ret_0)

#define IDA2Statics_get_Purple(This,ret_0)	\
    (This)->lpVtbl -> get_Purple(This,ret_0)

#define IDA2Statics_get_Silver(This,ret_0)	\
    (This)->lpVtbl -> get_Silver(This,ret_0)

#define IDA2Statics_get_Teal(This,ret_0)	\
    (This)->lpVtbl -> get_Teal(This,ret_0)

#define IDA2Statics_Predicate(This,b_0,ret_1)	\
    (This)->lpVtbl -> Predicate(This,b_0,ret_1)

#define IDA2Statics_NotEvent(This,event_0,ret_1)	\
    (This)->lpVtbl -> NotEvent(This,event_0,ret_1)

#define IDA2Statics_AndEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> AndEvent(This,e1_0,e2_1,ret_2)

#define IDA2Statics_OrEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> OrEvent(This,e1_0,e2_1,ret_2)

#define IDA2Statics_ThenEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> ThenEvent(This,e1_0,e2_1,ret_2)

#define IDA2Statics_get_LeftButtonDown(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonDown(This,ret_0)

#define IDA2Statics_get_LeftButtonUp(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonUp(This,ret_0)

#define IDA2Statics_get_RightButtonDown(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonDown(This,ret_0)

#define IDA2Statics_get_RightButtonUp(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonUp(This,ret_0)

#define IDA2Statics_get_Always(This,ret_0)	\
    (This)->lpVtbl -> get_Always(This,ret_0)

#define IDA2Statics_get_Never(This,ret_0)	\
    (This)->lpVtbl -> get_Never(This,ret_0)

#define IDA2Statics_TimerAnim(This,n_0,ret_1)	\
    (This)->lpVtbl -> TimerAnim(This,n_0,ret_1)

#define IDA2Statics_Timer(This,n_0,ret_1)	\
    (This)->lpVtbl -> Timer(This,n_0,ret_1)

#define IDA2Statics_AppTriggeredEvent(This,ret_0)	\
    (This)->lpVtbl -> AppTriggeredEvent(This,ret_0)

#define IDA2Statics_ScriptCallback(This,obsolete1_0,obsolete2_1,obsolete3_2,ret_3)	\
    (This)->lpVtbl -> ScriptCallback(This,obsolete1_0,obsolete2_1,obsolete3_2,ret_3)

#define IDA2Statics_get_EmptyGeometry(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyGeometry(This,ret_0)

#define IDA2Statics_UnionGeometry(This,g1_0,g2_1,ret_2)	\
    (This)->lpVtbl -> UnionGeometry(This,g1_0,g2_1,ret_2)

#define IDA2Statics_UnionGeometryArrayEx(This,imgs_0size,imgs_0,ret_1)	\
    (This)->lpVtbl -> UnionGeometryArrayEx(This,imgs_0size,imgs_0,ret_1)

#define IDA2Statics_UnionGeometryArray(This,imgs_0,ret_1)	\
    (This)->lpVtbl -> UnionGeometryArray(This,imgs_0,ret_1)

#define IDA2Statics_get_EmptyImage(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyImage(This,ret_0)

#define IDA2Statics_get_DetectableEmptyImage(This,ret_0)	\
    (This)->lpVtbl -> get_DetectableEmptyImage(This,ret_0)

#define IDA2Statics_SolidColorImage(This,col_0,ret_1)	\
    (This)->lpVtbl -> SolidColorImage(This,col_0,ret_1)

#define IDA2Statics_GradientPolygonEx(This,points_0size,points_0,colors_1size,colors_1,ret_2)	\
    (This)->lpVtbl -> GradientPolygonEx(This,points_0size,points_0,colors_1size,colors_1,ret_2)

#define IDA2Statics_GradientPolygon(This,points_0,colors_1,ret_2)	\
    (This)->lpVtbl -> GradientPolygon(This,points_0,colors_1,ret_2)

#define IDA2Statics_RadialGradientPolygonEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)

#define IDA2Statics_RadialGradientPolygon(This,inner_0,outer_1,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygon(This,inner_0,outer_1,points_2,fallOff_3,ret_4)

#define IDA2Statics_RadialGradientPolygonAnimEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonAnimEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)

#define IDA2Statics_RadialGradientPolygonAnim(This,inner_0,outer_1,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonAnim(This,inner_0,outer_1,points_2,fallOff_3,ret_4)

#define IDA2Statics_GradientSquare(This,lowerLeft_0,upperLeft_1,upperRight_2,lowerRight_3,ret_4)	\
    (This)->lpVtbl -> GradientSquare(This,lowerLeft_0,upperLeft_1,upperRight_2,lowerRight_3,ret_4)

#define IDA2Statics_RadialGradientSquare(This,inner_0,outer_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> RadialGradientSquare(This,inner_0,outer_1,fallOff_2,ret_3)

#define IDA2Statics_RadialGradientSquareAnim(This,inner_0,outer_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> RadialGradientSquareAnim(This,inner_0,outer_1,fallOff_2,ret_3)

#define IDA2Statics_RadialGradientRegularPoly(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientRegularPoly(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)

#define IDA2Statics_RadialGradientRegularPolyAnim(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientRegularPolyAnim(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)

#define IDA2Statics_GradientHorizontal(This,start_0,stop_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> GradientHorizontal(This,start_0,stop_1,fallOff_2,ret_3)

#define IDA2Statics_GradientHorizontalAnim(This,start_0,stop_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> GradientHorizontalAnim(This,start_0,stop_1,fallOff_2,ret_3)

#define IDA2Statics_HatchHorizontal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchHorizontal(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchHorizontalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchHorizontalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchVertical(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchVertical(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchVerticalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchVerticalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchForwardDiagonal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchForwardDiagonal(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchForwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchForwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchBackwardDiagonal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchBackwardDiagonal(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchBackwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchBackwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchCross(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchCross(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchCrossAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchCrossAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchDiagonalCross(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchDiagonalCross(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_HatchDiagonalCrossAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchDiagonalCrossAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA2Statics_Overlay(This,top_0,bottom_1,ret_2)	\
    (This)->lpVtbl -> Overlay(This,top_0,bottom_1,ret_2)

#define IDA2Statics_OverlayArrayEx(This,imgs_0size,imgs_0,ret_1)	\
    (This)->lpVtbl -> OverlayArrayEx(This,imgs_0size,imgs_0,ret_1)

#define IDA2Statics_OverlayArray(This,imgs_0,ret_1)	\
    (This)->lpVtbl -> OverlayArray(This,imgs_0,ret_1)

#define IDA2Statics_get_AmbientLight(This,ret_0)	\
    (This)->lpVtbl -> get_AmbientLight(This,ret_0)

#define IDA2Statics_get_DirectionalLight(This,ret_0)	\
    (This)->lpVtbl -> get_DirectionalLight(This,ret_0)

#define IDA2Statics_get_PointLight(This,ret_0)	\
    (This)->lpVtbl -> get_PointLight(This,ret_0)

#define IDA2Statics_SpotLightAnim(This,fullcone_0,cutoff_1,ret_2)	\
    (This)->lpVtbl -> SpotLightAnim(This,fullcone_0,cutoff_1,ret_2)

#define IDA2Statics_SpotLight(This,fullcone_0,cutoff_1,ret_2)	\
    (This)->lpVtbl -> SpotLight(This,fullcone_0,cutoff_1,ret_2)

#define IDA2Statics_get_DefaultLineStyle(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultLineStyle(This,ret_0)

#define IDA2Statics_get_EmptyLineStyle(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyLineStyle(This,ret_0)

#define IDA2Statics_get_JoinStyleBevel(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleBevel(This,ret_0)

#define IDA2Statics_get_JoinStyleRound(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleRound(This,ret_0)

#define IDA2Statics_get_JoinStyleMiter(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleMiter(This,ret_0)

#define IDA2Statics_get_EndStyleFlat(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleFlat(This,ret_0)

#define IDA2Statics_get_EndStyleSquare(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleSquare(This,ret_0)

#define IDA2Statics_get_EndStyleRound(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleRound(This,ret_0)

#define IDA2Statics_get_DashStyleSolid(This,ret_0)	\
    (This)->lpVtbl -> get_DashStyleSolid(This,ret_0)

#define IDA2Statics_get_DashStyleDashed(This,ret_0)	\
    (This)->lpVtbl -> get_DashStyleDashed(This,ret_0)

#define IDA2Statics_get_DefaultMicrophone(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultMicrophone(This,ret_0)

#define IDA2Statics_get_OpaqueMatte(This,ret_0)	\
    (This)->lpVtbl -> get_OpaqueMatte(This,ret_0)

#define IDA2Statics_get_ClearMatte(This,ret_0)	\
    (This)->lpVtbl -> get_ClearMatte(This,ret_0)

#define IDA2Statics_UnionMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> UnionMatte(This,m1_0,m2_1,ret_2)

#define IDA2Statics_IntersectMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> IntersectMatte(This,m1_0,m2_1,ret_2)

#define IDA2Statics_DifferenceMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> DifferenceMatte(This,m1_0,m2_1,ret_2)

#define IDA2Statics_FillMatte(This,p_0,ret_1)	\
    (This)->lpVtbl -> FillMatte(This,p_0,ret_1)

#define IDA2Statics_TextMatte(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> TextMatte(This,str_0,fs_1,ret_2)

#define IDA2Statics_get_EmptyMontage(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyMontage(This,ret_0)

#define IDA2Statics_ImageMontage(This,im_0,depth_1,ret_2)	\
    (This)->lpVtbl -> ImageMontage(This,im_0,depth_1,ret_2)

#define IDA2Statics_ImageMontageAnim(This,im_0,depth_1,ret_2)	\
    (This)->lpVtbl -> ImageMontageAnim(This,im_0,depth_1,ret_2)

#define IDA2Statics_UnionMontage(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> UnionMontage(This,m1_0,m2_1,ret_2)

#define IDA2Statics_Concat(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> Concat(This,p1_0,p2_1,ret_2)

#define IDA2Statics_ConcatArrayEx(This,paths_0size,paths_0,ret_1)	\
    (This)->lpVtbl -> ConcatArrayEx(This,paths_0size,paths_0,ret_1)

#define IDA2Statics_ConcatArray(This,paths_0,ret_1)	\
    (This)->lpVtbl -> ConcatArray(This,paths_0,ret_1)

#define IDA2Statics_Line(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> Line(This,p1_0,p2_1,ret_2)

#define IDA2Statics_Ray(This,pt_0,ret_1)	\
    (This)->lpVtbl -> Ray(This,pt_0,ret_1)

#define IDA2Statics_StringPathAnim(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringPathAnim(This,str_0,fs_1,ret_2)

#define IDA2Statics_StringPath(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringPath(This,str_0,fs_1,ret_2)

#define IDA2Statics_PolylineEx(This,points_0size,points_0,ret_1)	\
    (This)->lpVtbl -> PolylineEx(This,points_0size,points_0,ret_1)

#define IDA2Statics_Polyline(This,points_0,ret_1)	\
    (This)->lpVtbl -> Polyline(This,points_0,ret_1)

#define IDA2Statics_PolydrawPathEx(This,points_0size,points_0,codes_1size,codes_1,ret_2)	\
    (This)->lpVtbl -> PolydrawPathEx(This,points_0size,points_0,codes_1size,codes_1,ret_2)

#define IDA2Statics_PolydrawPath(This,points_0,codes_1,ret_2)	\
    (This)->lpVtbl -> PolydrawPath(This,points_0,codes_1,ret_2)

#define IDA2Statics_ArcRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA2Statics_ArcRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA2Statics_ArcDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA2Statics_PieRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA2Statics_PieRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA2Statics_PieDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA2Statics_Oval(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> Oval(This,width_0,height_1,ret_2)

#define IDA2Statics_OvalAnim(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> OvalAnim(This,width_0,height_1,ret_2)

#define IDA2Statics_Rect(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> Rect(This,width_0,height_1,ret_2)

#define IDA2Statics_RectAnim(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> RectAnim(This,width_0,height_1,ret_2)

#define IDA2Statics_RoundRect(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)	\
    (This)->lpVtbl -> RoundRect(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)

#define IDA2Statics_RoundRectAnim(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)	\
    (This)->lpVtbl -> RoundRectAnim(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)

#define IDA2Statics_CubicBSplinePathEx(This,points_0size,points_0,knots_1size,knots_1,ret_2)	\
    (This)->lpVtbl -> CubicBSplinePathEx(This,points_0size,points_0,knots_1size,knots_1,ret_2)

#define IDA2Statics_CubicBSplinePath(This,points_0,knots_1,ret_2)	\
    (This)->lpVtbl -> CubicBSplinePath(This,points_0,knots_1,ret_2)

#define IDA2Statics_TextPath(This,obsolete1_0,obsolete2_1,ret_2)	\
    (This)->lpVtbl -> TextPath(This,obsolete1_0,obsolete2_1,ret_2)

#define IDA2Statics_get_Silence(This,ret_0)	\
    (This)->lpVtbl -> get_Silence(This,ret_0)

#define IDA2Statics_MixArrayEx(This,snds_0size,snds_0,ret_1)	\
    (This)->lpVtbl -> MixArrayEx(This,snds_0size,snds_0,ret_1)

#define IDA2Statics_MixArray(This,snds_0,ret_1)	\
    (This)->lpVtbl -> MixArray(This,snds_0,ret_1)

#define IDA2Statics_get_SinSynth(This,ret_0)	\
    (This)->lpVtbl -> get_SinSynth(This,ret_0)

#define IDA2Statics_get_DefaultFont(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultFont(This,ret_0)

#define IDA2Statics_FontAnim(This,str_0,size_1,col_2,ret_3)	\
    (This)->lpVtbl -> FontAnim(This,str_0,size_1,col_2,ret_3)

#define IDA2Statics_Font(This,str_0,size_1,col_2,ret_3)	\
    (This)->lpVtbl -> Font(This,str_0,size_1,col_2,ret_3)

#define IDA2Statics_StringImageAnim(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringImageAnim(This,str_0,fs_1,ret_2)

#define IDA2Statics_StringImage(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringImage(This,str_0,fs_1,ret_2)

#define IDA2Statics_TextImageAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> TextImageAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA2Statics_TextImage(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> TextImage(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA2Statics_get_XVector2(This,ret_0)	\
    (This)->lpVtbl -> get_XVector2(This,ret_0)

#define IDA2Statics_get_YVector2(This,ret_0)	\
    (This)->lpVtbl -> get_YVector2(This,ret_0)

#define IDA2Statics_get_ZeroVector2(This,ret_0)	\
    (This)->lpVtbl -> get_ZeroVector2(This,ret_0)

#define IDA2Statics_get_Origin2(This,ret_0)	\
    (This)->lpVtbl -> get_Origin2(This,ret_0)

#define IDA2Statics_Vector2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Vector2Anim(This,x_0,y_1,ret_2)

#define IDA2Statics_Vector2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Vector2(This,x_0,y_1,ret_2)

#define IDA2Statics_Point2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Point2Anim(This,x_0,y_1,ret_2)

#define IDA2Statics_Point2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Point2(This,x_0,y_1,ret_2)

#define IDA2Statics_Vector2PolarAnim(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2PolarAnim(This,theta_0,radius_1,ret_2)

#define IDA2Statics_Vector2Polar(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2Polar(This,theta_0,radius_1,ret_2)

#define IDA2Statics_Vector2PolarDegrees(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2PolarDegrees(This,theta_0,radius_1,ret_2)

#define IDA2Statics_Point2PolarAnim(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Point2PolarAnim(This,theta_0,radius_1,ret_2)

#define IDA2Statics_Point2Polar(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Point2Polar(This,theta_0,radius_1,ret_2)

#define IDA2Statics_DotVector2(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> DotVector2(This,v_0,u_1,ret_2)

#define IDA2Statics_NegVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> NegVector2(This,v_0,ret_1)

#define IDA2Statics_SubVector2(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> SubVector2(This,v1_0,v2_1,ret_2)

#define IDA2Statics_AddVector2(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> AddVector2(This,v1_0,v2_1,ret_2)

#define IDA2Statics_AddPoint2Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> AddPoint2Vector(This,p_0,v_1,ret_2)

#define IDA2Statics_SubPoint2Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> SubPoint2Vector(This,p_0,v_1,ret_2)

#define IDA2Statics_SubPoint2(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> SubPoint2(This,p1_0,p2_1,ret_2)

#define IDA2Statics_DistancePoint2(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistancePoint2(This,p_0,q_1,ret_2)

#define IDA2Statics_DistanceSquaredPoint2(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistanceSquaredPoint2(This,p_0,q_1,ret_2)

#define IDA2Statics_get_XVector3(This,ret_0)	\
    (This)->lpVtbl -> get_XVector3(This,ret_0)

#define IDA2Statics_get_YVector3(This,ret_0)	\
    (This)->lpVtbl -> get_YVector3(This,ret_0)

#define IDA2Statics_get_ZVector3(This,ret_0)	\
    (This)->lpVtbl -> get_ZVector3(This,ret_0)

#define IDA2Statics_get_ZeroVector3(This,ret_0)	\
    (This)->lpVtbl -> get_ZeroVector3(This,ret_0)

#define IDA2Statics_get_Origin3(This,ret_0)	\
    (This)->lpVtbl -> get_Origin3(This,ret_0)

#define IDA2Statics_Vector3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Vector3Anim(This,x_0,y_1,z_2,ret_3)

#define IDA2Statics_Vector3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Vector3(This,x_0,y_1,z_2,ret_3)

#define IDA2Statics_Point3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Point3Anim(This,x_0,y_1,z_2,ret_3)

#define IDA2Statics_Point3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Point3(This,x_0,y_1,z_2,ret_3)

#define IDA2Statics_Vector3SphericalAnim(This,xyAngle_0,yzAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Vector3SphericalAnim(This,xyAngle_0,yzAngle_1,radius_2,ret_3)

#define IDA2Statics_Vector3Spherical(This,xyAngle_0,yzAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Vector3Spherical(This,xyAngle_0,yzAngle_1,radius_2,ret_3)

#define IDA2Statics_Point3SphericalAnim(This,zxAngle_0,xyAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Point3SphericalAnim(This,zxAngle_0,xyAngle_1,radius_2,ret_3)

#define IDA2Statics_Point3Spherical(This,zxAngle_0,xyAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Point3Spherical(This,zxAngle_0,xyAngle_1,radius_2,ret_3)

#define IDA2Statics_DotVector3(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> DotVector3(This,v_0,u_1,ret_2)

#define IDA2Statics_CrossVector3(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> CrossVector3(This,v_0,u_1,ret_2)

#define IDA2Statics_NegVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> NegVector3(This,v_0,ret_1)

#define IDA2Statics_SubVector3(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> SubVector3(This,v1_0,v2_1,ret_2)

#define IDA2Statics_AddVector3(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> AddVector3(This,v1_0,v2_1,ret_2)

#define IDA2Statics_AddPoint3Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> AddPoint3Vector(This,p_0,v_1,ret_2)

#define IDA2Statics_SubPoint3Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> SubPoint3Vector(This,p_0,v_1,ret_2)

#define IDA2Statics_SubPoint3(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> SubPoint3(This,p1_0,p2_1,ret_2)

#define IDA2Statics_DistancePoint3(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistancePoint3(This,p_0,q_1,ret_2)

#define IDA2Statics_DistanceSquaredPoint3(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistanceSquaredPoint3(This,p_0,q_1,ret_2)

#define IDA2Statics_get_IdentityTransform3(This,ret_0)	\
    (This)->lpVtbl -> get_IdentityTransform3(This,ret_0)

#define IDA2Statics_Translate3Anim(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3Anim(This,tx_0,ty_1,tz_2,ret_3)

#define IDA2Statics_Translate3(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3(This,tx_0,ty_1,tz_2,ret_3)

#define IDA2Statics_Translate3Rate(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3Rate(This,tx_0,ty_1,tz_2,ret_3)

#define IDA2Statics_Translate3Vector(This,delta_0,ret_1)	\
    (This)->lpVtbl -> Translate3Vector(This,delta_0,ret_1)

#define IDA2Statics_Translate3Point(This,new_origin_0,ret_1)	\
    (This)->lpVtbl -> Translate3Point(This,new_origin_0,ret_1)

#define IDA2Statics_Scale3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3Anim(This,x_0,y_1,z_2,ret_3)

#define IDA2Statics_Scale3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3(This,x_0,y_1,z_2,ret_3)

#define IDA2Statics_Scale3Rate(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3Rate(This,x_0,y_1,z_2,ret_3)

#define IDA2Statics_Scale3Vector(This,scale_vec_0,ret_1)	\
    (This)->lpVtbl -> Scale3Vector(This,scale_vec_0,ret_1)

#define IDA2Statics_Scale3UniformAnim(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3UniformAnim(This,uniform_scale_0,ret_1)

#define IDA2Statics_Scale3Uniform(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3Uniform(This,uniform_scale_0,ret_1)

#define IDA2Statics_Scale3UniformRate(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3UniformRate(This,uniform_scale_0,ret_1)

#define IDA2Statics_Rotate3Anim(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Anim(This,axis_0,angle_1,ret_2)

#define IDA2Statics_Rotate3(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3(This,axis_0,angle_1,ret_2)

#define IDA2Statics_Rotate3Rate(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Rate(This,axis_0,angle_1,ret_2)

#define IDA2Statics_Rotate3Degrees(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Degrees(This,axis_0,angle_1,ret_2)

#define IDA2Statics_Rotate3RateDegrees(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3RateDegrees(This,axis_0,angle_1,ret_2)

#define IDA2Statics_XShear3Anim(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3Anim(This,a_0,b_1,ret_2)

#define IDA2Statics_XShear3(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3(This,a_0,b_1,ret_2)

#define IDA2Statics_XShear3Rate(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3Rate(This,a_0,b_1,ret_2)

#define IDA2Statics_YShear3Anim(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3Anim(This,c_0,d_1,ret_2)

#define IDA2Statics_YShear3(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3(This,c_0,d_1,ret_2)

#define IDA2Statics_YShear3Rate(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3Rate(This,c_0,d_1,ret_2)

#define IDA2Statics_ZShear3Anim(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3Anim(This,e_0,f_1,ret_2)

#define IDA2Statics_ZShear3(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3(This,e_0,f_1,ret_2)

#define IDA2Statics_ZShear3Rate(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3Rate(This,e_0,f_1,ret_2)

#define IDA2Statics_Transform4x4AnimEx(This,m_0size,m_0,ret_1)	\
    (This)->lpVtbl -> Transform4x4AnimEx(This,m_0size,m_0,ret_1)

#define IDA2Statics_Transform4x4Anim(This,m_0,ret_1)	\
    (This)->lpVtbl -> Transform4x4Anim(This,m_0,ret_1)

#define IDA2Statics_Compose3(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Compose3(This,a_0,b_1,ret_2)

#define IDA2Statics_Compose3ArrayEx(This,xfs_0size,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose3ArrayEx(This,xfs_0size,xfs_0,ret_1)

#define IDA2Statics_Compose3Array(This,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose3Array(This,xfs_0,ret_1)

#define IDA2Statics_LookAtFrom(This,to_0,from_1,up_2,ret_3)	\
    (This)->lpVtbl -> LookAtFrom(This,to_0,from_1,up_2,ret_3)

#define IDA2Statics_get_IdentityTransform2(This,ret_0)	\
    (This)->lpVtbl -> get_IdentityTransform2(This,ret_0)

#define IDA2Statics_Translate2Anim(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2Anim(This,Tx_0,Ty_1,ret_2)

#define IDA2Statics_Translate2(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2(This,Tx_0,Ty_1,ret_2)

#define IDA2Statics_Translate2Rate(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2Rate(This,Tx_0,Ty_1,ret_2)

#define IDA2Statics_Translate2Vector(This,delta_0,ret_1)	\
    (This)->lpVtbl -> Translate2Vector(This,delta_0,ret_1)

#define IDA2Statics_Translate2Point(This,pos_0,ret_1)	\
    (This)->lpVtbl -> Translate2Point(This,pos_0,ret_1)

#define IDA2Statics_Scale2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2Anim(This,x_0,y_1,ret_2)

#define IDA2Statics_Scale2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2(This,x_0,y_1,ret_2)

#define IDA2Statics_Scale2Rate(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2Rate(This,x_0,y_1,ret_2)

#define IDA2Statics_Scale2Vector2(This,obsoleteMethod_0,ret_1)	\
    (This)->lpVtbl -> Scale2Vector2(This,obsoleteMethod_0,ret_1)

#define IDA2Statics_Scale2Vector(This,scale_vec_0,ret_1)	\
    (This)->lpVtbl -> Scale2Vector(This,scale_vec_0,ret_1)

#define IDA2Statics_Scale2UniformAnim(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2UniformAnim(This,uniform_scale_0,ret_1)

#define IDA2Statics_Scale2Uniform(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2Uniform(This,uniform_scale_0,ret_1)

#define IDA2Statics_Scale2UniformRate(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2UniformRate(This,uniform_scale_0,ret_1)

#define IDA2Statics_Rotate2Anim(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Anim(This,angle_0,ret_1)

#define IDA2Statics_Rotate2(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2(This,angle_0,ret_1)

#define IDA2Statics_Rotate2Rate(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Rate(This,angle_0,ret_1)

#define IDA2Statics_Rotate2Degrees(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Degrees(This,angle_0,ret_1)

#define IDA2Statics_Rotate2RateDegrees(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2RateDegrees(This,angle_0,ret_1)

#define IDA2Statics_XShear2Anim(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2Anim(This,arg_0,ret_1)

#define IDA2Statics_XShear2(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2(This,arg_0,ret_1)

#define IDA2Statics_XShear2Rate(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2Rate(This,arg_0,ret_1)

#define IDA2Statics_YShear2Anim(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2Anim(This,arg_0,ret_1)

#define IDA2Statics_YShear2(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2(This,arg_0,ret_1)

#define IDA2Statics_YShear2Rate(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2Rate(This,arg_0,ret_1)

#define IDA2Statics_Transform3x2AnimEx(This,m_0size,m_0,ret_1)	\
    (This)->lpVtbl -> Transform3x2AnimEx(This,m_0size,m_0,ret_1)

#define IDA2Statics_Transform3x2Anim(This,m_0,ret_1)	\
    (This)->lpVtbl -> Transform3x2Anim(This,m_0,ret_1)

#define IDA2Statics_Compose2(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Compose2(This,a_0,b_1,ret_2)

#define IDA2Statics_Compose2ArrayEx(This,xfs_0size,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose2ArrayEx(This,xfs_0size,xfs_0,ret_1)

#define IDA2Statics_Compose2Array(This,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose2Array(This,xfs_0,ret_1)

#define IDA2Statics_Tuple(This,obsolete1,obsolete2)	\
    (This)->lpVtbl -> Tuple(This,obsolete1,obsolete2)

#define IDA2Statics_Array(This,obsolete1,obsolete2)	\
    (This)->lpVtbl -> Array(This,obsolete1,obsolete2)

#define IDA2Statics_get_AreBlockingImportsComplete(This,bComplete)	\
    (This)->lpVtbl -> get_AreBlockingImportsComplete(This,bComplete)


#define IDA2Statics_ImportDirect3DRMVisual(This,visual,bvr)	\
    (This)->lpVtbl -> ImportDirect3DRMVisual(This,visual,bvr)

#define IDA2Statics_ApplyDXTransformEx(This,theXf,numInputs,inputs,evaluator,ppResult)	\
    (This)->lpVtbl -> ApplyDXTransformEx(This,theXf,numInputs,inputs,evaluator,ppResult)

#define IDA2Statics_ApplyDXTransform(This,varXf,inputs,evaluator,ppResult)	\
    (This)->lpVtbl -> ApplyDXTransform(This,varXf,inputs,evaluator,ppResult)

#define IDA2Statics_ModifiableNumber(This,initVal,ppResult)	\
    (This)->lpVtbl -> ModifiableNumber(This,initVal,ppResult)

#define IDA2Statics_ModifiableString(This,initVal,ppResult)	\
    (This)->lpVtbl -> ModifiableString(This,initVal,ppResult)

#define IDA2Statics_DAArrayEx2(This,s,pBvrs,dwFlags,bvr)	\
    (This)->lpVtbl -> DAArrayEx2(This,s,pBvrs,dwFlags,bvr)

#define IDA2Statics_DAArray2(This,bvrs,dwFlags,bvr)	\
    (This)->lpVtbl -> DAArray2(This,bvrs,dwFlags,bvr)

#define IDA2Statics_ImportGeometryWrapped(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,ppGeometry)	\
    (This)->lpVtbl -> ImportGeometryWrapped(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,ppGeometry)

#define IDA2Statics_ImportGeometryWrappedAsync(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,pGeoStandIn,ppResult)	\
    (This)->lpVtbl -> ImportGeometryWrappedAsync(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,pGeoStandIn,ppResult)

#define IDA2Statics_ImportDirect3DRMVisualWrapped(This,visual,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,bvr)	\
    (This)->lpVtbl -> ImportDirect3DRMVisualWrapped(This,visual,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,bvr)

#define IDA2Statics_UntilNotifyScript(This,b0_0,event_1,scriptlet_2,ret_3)	\
    (This)->lpVtbl -> UntilNotifyScript(This,b0_0,event_1,scriptlet_2,ret_3)

#define IDA2Statics_get_ViewFrameRate(This,ret_0)	\
    (This)->lpVtbl -> get_ViewFrameRate(This,ret_0)

#define IDA2Statics_UnionMontageArrayEx(This,mtgs_0size,mtgs_0,ret_1)	\
    (This)->lpVtbl -> UnionMontageArrayEx(This,mtgs_0size,mtgs_0,ret_1)

#define IDA2Statics_UnionMontageArray(This,mtgs_0,ret_1)	\
    (This)->lpVtbl -> UnionMontageArray(This,mtgs_0,ret_1)

#define IDA2Statics_get_ModifiableBehaviorFlags(This,dwFlags)	\
    (This)->lpVtbl -> get_ModifiableBehaviorFlags(This,dwFlags)

#define IDA2Statics_put_ModifiableBehaviorFlags(This,dwFlags)	\
    (This)->lpVtbl -> put_ModifiableBehaviorFlags(This,dwFlags)

#define IDA2Statics_get_EmptyColor(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyColor(This,ret_0)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2Statics_ImportDirect3DRMVisual_Proxy( 
    IDA2Statics * This,
    /* [in] */ IUnknown *visual,
    /* [retval][out] */ IDAGeometry **bvr);


void __RPC_STUB IDA2Statics_ImportDirect3DRMVisual_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA2Statics_ApplyDXTransformEx_Proxy( 
    IDA2Statics * This,
    /* [in] */ IUnknown *theXf,
    /* [in] */ LONG numInputs,
    /* [size_is][in] */ IDABehavior **inputs,
    /* [in] */ IDANumber *evaluator,
    /* [retval][out] */ IDADXTransformResult **ppResult);


void __RPC_STUB IDA2Statics_ApplyDXTransformEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_ApplyDXTransform_Proxy( 
    IDA2Statics * This,
    /* [in] */ VARIANT varXf,
    /* [in] */ VARIANT inputs,
    /* [in] */ VARIANT evaluator,
    /* [retval][out] */ IDADXTransformResult **ppResult);


void __RPC_STUB IDA2Statics_ApplyDXTransform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_ModifiableNumber_Proxy( 
    IDA2Statics * This,
    /* [in] */ double initVal,
    /* [retval][out] */ IDANumber **ppResult);


void __RPC_STUB IDA2Statics_ModifiableNumber_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_ModifiableString_Proxy( 
    IDA2Statics * This,
    /* [in] */ BSTR initVal,
    /* [retval][out] */ IDAString **ppResult);


void __RPC_STUB IDA2Statics_ModifiableString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA2Statics_DAArrayEx2_Proxy( 
    IDA2Statics * This,
    /* [in] */ LONG s,
    /* [size_is][in] */ IDABehavior *pBvrs[  ],
    /* [in] */ DWORD dwFlags,
    /* [retval][out] */ IDAArray **bvr);


void __RPC_STUB IDA2Statics_DAArrayEx2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_DAArray2_Proxy( 
    IDA2Statics * This,
    /* [in] */ VARIANT bvrs,
    /* [in] */ DWORD dwFlags,
    /* [retval][out] */ IDAArray **bvr);


void __RPC_STUB IDA2Statics_DAArray2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_ImportGeometryWrapped_Proxy( 
    IDA2Statics * This,
    /* [in] */ BSTR url,
    /* [in] */ LONG wrapType,
    /* [in] */ double originX,
    /* [in] */ double originY,
    /* [in] */ double originZ,
    /* [in] */ double zAxisX,
    /* [in] */ double zAxisY,
    /* [in] */ double zAxisZ,
    /* [in] */ double yAxisX,
    /* [in] */ double yAxisY,
    /* [in] */ double yAxisZ,
    /* [in] */ double texOriginX,
    /* [in] */ double texOriginY,
    /* [in] */ double texScaleX,
    /* [in] */ double texScaleY,
    /* [in] */ DWORD flags,
    /* [retval][out] */ IDAGeometry **ppGeometry);


void __RPC_STUB IDA2Statics_ImportGeometryWrapped_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_ImportGeometryWrappedAsync_Proxy( 
    IDA2Statics * This,
    /* [in] */ BSTR url,
    /* [in] */ LONG wrapType,
    /* [in] */ double originX,
    /* [in] */ double originY,
    /* [in] */ double originZ,
    /* [in] */ double zAxisX,
    /* [in] */ double zAxisY,
    /* [in] */ double zAxisZ,
    /* [in] */ double yAxisX,
    /* [in] */ double yAxisY,
    /* [in] */ double yAxisZ,
    /* [in] */ double texOriginX,
    /* [in] */ double texOriginY,
    /* [in] */ double texScaleX,
    /* [in] */ double texScaleY,
    /* [in] */ DWORD flags,
    /* [in] */ IDAGeometry *pGeoStandIn,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDA2Statics_ImportGeometryWrappedAsync_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_ImportDirect3DRMVisualWrapped_Proxy( 
    IDA2Statics * This,
    /* [in] */ IUnknown *visual,
    /* [in] */ LONG wrapType,
    /* [in] */ double originX,
    /* [in] */ double originY,
    /* [in] */ double originZ,
    /* [in] */ double zAxisX,
    /* [in] */ double zAxisY,
    /* [in] */ double zAxisZ,
    /* [in] */ double yAxisX,
    /* [in] */ double yAxisY,
    /* [in] */ double yAxisZ,
    /* [in] */ double texOriginX,
    /* [in] */ double texOriginY,
    /* [in] */ double texScaleX,
    /* [in] */ double texScaleY,
    /* [in] */ DWORD flags,
    /* [retval][out] */ IDAGeometry **bvr);


void __RPC_STUB IDA2Statics_ImportDirect3DRMVisualWrapped_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_UntilNotifyScript_Proxy( 
    IDA2Statics * This,
    /* [in] */ IDABehavior *b0_0,
    /* [in] */ IDAEvent *event_1,
    /* [in] */ BSTR scriptlet_2,
    /* [retval][out] */ IDABehavior **ret_3);


void __RPC_STUB IDA2Statics_UntilNotifyScript_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDA2Statics_get_ViewFrameRate_Proxy( 
    IDA2Statics * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDA2Statics_get_ViewFrameRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA2Statics_UnionMontageArrayEx_Proxy( 
    IDA2Statics * This,
    /* [in] */ LONG mtgs_0size,
    /* [size_is][in] */ IDAMontage *mtgs_0[  ],
    /* [retval][out] */ IDAMontage **ret_1);


void __RPC_STUB IDA2Statics_UnionMontageArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2Statics_UnionMontageArray_Proxy( 
    IDA2Statics * This,
    /* [in] */ VARIANT mtgs_0,
    /* [retval][out] */ IDAMontage **ret_1);


void __RPC_STUB IDA2Statics_UnionMontageArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDA2Statics_get_ModifiableBehaviorFlags_Proxy( 
    IDA2Statics * This,
    /* [retval][out] */ DWORD *dwFlags);


void __RPC_STUB IDA2Statics_get_ModifiableBehaviorFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDA2Statics_put_ModifiableBehaviorFlags_Proxy( 
    IDA2Statics * This,
    /* [in] */ DWORD dwFlags);


void __RPC_STUB IDA2Statics_put_ModifiableBehaviorFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDA2Statics_get_EmptyColor_Proxy( 
    IDA2Statics * This,
    /* [retval][out] */ IDAColor **ret_0);


void __RPC_STUB IDA2Statics_get_EmptyColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2Statics_INTERFACE_DEFINED__ */


#ifndef __IDA3Statics_INTERFACE_DEFINED__
#define __IDA3Statics_INTERFACE_DEFINED__

/* interface IDA3Statics */
/* [dual][hidden][oleautomation][unique][object][local][helpstring][uuid] */ 


EXTERN_C const IID IID_IDA3Statics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6e0b5fc4-4d1e-11d2-aa53-00c04fc2f60f")
    IDA3Statics : public IDA2Statics
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ImportSoundStream( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ImportMovieStream( 
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE SequenceArrayEx( 
            /* [in] */ LONG sz,
            /* [size_is][in] */ IDABehavior *bvrs_0[  ],
            /* [retval][out] */ IDABehavior **ret_1) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SequenceArray( 
            /* [in] */ VARIANT bvrs_0,
            /* [retval][out] */ IDABehavior **ret_1) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ViewTimeDelta( 
            /* [retval][out] */ IDANumber **ret_0) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TriMesh( 
            /* [in] */ int nTriangles,
            /* [in] */ VARIANT positions,
            /* [in] */ VARIANT normals,
            /* [in] */ VARIANT UVs,
            /* [in] */ VARIANT indices,
            /* [retval][out] */ IDAGeometry **result) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE TriMeshEx( 
            /* [in] */ int nTriangles,
            /* [in] */ int nPositions,
            /* [size_is][in] */ float positions[  ],
            /* [in] */ int nNormals,
            /* [size_is][in] */ float normals[  ],
            /* [in] */ int nUVs,
            /* [size_is][in] */ float UVs[  ],
            /* [in] */ int nIndices,
            /* [size_is][in] */ int indices[  ],
            /* [retval][out] */ IDAGeometry **result) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RadialGradientMulticolor( 
            /* [in] */ VARIANT offsets,
            /* [in] */ VARIANT colors,
            /* [retval][out] */ IDAImage **result) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE RadialGradientMulticolorEx( 
            /* [in] */ int nOffsets,
            /* [size_is][in] */ IDANumber *offsets[  ],
            /* [in] */ int nColors,
            /* [size_is][in] */ IDAColor *colors[  ],
            /* [retval][out] */ IDAImage **result) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LinearGradientMulticolor( 
            /* [in] */ VARIANT offsets,
            /* [in] */ VARIANT colors,
            /* [retval][out] */ IDAImage **result) = 0;
        
        virtual /* [restricted] */ HRESULT STDMETHODCALLTYPE LinearGradientMulticolorEx( 
            /* [in] */ int nOffsets,
            /* [size_is][in] */ IDANumber *offsets[  ],
            /* [in] */ int nColors,
            /* [size_is][in] */ IDAColor *colors[  ],
            /* [retval][out] */ IDAImage **result) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA3StaticsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA3Statics * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA3Statics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA3Statics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA3Statics * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA3Statics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA3Statics * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA3Statics * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VersionString )( 
            IDA3Statics * This,
            /* [retval][out] */ BSTR *str);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Site )( 
            IDA3Statics * This,
            /* [retval][out] */ IDASite **pSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Site )( 
            IDA3Statics * This,
            /* [in] */ IDASite *pSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClientSite )( 
            IDA3Statics * This,
            /* [in] */ IOleClientSite *pClientSite);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClientSite )( 
            IDA3Statics * This,
            /* [retval][out] */ IOleClientSite **pClientSite);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PixelConstructionMode )( 
            IDA3Statics * This,
            /* [in] */ VARIANT_BOOL bMode);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelConstructionMode )( 
            IDA3Statics * This,
            /* [retval][out] */ VARIANT_BOOL *bMode);
        
        HRESULT ( STDMETHODCALLTYPE *TriggerEvent )( 
            IDA3Statics * This,
            /* [in] */ IDAEvent *event,
            /* [in] */ IDABehavior *data);
        
        HRESULT ( STDMETHODCALLTYPE *NewDrawingSurface )( 
            IDA3Statics * This,
            /* [retval][out] */ IDADrawingSurface **pds);
        
        HRESULT ( STDMETHODCALLTYPE *ImportMovie )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportMovieAsync )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImage )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageAsync )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageColorKey )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *ImportImageAsyncColorKey )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAImage *pImageStandIn,
            /* [in] */ BYTE colorKeyRed,
            /* [in] */ BYTE colorKeyGreen,
            /* [in] */ BYTE colorKeyBlue,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportSound )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportSoundAsync )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDASound *pSoundStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometry )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAGeometry **ppGeometry);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometryAsync )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ IDAGeometry *pGeoStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportDirectDrawSurface )( 
            IDA3Statics * This,
            /* [in] */ IUnknown *dds,
            /* [in] */ IDAEvent *updateEvent,
            /* [retval][out] */ IDAImage **ppImage);
        
        HRESULT ( STDMETHODCALLTYPE *Cond )( 
            IDA3Statics * This,
            /* [in] */ IDABoolean *c,
            /* [in] */ IDABehavior *i,
            /* [in] */ IDABehavior *e,
            /* [retval][out] */ IDABehavior **pCondBvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DAArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DAArray )( 
            IDA3Statics * This,
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDAArray **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DATupleEx )( 
            IDA3Statics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [retval][out] */ IDATuple **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DATuple )( 
            IDA3Statics * This,
            /* [in] */ VARIANT bvrs,
            /* [retval][out] */ IDATuple **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *ModifiableBehavior )( 
            IDA3Statics * This,
            /* [in] */ IDABehavior *orig,
            /* [retval][out] */ IDABehavior **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UninitializedArray )( 
            IDA3Statics * This,
            /* [in] */ IDAArray *typeTmp,
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UninitializedTuple )( 
            IDA3Statics * This,
            /* [in] */ IDATuple *typeTmp,
            /* [retval][out] */ IDATuple **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *NumberBSplineEx )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDANumber *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *NumberBSpline )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDANumber **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Point2BSplineEx )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Point2BSpline )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint2 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Point3BSplineEx )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAPoint3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Point3BSpline )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAPoint3 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Vector2BSplineEx )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector2 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2BSpline )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector2 **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Vector3BSplineEx )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ LONG numKnots,
            /* [size_is][in] */ IDANumber *knots[  ],
            /* [in] */ LONG numPts,
            /* [size_is][in] */ IDAVector3 *ctrlPts[  ],
            /* [in] */ LONG numWts,
            /* [size_is][in] */ IDANumber *weights[  ],
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3BSpline )( 
            IDA3Statics * This,
            /* [in] */ int degree,
            /* [in] */ VARIANT knots,
            /* [in] */ VARIANT CtrlPts,
            /* [in] */ VARIANT weights,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDAVector3 **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *Pow )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Abs )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Sqrt )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Floor )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Round )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Ceiling )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Asin )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Acos )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Atan )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Sin )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Cos )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Tan )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Exp )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Ln )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Log10 )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ToDegrees )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ToRadians )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mod )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Atan2 )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Add )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Sub )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Mul )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Div )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *LT )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *LTE )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GT )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GTE )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *EQ )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NE )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Neg )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *InterpolateAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [retval][out] */ IDANumber **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Interpolate )( 
            IDA3Statics * This,
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [retval][out] */ IDANumber **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *SlowInSlowOutAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *from_0,
            /* [in] */ IDANumber *to_1,
            /* [in] */ IDANumber *duration_2,
            /* [in] */ IDANumber *sharpness_3,
            /* [retval][out] */ IDANumber **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *SlowInSlowOut )( 
            IDA3Statics * This,
            /* [in] */ double from_0,
            /* [in] */ double to_1,
            /* [in] */ double duration_2,
            /* [in] */ double sharpness_3,
            /* [retval][out] */ IDANumber **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *SoundSource )( 
            IDA3Statics * This,
            /* [in] */ IDASound *snd_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Mix )( 
            IDA3Statics * This,
            /* [in] */ IDASound *left_0,
            /* [in] */ IDASound *right_1,
            /* [retval][out] */ IDASound **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *And )( 
            IDA3Statics * This,
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Or )( 
            IDA3Statics * This,
            /* [in] */ IDABoolean *a_0,
            /* [in] */ IDABoolean *b_1,
            /* [retval][out] */ IDABoolean **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Not )( 
            IDA3Statics * This,
            /* [in] */ IDABoolean *a_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Integral )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Derivative )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *b_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *IntegralVector2 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *IntegralVector3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativeVector2 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativeVector3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativePoint2 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DerivativePoint3 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyState )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyUp )( 
            IDA3Statics * This,
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *KeyDown )( 
            IDA3Statics * This,
            /* [in] */ LONG arg_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DANumber )( 
            IDA3Statics * This,
            /* [in] */ double num_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DAString )( 
            IDA3Statics * This,
            /* [in] */ BSTR str_0,
            /* [retval][out] */ IDAString **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *DABoolean )( 
            IDA3Statics * This,
            /* [in] */ VARIANT_BOOL num_0,
            /* [retval][out] */ IDABoolean **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SeededRandom )( 
            IDA3Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDANumber **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MousePosition )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonState )( 
            IDA3Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonState )( 
            IDA3Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DATrue )( 
            IDA3Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DAFalse )( 
            IDA3Statics * This,
            /* [retval][out] */ IDABoolean **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LocalTime )( 
            IDA3Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GlobalTime )( 
            IDA3Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pixel )( 
            IDA3Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UserData )( 
            IDA3Statics * This,
            /* [in] */ IUnknown *data_0,
            /* [retval][out] */ IDAUserData **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UntilNotify )( 
            IDA3Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDAUntilNotifier *notifier_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Until )( 
            IDA3Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ IDABehavior *b1_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *UntilEx )( 
            IDA3Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [retval][out] */ IDABehavior **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Sequence )( 
            IDA3Statics * This,
            /* [in] */ IDABehavior *s1_0,
            /* [in] */ IDABehavior *s2_1,
            /* [retval][out] */ IDABehavior **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPath )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngle )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUpright )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ double duration_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathEval )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleEval )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUprightEval )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *path_0,
            /* [in] */ IDANumber *eval_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FollowPathAngleUprightAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *obsoleted1_0,
            /* [in] */ IDANumber *obsoleted2_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ConcatString )( 
            IDA3Statics * This,
            /* [in] */ IDAString *s1_0,
            /* [in] */ IDAString *s2_1,
            /* [retval][out] */ IDAString **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PerspectiveCamera )( 
            IDA3Statics * This,
            /* [in] */ double focalDist_0,
            /* [in] */ double nearClip_1,
            /* [retval][out] */ IDACamera **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PerspectiveCameraAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *focalDist_0,
            /* [in] */ IDANumber *nearClip_1,
            /* [retval][out] */ IDACamera **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ParallelCamera )( 
            IDA3Statics * This,
            /* [in] */ double nearClip_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ParallelCameraAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *nearClip_0,
            /* [retval][out] */ IDACamera **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgbAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *red_0,
            /* [in] */ IDANumber *green_1,
            /* [in] */ IDANumber *blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgb )( 
            IDA3Statics * This,
            /* [in] */ double red_0,
            /* [in] */ double green_1,
            /* [in] */ double blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorRgb255 )( 
            IDA3Statics * This,
            /* [in] */ short red_0,
            /* [in] */ short green_1,
            /* [in] */ short blue_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorHsl )( 
            IDA3Statics * This,
            /* [in] */ double hue_0,
            /* [in] */ double saturation_1,
            /* [in] */ double lum_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *ColorHslAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *hue_0,
            /* [in] */ IDANumber *saturation_1,
            /* [in] */ IDANumber *lum_2,
            /* [retval][out] */ IDAColor **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Red )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Green )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Blue )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cyan )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Magenta )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Yellow )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Black )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_White )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Aqua )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fuchsia )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gray )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lime )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Maroon )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Navy )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Olive )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Purple )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Silver )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Teal )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Predicate )( 
            IDA3Statics * This,
            /* [in] */ IDABoolean *b_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *NotEvent )( 
            IDA3Statics * This,
            /* [in] */ IDAEvent *event_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AndEvent )( 
            IDA3Statics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *OrEvent )( 
            IDA3Statics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ThenEvent )( 
            IDA3Statics * This,
            /* [in] */ IDAEvent *e1_0,
            /* [in] */ IDAEvent *e2_1,
            /* [retval][out] */ IDAEvent **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonDown )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeftButtonUp )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonDown )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RightButtonUp )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Always )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Never )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *TimerAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *n_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Timer )( 
            IDA3Statics * This,
            /* [in] */ double n_0,
            /* [retval][out] */ IDAEvent **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *AppTriggeredEvent )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEvent **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ScriptCallback )( 
            IDA3Statics * This,
            /* [in] */ BSTR obsolete1_0,
            /* [in] */ IDAEvent *obsolete2_1,
            /* [in] */ BSTR obsolete3_2,
            /* [retval][out] */ IDAEvent **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyGeometry )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UnionGeometry )( 
            IDA3Statics * This,
            /* [in] */ IDAGeometry *g1_0,
            /* [in] */ IDAGeometry *g2_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *UnionGeometryArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAGeometry *imgs_0[  ],
            /* [retval][out] */ IDAGeometry **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UnionGeometryArray )( 
            IDA3Statics * This,
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAGeometry **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyImage )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DetectableEmptyImage )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAImage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *SolidColorImage )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *col_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *GradientPolygonEx )( 
            IDA3Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG colors_1size,
            /* [size_is][in] */ IDAColor *colors_1[  ],
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *GradientPolygon )( 
            IDA3Statics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT colors_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonEx )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygon )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonAnimEx )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ LONG points_2size,
            /* [size_is][in] */ IDAPoint2 *points_2[  ],
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientPolygonAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ VARIANT points_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *GradientSquare )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lowerLeft_0,
            /* [in] */ IDAColor *upperLeft_1,
            /* [in] */ IDAColor *upperRight_2,
            /* [in] */ IDAColor *lowerRight_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientSquare )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientSquareAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientRegularPoly )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ double numEdges_2,
            /* [in] */ double fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientRegularPolyAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *inner_0,
            /* [in] */ IDAColor *outer_1,
            /* [in] */ IDANumber *numEdges_2,
            /* [in] */ IDANumber *fallOff_3,
            /* [retval][out] */ IDAImage **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *GradientHorizontal )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ double fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *GradientHorizontalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *start_0,
            /* [in] */ IDAColor *stop_1,
            /* [in] */ IDANumber *fallOff_2,
            /* [retval][out] */ IDAImage **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *HatchHorizontal )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchHorizontalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchVertical )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchVerticalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchForwardDiagonal )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchForwardDiagonalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchBackwardDiagonal )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchBackwardDiagonalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchCross )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchCrossAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchDiagonalCross )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ double spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *HatchDiagonalCrossAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAColor *lineClr_0,
            /* [in] */ IDANumber *spacing_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Overlay )( 
            IDA3Statics * This,
            /* [in] */ IDAImage *top_0,
            /* [in] */ IDAImage *bottom_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *OverlayArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG imgs_0size,
            /* [size_is][in] */ IDAImage *imgs_0[  ],
            /* [retval][out] */ IDAImage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *OverlayArray )( 
            IDA3Statics * This,
            /* [in] */ VARIANT imgs_0,
            /* [retval][out] */ IDAImage **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AmbientLight )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectionalLight )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointLight )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAGeometry **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *SpotLightAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ IDANumber *cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SpotLight )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *fullcone_0,
            /* [in] */ double cutoff_1,
            /* [retval][out] */ IDAGeometry **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultLineStyle )( 
            IDA3Statics * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyLineStyle )( 
            IDA3Statics * This,
            /* [retval][out] */ IDALineStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleBevel )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleRound )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_JoinStyleMiter )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAJoinStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleFlat )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleSquare )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndStyleRound )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAEndStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DashStyleSolid )( 
            IDA3Statics * This,
            /* [retval][out] */ IDADashStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DashStyleDashed )( 
            IDA3Statics * This,
            /* [retval][out] */ IDADashStyle **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultMicrophone )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAMicrophone **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueMatte )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAMatte **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClearMatte )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAMatte **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMatte )( 
            IDA3Statics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *IntersectMatte )( 
            IDA3Statics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DifferenceMatte )( 
            IDA3Statics * This,
            /* [in] */ IDAMatte *m1_0,
            /* [in] */ IDAMatte *m2_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *FillMatte )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *p_0,
            /* [retval][out] */ IDAMatte **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *TextMatte )( 
            IDA3Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAMatte **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyMontage )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAMontage **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ImageMontage )( 
            IDA3Statics * This,
            /* [in] */ IDAImage *im_0,
            /* [in] */ double depth_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ImageMontageAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAImage *im_0,
            /* [in] */ IDANumber *depth_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMontage )( 
            IDA3Statics * This,
            /* [in] */ IDAMontage *m1_0,
            /* [in] */ IDAMontage *m2_1,
            /* [retval][out] */ IDAMontage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Concat )( 
            IDA3Statics * This,
            /* [in] */ IDAPath2 *p1_0,
            /* [in] */ IDAPath2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ConcatArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG paths_0size,
            /* [size_is][in] */ IDAPath2 *paths_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *ConcatArray )( 
            IDA3Statics * This,
            /* [in] */ VARIANT paths_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Line )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Ray )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *pt_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *StringPathAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *StringPath )( 
            IDA3Statics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolylineEx )( 
            IDA3Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [retval][out] */ IDAPath2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Polyline )( 
            IDA3Statics * This,
            /* [in] */ VARIANT points_0,
            /* [retval][out] */ IDAPath2 **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *PolydrawPathEx )( 
            IDA3Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG codes_1size,
            /* [size_is][in] */ IDANumber *codes_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *PolydrawPath )( 
            IDA3Statics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT codes_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ArcRadians )( 
            IDA3Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *ArcRadiansAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *ArcDegrees )( 
            IDA3Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieRadians )( 
            IDA3Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieRadiansAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *startAngle_0,
            /* [in] */ IDANumber *endAngle_1,
            /* [in] */ IDANumber *arcWidth_2,
            /* [in] */ IDANumber *arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *PieDegrees )( 
            IDA3Statics * This,
            /* [in] */ double startAngle_0,
            /* [in] */ double endAngle_1,
            /* [in] */ double arcWidth_2,
            /* [in] */ double arcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *Oval )( 
            IDA3Statics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *OvalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rect )( 
            IDA3Statics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RectAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *RoundRect )( 
            IDA3Statics * This,
            /* [in] */ double width_0,
            /* [in] */ double height_1,
            /* [in] */ double cornerArcWidth_2,
            /* [in] */ double cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        HRESULT ( STDMETHODCALLTYPE *RoundRectAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *width_0,
            /* [in] */ IDANumber *height_1,
            /* [in] */ IDANumber *cornerArcWidth_2,
            /* [in] */ IDANumber *cornerArcHeight_3,
            /* [retval][out] */ IDAPath2 **ret_4);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *CubicBSplinePathEx )( 
            IDA3Statics * This,
            /* [in] */ LONG points_0size,
            /* [size_is][in] */ IDAPoint2 *points_0[  ],
            /* [in] */ LONG knots_1size,
            /* [size_is][in] */ IDANumber *knots_1[  ],
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *CubicBSplinePath )( 
            IDA3Statics * This,
            /* [in] */ VARIANT points_0,
            /* [in] */ VARIANT knots_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextPath )( 
            IDA3Statics * This,
            /* [in] */ IDAString *obsolete1_0,
            /* [in] */ IDAFontStyle *obsolete2_1,
            /* [retval][out] */ IDAPath2 **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Silence )( 
            IDA3Statics * This,
            /* [retval][out] */ IDASound **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *MixArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG snds_0size,
            /* [size_is][in] */ IDASound *snds_0[  ],
            /* [retval][out] */ IDASound **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *MixArray )( 
            IDA3Statics * This,
            /* [in] */ VARIANT snds_0,
            /* [retval][out] */ IDASound **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SinSynth )( 
            IDA3Statics * This,
            /* [retval][out] */ IDASound **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultFont )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAFontStyle **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *FontAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDANumber *size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Font )( 
            IDA3Statics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ double size_1,
            /* [in] */ IDAColor *col_2,
            /* [retval][out] */ IDAFontStyle **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *StringImageAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAString *str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *StringImage )( 
            IDA3Statics * This,
            /* [in] */ BSTR str_0,
            /* [in] */ IDAFontStyle *fs_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextImageAnim )( 
            IDA3Statics * This,
            /* [in] */ IDAString *obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *TextImage )( 
            IDA3Statics * This,
            /* [in] */ BSTR obsoleted1_0,
            /* [in] */ IDAFontStyle *obsoleted2_1,
            /* [retval][out] */ IDAImage **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_XVector2 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_YVector2 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZeroVector2 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAVector2 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin2 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAPoint2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2 )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2 )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2PolarAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2Polar )( 
            IDA3Statics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Vector2PolarDegrees )( 
            IDA3Statics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2PolarAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *theta_0,
            /* [in] */ IDANumber *radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Point2Polar )( 
            IDA3Statics * This,
            /* [in] */ double theta_0,
            /* [in] */ double radius_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DotVector2 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [in] */ IDAVector2 *u_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NegVector2 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *v_0,
            /* [retval][out] */ IDAVector2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SubVector2 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddVector2 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *v1_0,
            /* [in] */ IDAVector2 *v2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddPoint2Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint2Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAVector2 *v_1,
            /* [retval][out] */ IDAPoint2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint2 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *p1_0,
            /* [in] */ IDAPoint2 *p2_1,
            /* [retval][out] */ IDAVector2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistancePoint2 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistanceSquaredPoint2 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *p_0,
            /* [in] */ IDAPoint2 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_XVector3 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_YVector3 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZVector3 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZeroVector3 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAVector3 **ret_0);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin3 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAPoint3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3 )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3 )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3SphericalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *xyAngle_0,
            /* [in] */ IDANumber *yzAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Vector3Spherical )( 
            IDA3Statics * This,
            /* [in] */ double xyAngle_0,
            /* [in] */ double yzAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAVector3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3SphericalAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *zxAngle_0,
            /* [in] */ IDANumber *xyAngle_1,
            /* [in] */ IDANumber *radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Point3Spherical )( 
            IDA3Statics * This,
            /* [in] */ double zxAngle_0,
            /* [in] */ double xyAngle_1,
            /* [in] */ double radius_2,
            /* [retval][out] */ IDAPoint3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *DotVector3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *CrossVector3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [in] */ IDAVector3 *u_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *NegVector3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *v_0,
            /* [retval][out] */ IDAVector3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SubVector3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddVector3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *v1_0,
            /* [in] */ IDAVector3 *v2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *AddPoint3Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint3Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAVector3 *v_1,
            /* [retval][out] */ IDAPoint3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *SubPoint3 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *p1_0,
            /* [in] */ IDAPoint3 *p2_1,
            /* [retval][out] */ IDAVector3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistancePoint3 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *DistanceSquaredPoint3 )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *p_0,
            /* [in] */ IDAPoint3 *q_1,
            /* [retval][out] */ IDANumber **ret_2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IdentityTransform3 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDATransform3 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *tx_0,
            /* [in] */ IDANumber *ty_1,
            /* [in] */ IDANumber *tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3 )( 
            IDA3Statics * This,
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Rate )( 
            IDA3Statics * This,
            /* [in] */ double tx_0,
            /* [in] */ double ty_1,
            /* [in] */ double tz_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *delta_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Translate3Point )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *new_origin_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [in] */ IDANumber *z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3 )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Rate )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [in] */ double z_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *scale_vec_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3UniformAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3Uniform )( 
            IDA3Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale3UniformRate )( 
            IDA3Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ IDANumber *angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Rate )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3Degrees )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate3RateDegrees )( 
            IDA3Statics * This,
            /* [in] */ IDAVector3 *axis_0,
            /* [in] */ double angle_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *a_0,
            /* [in] */ IDANumber *b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3 )( 
            IDA3Statics * This,
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *XShear3Rate )( 
            IDA3Statics * This,
            /* [in] */ double a_0,
            /* [in] */ double b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *c_0,
            /* [in] */ IDANumber *d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3 )( 
            IDA3Statics * This,
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *YShear3Rate )( 
            IDA3Statics * This,
            /* [in] */ double c_0,
            /* [in] */ double d_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *e_0,
            /* [in] */ IDANumber *f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3 )( 
            IDA3Statics * This,
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *ZShear3Rate )( 
            IDA3Statics * This,
            /* [in] */ double e_0,
            /* [in] */ double f_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Transform4x4AnimEx )( 
            IDA3Statics * This,
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform4x4Anim )( 
            IDA3Statics * This,
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose3 )( 
            IDA3Statics * This,
            /* [in] */ IDATransform3 *a_0,
            /* [in] */ IDATransform3 *b_1,
            /* [retval][out] */ IDATransform3 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Compose3ArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform3 *xfs_0[  ],
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose3Array )( 
            IDA3Statics * This,
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform3 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *LookAtFrom )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint3 *to_0,
            /* [in] */ IDAPoint3 *from_1,
            /* [in] */ IDAVector3 *up_2,
            /* [retval][out] */ IDATransform3 **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IdentityTransform2 )( 
            IDA3Statics * This,
            /* [retval][out] */ IDATransform2 **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *Tx_0,
            /* [in] */ IDANumber *Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2 )( 
            IDA3Statics * This,
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Rate )( 
            IDA3Statics * This,
            /* [in] */ double Tx_0,
            /* [in] */ double Ty_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *delta_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Translate2Point )( 
            IDA3Statics * This,
            /* [in] */ IDAPoint2 *pos_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *x_0,
            /* [in] */ IDANumber *y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2 )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Rate )( 
            IDA3Statics * This,
            /* [in] */ double x_0,
            /* [in] */ double y_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Vector2 )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *obsoleteMethod_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Vector )( 
            IDA3Statics * This,
            /* [in] */ IDAVector2 *scale_vec_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2UniformAnim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2Uniform )( 
            IDA3Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Scale2UniformRate )( 
            IDA3Statics * This,
            /* [in] */ double uniform_scale_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2 )( 
            IDA3Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Rate )( 
            IDA3Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2Degrees )( 
            IDA3Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Rotate2RateDegrees )( 
            IDA3Statics * This,
            /* [in] */ double angle_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2 )( 
            IDA3Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *XShear2Rate )( 
            IDA3Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2Anim )( 
            IDA3Statics * This,
            /* [in] */ IDANumber *arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2 )( 
            IDA3Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *YShear2Rate )( 
            IDA3Statics * This,
            /* [in] */ double arg_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Transform3x2AnimEx )( 
            IDA3Statics * This,
            /* [in] */ LONG m_0size,
            /* [size_is][in] */ IDANumber *m_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Transform3x2Anim )( 
            IDA3Statics * This,
            /* [in] */ VARIANT m_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose2 )( 
            IDA3Statics * This,
            /* [in] */ IDATransform2 *a_0,
            /* [in] */ IDATransform2 *b_1,
            /* [retval][out] */ IDATransform2 **ret_2);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *Compose2ArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG xfs_0size,
            /* [size_is][in] */ IDATransform2 *xfs_0[  ],
            /* [retval][out] */ IDATransform2 **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *Compose2Array )( 
            IDA3Statics * This,
            /* [in] */ VARIANT xfs_0,
            /* [retval][out] */ IDATransform2 **ret_1);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Tuple )( 
            IDA3Statics * This,
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDATuple **obsolete2);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Array )( 
            IDA3Statics * This,
            /* [in] */ VARIANT obsolete1,
            /* [retval][out] */ IDAArray **obsolete2);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBlockingImportsComplete )( 
            IDA3Statics * This,
            /* [retval][out] */ VARIANT_BOOL *bComplete);
        
        HRESULT ( STDMETHODCALLTYPE *ImportDirect3DRMVisual )( 
            IDA3Statics * This,
            /* [in] */ IUnknown *visual,
            /* [retval][out] */ IDAGeometry **bvr);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *ApplyDXTransformEx )( 
            IDA3Statics * This,
            /* [in] */ IUnknown *theXf,
            /* [in] */ LONG numInputs,
            /* [size_is][in] */ IDABehavior **inputs,
            /* [in] */ IDANumber *evaluator,
            /* [retval][out] */ IDADXTransformResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ApplyDXTransform )( 
            IDA3Statics * This,
            /* [in] */ VARIANT varXf,
            /* [in] */ VARIANT inputs,
            /* [in] */ VARIANT evaluator,
            /* [retval][out] */ IDADXTransformResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ModifiableNumber )( 
            IDA3Statics * This,
            /* [in] */ double initVal,
            /* [retval][out] */ IDANumber **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ModifiableString )( 
            IDA3Statics * This,
            /* [in] */ BSTR initVal,
            /* [retval][out] */ IDAString **ppResult);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *DAArrayEx2 )( 
            IDA3Statics * This,
            /* [in] */ LONG s,
            /* [size_is][in] */ IDABehavior *pBvrs[  ],
            /* [in] */ DWORD dwFlags,
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *DAArray2 )( 
            IDA3Statics * This,
            /* [in] */ VARIANT bvrs,
            /* [in] */ DWORD dwFlags,
            /* [retval][out] */ IDAArray **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometryWrapped )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [retval][out] */ IDAGeometry **ppGeometry);
        
        HRESULT ( STDMETHODCALLTYPE *ImportGeometryWrappedAsync )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [in] */ IDAGeometry *pGeoStandIn,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportDirect3DRMVisualWrapped )( 
            IDA3Statics * This,
            /* [in] */ IUnknown *visual,
            /* [in] */ LONG wrapType,
            /* [in] */ double originX,
            /* [in] */ double originY,
            /* [in] */ double originZ,
            /* [in] */ double zAxisX,
            /* [in] */ double zAxisY,
            /* [in] */ double zAxisZ,
            /* [in] */ double yAxisX,
            /* [in] */ double yAxisY,
            /* [in] */ double yAxisZ,
            /* [in] */ double texOriginX,
            /* [in] */ double texOriginY,
            /* [in] */ double texScaleX,
            /* [in] */ double texScaleY,
            /* [in] */ DWORD flags,
            /* [retval][out] */ IDAGeometry **bvr);
        
        HRESULT ( STDMETHODCALLTYPE *UntilNotifyScript )( 
            IDA3Statics * This,
            /* [in] */ IDABehavior *b0_0,
            /* [in] */ IDAEvent *event_1,
            /* [in] */ BSTR scriptlet_2,
            /* [retval][out] */ IDABehavior **ret_3);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewFrameRate )( 
            IDA3Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *UnionMontageArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG mtgs_0size,
            /* [size_is][in] */ IDAMontage *mtgs_0[  ],
            /* [retval][out] */ IDAMontage **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *UnionMontageArray )( 
            IDA3Statics * This,
            /* [in] */ VARIANT mtgs_0,
            /* [retval][out] */ IDAMontage **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiableBehaviorFlags )( 
            IDA3Statics * This,
            /* [retval][out] */ DWORD *dwFlags);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ModifiableBehaviorFlags )( 
            IDA3Statics * This,
            /* [in] */ DWORD dwFlags);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EmptyColor )( 
            IDA3Statics * This,
            /* [retval][out] */ IDAColor **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *ImportSoundStream )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        HRESULT ( STDMETHODCALLTYPE *ImportMovieStream )( 
            IDA3Statics * This,
            /* [in] */ BSTR url,
            /* [retval][out] */ IDAImportationResult **ppResult);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *SequenceArrayEx )( 
            IDA3Statics * This,
            /* [in] */ LONG sz,
            /* [size_is][in] */ IDABehavior *bvrs_0[  ],
            /* [retval][out] */ IDABehavior **ret_1);
        
        HRESULT ( STDMETHODCALLTYPE *SequenceArray )( 
            IDA3Statics * This,
            /* [in] */ VARIANT bvrs_0,
            /* [retval][out] */ IDABehavior **ret_1);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewTimeDelta )( 
            IDA3Statics * This,
            /* [retval][out] */ IDANumber **ret_0);
        
        HRESULT ( STDMETHODCALLTYPE *TriMesh )( 
            IDA3Statics * This,
            /* [in] */ int nTriangles,
            /* [in] */ VARIANT positions,
            /* [in] */ VARIANT normals,
            /* [in] */ VARIANT UVs,
            /* [in] */ VARIANT indices,
            /* [retval][out] */ IDAGeometry **result);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *TriMeshEx )( 
            IDA3Statics * This,
            /* [in] */ int nTriangles,
            /* [in] */ int nPositions,
            /* [size_is][in] */ float positions[  ],
            /* [in] */ int nNormals,
            /* [size_is][in] */ float normals[  ],
            /* [in] */ int nUVs,
            /* [size_is][in] */ float UVs[  ],
            /* [in] */ int nIndices,
            /* [size_is][in] */ int indices[  ],
            /* [retval][out] */ IDAGeometry **result);
        
        HRESULT ( STDMETHODCALLTYPE *RadialGradientMulticolor )( 
            IDA3Statics * This,
            /* [in] */ VARIANT offsets,
            /* [in] */ VARIANT colors,
            /* [retval][out] */ IDAImage **result);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *RadialGradientMulticolorEx )( 
            IDA3Statics * This,
            /* [in] */ int nOffsets,
            /* [size_is][in] */ IDANumber *offsets[  ],
            /* [in] */ int nColors,
            /* [size_is][in] */ IDAColor *colors[  ],
            /* [retval][out] */ IDAImage **result);
        
        HRESULT ( STDMETHODCALLTYPE *LinearGradientMulticolor )( 
            IDA3Statics * This,
            /* [in] */ VARIANT offsets,
            /* [in] */ VARIANT colors,
            /* [retval][out] */ IDAImage **result);
        
        /* [restricted] */ HRESULT ( STDMETHODCALLTYPE *LinearGradientMulticolorEx )( 
            IDA3Statics * This,
            /* [in] */ int nOffsets,
            /* [size_is][in] */ IDANumber *offsets[  ],
            /* [in] */ int nColors,
            /* [size_is][in] */ IDAColor *colors[  ],
            /* [retval][out] */ IDAImage **result);
        
        END_INTERFACE
    } IDA3StaticsVtbl;

    interface IDA3Statics
    {
        CONST_VTBL struct IDA3StaticsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA3Statics_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA3Statics_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA3Statics_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA3Statics_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA3Statics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA3Statics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA3Statics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA3Statics_get_VersionString(This,str)	\
    (This)->lpVtbl -> get_VersionString(This,str)

#define IDA3Statics_get_Site(This,pSite)	\
    (This)->lpVtbl -> get_Site(This,pSite)

#define IDA3Statics_put_Site(This,pSite)	\
    (This)->lpVtbl -> put_Site(This,pSite)

#define IDA3Statics_put_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> put_ClientSite(This,pClientSite)

#define IDA3Statics_get_ClientSite(This,pClientSite)	\
    (This)->lpVtbl -> get_ClientSite(This,pClientSite)

#define IDA3Statics_put_PixelConstructionMode(This,bMode)	\
    (This)->lpVtbl -> put_PixelConstructionMode(This,bMode)

#define IDA3Statics_get_PixelConstructionMode(This,bMode)	\
    (This)->lpVtbl -> get_PixelConstructionMode(This,bMode)

#define IDA3Statics_TriggerEvent(This,event,data)	\
    (This)->lpVtbl -> TriggerEvent(This,event,data)

#define IDA3Statics_NewDrawingSurface(This,pds)	\
    (This)->lpVtbl -> NewDrawingSurface(This,pds)

#define IDA3Statics_ImportMovie(This,url,ppResult)	\
    (This)->lpVtbl -> ImportMovie(This,url,ppResult)

#define IDA3Statics_ImportMovieAsync(This,url,pImageStandIn,pSoundStandIn,ppResult)	\
    (This)->lpVtbl -> ImportMovieAsync(This,url,pImageStandIn,pSoundStandIn,ppResult)

#define IDA3Statics_ImportImage(This,url,ppImage)	\
    (This)->lpVtbl -> ImportImage(This,url,ppImage)

#define IDA3Statics_ImportImageAsync(This,url,pImageStandIn,ppResult)	\
    (This)->lpVtbl -> ImportImageAsync(This,url,pImageStandIn,ppResult)

#define IDA3Statics_ImportImageColorKey(This,url,colorKeyRed,colorKeyGreen,colorKeyBlue,ppImage)	\
    (This)->lpVtbl -> ImportImageColorKey(This,url,colorKeyRed,colorKeyGreen,colorKeyBlue,ppImage)

#define IDA3Statics_ImportImageAsyncColorKey(This,url,pImageStandIn,colorKeyRed,colorKeyGreen,colorKeyBlue,ppResult)	\
    (This)->lpVtbl -> ImportImageAsyncColorKey(This,url,pImageStandIn,colorKeyRed,colorKeyGreen,colorKeyBlue,ppResult)

#define IDA3Statics_ImportSound(This,url,ppResult)	\
    (This)->lpVtbl -> ImportSound(This,url,ppResult)

#define IDA3Statics_ImportSoundAsync(This,url,pSoundStandIn,ppResult)	\
    (This)->lpVtbl -> ImportSoundAsync(This,url,pSoundStandIn,ppResult)

#define IDA3Statics_ImportGeometry(This,url,ppGeometry)	\
    (This)->lpVtbl -> ImportGeometry(This,url,ppGeometry)

#define IDA3Statics_ImportGeometryAsync(This,url,pGeoStandIn,ppResult)	\
    (This)->lpVtbl -> ImportGeometryAsync(This,url,pGeoStandIn,ppResult)

#define IDA3Statics_ImportDirectDrawSurface(This,dds,updateEvent,ppImage)	\
    (This)->lpVtbl -> ImportDirectDrawSurface(This,dds,updateEvent,ppImage)

#define IDA3Statics_Cond(This,c,i,e,pCondBvr)	\
    (This)->lpVtbl -> Cond(This,c,i,e,pCondBvr)

#define IDA3Statics_DAArrayEx(This,s,pBvrs,bvr)	\
    (This)->lpVtbl -> DAArrayEx(This,s,pBvrs,bvr)

#define IDA3Statics_DAArray(This,bvrs,bvr)	\
    (This)->lpVtbl -> DAArray(This,bvrs,bvr)

#define IDA3Statics_DATupleEx(This,s,pBvrs,bvr)	\
    (This)->lpVtbl -> DATupleEx(This,s,pBvrs,bvr)

#define IDA3Statics_DATuple(This,bvrs,bvr)	\
    (This)->lpVtbl -> DATuple(This,bvrs,bvr)

#define IDA3Statics_ModifiableBehavior(This,orig,bvr)	\
    (This)->lpVtbl -> ModifiableBehavior(This,orig,bvr)

#define IDA3Statics_UninitializedArray(This,typeTmp,bvr)	\
    (This)->lpVtbl -> UninitializedArray(This,typeTmp,bvr)

#define IDA3Statics_UninitializedTuple(This,typeTmp,bvr)	\
    (This)->lpVtbl -> UninitializedTuple(This,typeTmp,bvr)

#define IDA3Statics_NumberBSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> NumberBSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA3Statics_NumberBSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> NumberBSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA3Statics_Point2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA3Statics_Point2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA3Statics_Point3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA3Statics_Point3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Point3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA3Statics_Vector2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector2BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA3Statics_Vector2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector2BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA3Statics_Vector3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector3BSplineEx(This,degree,numKnots,knots,numPts,ctrlPts,numWts,weights,evaluator,bvr)

#define IDA3Statics_Vector3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)	\
    (This)->lpVtbl -> Vector3BSpline(This,degree,knots,CtrlPts,weights,evaluator,bvr)

#define IDA3Statics_Pow(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Pow(This,a_0,b_1,ret_2)

#define IDA3Statics_Abs(This,a_0,ret_1)	\
    (This)->lpVtbl -> Abs(This,a_0,ret_1)

#define IDA3Statics_Sqrt(This,a_0,ret_1)	\
    (This)->lpVtbl -> Sqrt(This,a_0,ret_1)

#define IDA3Statics_Floor(This,a_0,ret_1)	\
    (This)->lpVtbl -> Floor(This,a_0,ret_1)

#define IDA3Statics_Round(This,a_0,ret_1)	\
    (This)->lpVtbl -> Round(This,a_0,ret_1)

#define IDA3Statics_Ceiling(This,a_0,ret_1)	\
    (This)->lpVtbl -> Ceiling(This,a_0,ret_1)

#define IDA3Statics_Asin(This,a_0,ret_1)	\
    (This)->lpVtbl -> Asin(This,a_0,ret_1)

#define IDA3Statics_Acos(This,a_0,ret_1)	\
    (This)->lpVtbl -> Acos(This,a_0,ret_1)

#define IDA3Statics_Atan(This,a_0,ret_1)	\
    (This)->lpVtbl -> Atan(This,a_0,ret_1)

#define IDA3Statics_Sin(This,a_0,ret_1)	\
    (This)->lpVtbl -> Sin(This,a_0,ret_1)

#define IDA3Statics_Cos(This,a_0,ret_1)	\
    (This)->lpVtbl -> Cos(This,a_0,ret_1)

#define IDA3Statics_Tan(This,a_0,ret_1)	\
    (This)->lpVtbl -> Tan(This,a_0,ret_1)

#define IDA3Statics_Exp(This,a_0,ret_1)	\
    (This)->lpVtbl -> Exp(This,a_0,ret_1)

#define IDA3Statics_Ln(This,a_0,ret_1)	\
    (This)->lpVtbl -> Ln(This,a_0,ret_1)

#define IDA3Statics_Log10(This,a_0,ret_1)	\
    (This)->lpVtbl -> Log10(This,a_0,ret_1)

#define IDA3Statics_ToDegrees(This,a_0,ret_1)	\
    (This)->lpVtbl -> ToDegrees(This,a_0,ret_1)

#define IDA3Statics_ToRadians(This,a_0,ret_1)	\
    (This)->lpVtbl -> ToRadians(This,a_0,ret_1)

#define IDA3Statics_Mod(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Mod(This,a_0,b_1,ret_2)

#define IDA3Statics_Atan2(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Atan2(This,a_0,b_1,ret_2)

#define IDA3Statics_Add(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Add(This,a_0,b_1,ret_2)

#define IDA3Statics_Sub(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Sub(This,a_0,b_1,ret_2)

#define IDA3Statics_Mul(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Mul(This,a_0,b_1,ret_2)

#define IDA3Statics_Div(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Div(This,a_0,b_1,ret_2)

#define IDA3Statics_LT(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> LT(This,a_0,b_1,ret_2)

#define IDA3Statics_LTE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> LTE(This,a_0,b_1,ret_2)

#define IDA3Statics_GT(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> GT(This,a_0,b_1,ret_2)

#define IDA3Statics_GTE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> GTE(This,a_0,b_1,ret_2)

#define IDA3Statics_EQ(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> EQ(This,a_0,b_1,ret_2)

#define IDA3Statics_NE(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> NE(This,a_0,b_1,ret_2)

#define IDA3Statics_Neg(This,a_0,ret_1)	\
    (This)->lpVtbl -> Neg(This,a_0,ret_1)

#define IDA3Statics_InterpolateAnim(This,from_0,to_1,duration_2,ret_3)	\
    (This)->lpVtbl -> InterpolateAnim(This,from_0,to_1,duration_2,ret_3)

#define IDA3Statics_Interpolate(This,from_0,to_1,duration_2,ret_3)	\
    (This)->lpVtbl -> Interpolate(This,from_0,to_1,duration_2,ret_3)

#define IDA3Statics_SlowInSlowOutAnim(This,from_0,to_1,duration_2,sharpness_3,ret_4)	\
    (This)->lpVtbl -> SlowInSlowOutAnim(This,from_0,to_1,duration_2,sharpness_3,ret_4)

#define IDA3Statics_SlowInSlowOut(This,from_0,to_1,duration_2,sharpness_3,ret_4)	\
    (This)->lpVtbl -> SlowInSlowOut(This,from_0,to_1,duration_2,sharpness_3,ret_4)

#define IDA3Statics_SoundSource(This,snd_0,ret_1)	\
    (This)->lpVtbl -> SoundSource(This,snd_0,ret_1)

#define IDA3Statics_Mix(This,left_0,right_1,ret_2)	\
    (This)->lpVtbl -> Mix(This,left_0,right_1,ret_2)

#define IDA3Statics_And(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> And(This,a_0,b_1,ret_2)

#define IDA3Statics_Or(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Or(This,a_0,b_1,ret_2)

#define IDA3Statics_Not(This,a_0,ret_1)	\
    (This)->lpVtbl -> Not(This,a_0,ret_1)

#define IDA3Statics_Integral(This,b_0,ret_1)	\
    (This)->lpVtbl -> Integral(This,b_0,ret_1)

#define IDA3Statics_Derivative(This,b_0,ret_1)	\
    (This)->lpVtbl -> Derivative(This,b_0,ret_1)

#define IDA3Statics_IntegralVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> IntegralVector2(This,v_0,ret_1)

#define IDA3Statics_IntegralVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> IntegralVector3(This,v_0,ret_1)

#define IDA3Statics_DerivativeVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativeVector2(This,v_0,ret_1)

#define IDA3Statics_DerivativeVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativeVector3(This,v_0,ret_1)

#define IDA3Statics_DerivativePoint2(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativePoint2(This,v_0,ret_1)

#define IDA3Statics_DerivativePoint3(This,v_0,ret_1)	\
    (This)->lpVtbl -> DerivativePoint3(This,v_0,ret_1)

#define IDA3Statics_KeyState(This,n_0,ret_1)	\
    (This)->lpVtbl -> KeyState(This,n_0,ret_1)

#define IDA3Statics_KeyUp(This,arg_0,ret_1)	\
    (This)->lpVtbl -> KeyUp(This,arg_0,ret_1)

#define IDA3Statics_KeyDown(This,arg_0,ret_1)	\
    (This)->lpVtbl -> KeyDown(This,arg_0,ret_1)

#define IDA3Statics_DANumber(This,num_0,ret_1)	\
    (This)->lpVtbl -> DANumber(This,num_0,ret_1)

#define IDA3Statics_DAString(This,str_0,ret_1)	\
    (This)->lpVtbl -> DAString(This,str_0,ret_1)

#define IDA3Statics_DABoolean(This,num_0,ret_1)	\
    (This)->lpVtbl -> DABoolean(This,num_0,ret_1)

#define IDA3Statics_SeededRandom(This,arg_0,ret_1)	\
    (This)->lpVtbl -> SeededRandom(This,arg_0,ret_1)

#define IDA3Statics_get_MousePosition(This,ret_0)	\
    (This)->lpVtbl -> get_MousePosition(This,ret_0)

#define IDA3Statics_get_LeftButtonState(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonState(This,ret_0)

#define IDA3Statics_get_RightButtonState(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonState(This,ret_0)

#define IDA3Statics_get_DATrue(This,ret_0)	\
    (This)->lpVtbl -> get_DATrue(This,ret_0)

#define IDA3Statics_get_DAFalse(This,ret_0)	\
    (This)->lpVtbl -> get_DAFalse(This,ret_0)

#define IDA3Statics_get_LocalTime(This,ret_0)	\
    (This)->lpVtbl -> get_LocalTime(This,ret_0)

#define IDA3Statics_get_GlobalTime(This,ret_0)	\
    (This)->lpVtbl -> get_GlobalTime(This,ret_0)

#define IDA3Statics_get_Pixel(This,ret_0)	\
    (This)->lpVtbl -> get_Pixel(This,ret_0)

#define IDA3Statics_UserData(This,data_0,ret_1)	\
    (This)->lpVtbl -> UserData(This,data_0,ret_1)

#define IDA3Statics_UntilNotify(This,b0_0,event_1,notifier_2,ret_3)	\
    (This)->lpVtbl -> UntilNotify(This,b0_0,event_1,notifier_2,ret_3)

#define IDA3Statics_Until(This,b0_0,event_1,b1_2,ret_3)	\
    (This)->lpVtbl -> Until(This,b0_0,event_1,b1_2,ret_3)

#define IDA3Statics_UntilEx(This,b0_0,event_1,ret_2)	\
    (This)->lpVtbl -> UntilEx(This,b0_0,event_1,ret_2)

#define IDA3Statics_Sequence(This,s1_0,s2_1,ret_2)	\
    (This)->lpVtbl -> Sequence(This,s1_0,s2_1,ret_2)

#define IDA3Statics_FollowPath(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPath(This,path_0,duration_1,ret_2)

#define IDA3Statics_FollowPathAngle(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngle(This,path_0,duration_1,ret_2)

#define IDA3Statics_FollowPathAngleUpright(This,path_0,duration_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUpright(This,path_0,duration_1,ret_2)

#define IDA3Statics_FollowPathEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathEval(This,path_0,eval_1,ret_2)

#define IDA3Statics_FollowPathAngleEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleEval(This,path_0,eval_1,ret_2)

#define IDA3Statics_FollowPathAngleUprightEval(This,path_0,eval_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUprightEval(This,path_0,eval_1,ret_2)

#define IDA3Statics_FollowPathAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA3Statics_FollowPathAngleAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA3Statics_FollowPathAngleUprightAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> FollowPathAngleUprightAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA3Statics_ConcatString(This,s1_0,s2_1,ret_2)	\
    (This)->lpVtbl -> ConcatString(This,s1_0,s2_1,ret_2)

#define IDA3Statics_PerspectiveCamera(This,focalDist_0,nearClip_1,ret_2)	\
    (This)->lpVtbl -> PerspectiveCamera(This,focalDist_0,nearClip_1,ret_2)

#define IDA3Statics_PerspectiveCameraAnim(This,focalDist_0,nearClip_1,ret_2)	\
    (This)->lpVtbl -> PerspectiveCameraAnim(This,focalDist_0,nearClip_1,ret_2)

#define IDA3Statics_ParallelCamera(This,nearClip_0,ret_1)	\
    (This)->lpVtbl -> ParallelCamera(This,nearClip_0,ret_1)

#define IDA3Statics_ParallelCameraAnim(This,nearClip_0,ret_1)	\
    (This)->lpVtbl -> ParallelCameraAnim(This,nearClip_0,ret_1)

#define IDA3Statics_ColorRgbAnim(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgbAnim(This,red_0,green_1,blue_2,ret_3)

#define IDA3Statics_ColorRgb(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgb(This,red_0,green_1,blue_2,ret_3)

#define IDA3Statics_ColorRgb255(This,red_0,green_1,blue_2,ret_3)	\
    (This)->lpVtbl -> ColorRgb255(This,red_0,green_1,blue_2,ret_3)

#define IDA3Statics_ColorHsl(This,hue_0,saturation_1,lum_2,ret_3)	\
    (This)->lpVtbl -> ColorHsl(This,hue_0,saturation_1,lum_2,ret_3)

#define IDA3Statics_ColorHslAnim(This,hue_0,saturation_1,lum_2,ret_3)	\
    (This)->lpVtbl -> ColorHslAnim(This,hue_0,saturation_1,lum_2,ret_3)

#define IDA3Statics_get_Red(This,ret_0)	\
    (This)->lpVtbl -> get_Red(This,ret_0)

#define IDA3Statics_get_Green(This,ret_0)	\
    (This)->lpVtbl -> get_Green(This,ret_0)

#define IDA3Statics_get_Blue(This,ret_0)	\
    (This)->lpVtbl -> get_Blue(This,ret_0)

#define IDA3Statics_get_Cyan(This,ret_0)	\
    (This)->lpVtbl -> get_Cyan(This,ret_0)

#define IDA3Statics_get_Magenta(This,ret_0)	\
    (This)->lpVtbl -> get_Magenta(This,ret_0)

#define IDA3Statics_get_Yellow(This,ret_0)	\
    (This)->lpVtbl -> get_Yellow(This,ret_0)

#define IDA3Statics_get_Black(This,ret_0)	\
    (This)->lpVtbl -> get_Black(This,ret_0)

#define IDA3Statics_get_White(This,ret_0)	\
    (This)->lpVtbl -> get_White(This,ret_0)

#define IDA3Statics_get_Aqua(This,ret_0)	\
    (This)->lpVtbl -> get_Aqua(This,ret_0)

#define IDA3Statics_get_Fuchsia(This,ret_0)	\
    (This)->lpVtbl -> get_Fuchsia(This,ret_0)

#define IDA3Statics_get_Gray(This,ret_0)	\
    (This)->lpVtbl -> get_Gray(This,ret_0)

#define IDA3Statics_get_Lime(This,ret_0)	\
    (This)->lpVtbl -> get_Lime(This,ret_0)

#define IDA3Statics_get_Maroon(This,ret_0)	\
    (This)->lpVtbl -> get_Maroon(This,ret_0)

#define IDA3Statics_get_Navy(This,ret_0)	\
    (This)->lpVtbl -> get_Navy(This,ret_0)

#define IDA3Statics_get_Olive(This,ret_0)	\
    (This)->lpVtbl -> get_Olive(This,ret_0)

#define IDA3Statics_get_Purple(This,ret_0)	\
    (This)->lpVtbl -> get_Purple(This,ret_0)

#define IDA3Statics_get_Silver(This,ret_0)	\
    (This)->lpVtbl -> get_Silver(This,ret_0)

#define IDA3Statics_get_Teal(This,ret_0)	\
    (This)->lpVtbl -> get_Teal(This,ret_0)

#define IDA3Statics_Predicate(This,b_0,ret_1)	\
    (This)->lpVtbl -> Predicate(This,b_0,ret_1)

#define IDA3Statics_NotEvent(This,event_0,ret_1)	\
    (This)->lpVtbl -> NotEvent(This,event_0,ret_1)

#define IDA3Statics_AndEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> AndEvent(This,e1_0,e2_1,ret_2)

#define IDA3Statics_OrEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> OrEvent(This,e1_0,e2_1,ret_2)

#define IDA3Statics_ThenEvent(This,e1_0,e2_1,ret_2)	\
    (This)->lpVtbl -> ThenEvent(This,e1_0,e2_1,ret_2)

#define IDA3Statics_get_LeftButtonDown(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonDown(This,ret_0)

#define IDA3Statics_get_LeftButtonUp(This,ret_0)	\
    (This)->lpVtbl -> get_LeftButtonUp(This,ret_0)

#define IDA3Statics_get_RightButtonDown(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonDown(This,ret_0)

#define IDA3Statics_get_RightButtonUp(This,ret_0)	\
    (This)->lpVtbl -> get_RightButtonUp(This,ret_0)

#define IDA3Statics_get_Always(This,ret_0)	\
    (This)->lpVtbl -> get_Always(This,ret_0)

#define IDA3Statics_get_Never(This,ret_0)	\
    (This)->lpVtbl -> get_Never(This,ret_0)

#define IDA3Statics_TimerAnim(This,n_0,ret_1)	\
    (This)->lpVtbl -> TimerAnim(This,n_0,ret_1)

#define IDA3Statics_Timer(This,n_0,ret_1)	\
    (This)->lpVtbl -> Timer(This,n_0,ret_1)

#define IDA3Statics_AppTriggeredEvent(This,ret_0)	\
    (This)->lpVtbl -> AppTriggeredEvent(This,ret_0)

#define IDA3Statics_ScriptCallback(This,obsolete1_0,obsolete2_1,obsolete3_2,ret_3)	\
    (This)->lpVtbl -> ScriptCallback(This,obsolete1_0,obsolete2_1,obsolete3_2,ret_3)

#define IDA3Statics_get_EmptyGeometry(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyGeometry(This,ret_0)

#define IDA3Statics_UnionGeometry(This,g1_0,g2_1,ret_2)	\
    (This)->lpVtbl -> UnionGeometry(This,g1_0,g2_1,ret_2)

#define IDA3Statics_UnionGeometryArrayEx(This,imgs_0size,imgs_0,ret_1)	\
    (This)->lpVtbl -> UnionGeometryArrayEx(This,imgs_0size,imgs_0,ret_1)

#define IDA3Statics_UnionGeometryArray(This,imgs_0,ret_1)	\
    (This)->lpVtbl -> UnionGeometryArray(This,imgs_0,ret_1)

#define IDA3Statics_get_EmptyImage(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyImage(This,ret_0)

#define IDA3Statics_get_DetectableEmptyImage(This,ret_0)	\
    (This)->lpVtbl -> get_DetectableEmptyImage(This,ret_0)

#define IDA3Statics_SolidColorImage(This,col_0,ret_1)	\
    (This)->lpVtbl -> SolidColorImage(This,col_0,ret_1)

#define IDA3Statics_GradientPolygonEx(This,points_0size,points_0,colors_1size,colors_1,ret_2)	\
    (This)->lpVtbl -> GradientPolygonEx(This,points_0size,points_0,colors_1size,colors_1,ret_2)

#define IDA3Statics_GradientPolygon(This,points_0,colors_1,ret_2)	\
    (This)->lpVtbl -> GradientPolygon(This,points_0,colors_1,ret_2)

#define IDA3Statics_RadialGradientPolygonEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)

#define IDA3Statics_RadialGradientPolygon(This,inner_0,outer_1,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygon(This,inner_0,outer_1,points_2,fallOff_3,ret_4)

#define IDA3Statics_RadialGradientPolygonAnimEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonAnimEx(This,inner_0,outer_1,points_2size,points_2,fallOff_3,ret_4)

#define IDA3Statics_RadialGradientPolygonAnim(This,inner_0,outer_1,points_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientPolygonAnim(This,inner_0,outer_1,points_2,fallOff_3,ret_4)

#define IDA3Statics_GradientSquare(This,lowerLeft_0,upperLeft_1,upperRight_2,lowerRight_3,ret_4)	\
    (This)->lpVtbl -> GradientSquare(This,lowerLeft_0,upperLeft_1,upperRight_2,lowerRight_3,ret_4)

#define IDA3Statics_RadialGradientSquare(This,inner_0,outer_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> RadialGradientSquare(This,inner_0,outer_1,fallOff_2,ret_3)

#define IDA3Statics_RadialGradientSquareAnim(This,inner_0,outer_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> RadialGradientSquareAnim(This,inner_0,outer_1,fallOff_2,ret_3)

#define IDA3Statics_RadialGradientRegularPoly(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientRegularPoly(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)

#define IDA3Statics_RadialGradientRegularPolyAnim(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)	\
    (This)->lpVtbl -> RadialGradientRegularPolyAnim(This,inner_0,outer_1,numEdges_2,fallOff_3,ret_4)

#define IDA3Statics_GradientHorizontal(This,start_0,stop_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> GradientHorizontal(This,start_0,stop_1,fallOff_2,ret_3)

#define IDA3Statics_GradientHorizontalAnim(This,start_0,stop_1,fallOff_2,ret_3)	\
    (This)->lpVtbl -> GradientHorizontalAnim(This,start_0,stop_1,fallOff_2,ret_3)

#define IDA3Statics_HatchHorizontal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchHorizontal(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchHorizontalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchHorizontalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchVertical(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchVertical(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchVerticalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchVerticalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchForwardDiagonal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchForwardDiagonal(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchForwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchForwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchBackwardDiagonal(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchBackwardDiagonal(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchBackwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchBackwardDiagonalAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchCross(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchCross(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchCrossAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchCrossAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchDiagonalCross(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchDiagonalCross(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_HatchDiagonalCrossAnim(This,lineClr_0,spacing_1,ret_2)	\
    (This)->lpVtbl -> HatchDiagonalCrossAnim(This,lineClr_0,spacing_1,ret_2)

#define IDA3Statics_Overlay(This,top_0,bottom_1,ret_2)	\
    (This)->lpVtbl -> Overlay(This,top_0,bottom_1,ret_2)

#define IDA3Statics_OverlayArrayEx(This,imgs_0size,imgs_0,ret_1)	\
    (This)->lpVtbl -> OverlayArrayEx(This,imgs_0size,imgs_0,ret_1)

#define IDA3Statics_OverlayArray(This,imgs_0,ret_1)	\
    (This)->lpVtbl -> OverlayArray(This,imgs_0,ret_1)

#define IDA3Statics_get_AmbientLight(This,ret_0)	\
    (This)->lpVtbl -> get_AmbientLight(This,ret_0)

#define IDA3Statics_get_DirectionalLight(This,ret_0)	\
    (This)->lpVtbl -> get_DirectionalLight(This,ret_0)

#define IDA3Statics_get_PointLight(This,ret_0)	\
    (This)->lpVtbl -> get_PointLight(This,ret_0)

#define IDA3Statics_SpotLightAnim(This,fullcone_0,cutoff_1,ret_2)	\
    (This)->lpVtbl -> SpotLightAnim(This,fullcone_0,cutoff_1,ret_2)

#define IDA3Statics_SpotLight(This,fullcone_0,cutoff_1,ret_2)	\
    (This)->lpVtbl -> SpotLight(This,fullcone_0,cutoff_1,ret_2)

#define IDA3Statics_get_DefaultLineStyle(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultLineStyle(This,ret_0)

#define IDA3Statics_get_EmptyLineStyle(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyLineStyle(This,ret_0)

#define IDA3Statics_get_JoinStyleBevel(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleBevel(This,ret_0)

#define IDA3Statics_get_JoinStyleRound(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleRound(This,ret_0)

#define IDA3Statics_get_JoinStyleMiter(This,ret_0)	\
    (This)->lpVtbl -> get_JoinStyleMiter(This,ret_0)

#define IDA3Statics_get_EndStyleFlat(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleFlat(This,ret_0)

#define IDA3Statics_get_EndStyleSquare(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleSquare(This,ret_0)

#define IDA3Statics_get_EndStyleRound(This,ret_0)	\
    (This)->lpVtbl -> get_EndStyleRound(This,ret_0)

#define IDA3Statics_get_DashStyleSolid(This,ret_0)	\
    (This)->lpVtbl -> get_DashStyleSolid(This,ret_0)

#define IDA3Statics_get_DashStyleDashed(This,ret_0)	\
    (This)->lpVtbl -> get_DashStyleDashed(This,ret_0)

#define IDA3Statics_get_DefaultMicrophone(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultMicrophone(This,ret_0)

#define IDA3Statics_get_OpaqueMatte(This,ret_0)	\
    (This)->lpVtbl -> get_OpaqueMatte(This,ret_0)

#define IDA3Statics_get_ClearMatte(This,ret_0)	\
    (This)->lpVtbl -> get_ClearMatte(This,ret_0)

#define IDA3Statics_UnionMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> UnionMatte(This,m1_0,m2_1,ret_2)

#define IDA3Statics_IntersectMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> IntersectMatte(This,m1_0,m2_1,ret_2)

#define IDA3Statics_DifferenceMatte(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> DifferenceMatte(This,m1_0,m2_1,ret_2)

#define IDA3Statics_FillMatte(This,p_0,ret_1)	\
    (This)->lpVtbl -> FillMatte(This,p_0,ret_1)

#define IDA3Statics_TextMatte(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> TextMatte(This,str_0,fs_1,ret_2)

#define IDA3Statics_get_EmptyMontage(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyMontage(This,ret_0)

#define IDA3Statics_ImageMontage(This,im_0,depth_1,ret_2)	\
    (This)->lpVtbl -> ImageMontage(This,im_0,depth_1,ret_2)

#define IDA3Statics_ImageMontageAnim(This,im_0,depth_1,ret_2)	\
    (This)->lpVtbl -> ImageMontageAnim(This,im_0,depth_1,ret_2)

#define IDA3Statics_UnionMontage(This,m1_0,m2_1,ret_2)	\
    (This)->lpVtbl -> UnionMontage(This,m1_0,m2_1,ret_2)

#define IDA3Statics_Concat(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> Concat(This,p1_0,p2_1,ret_2)

#define IDA3Statics_ConcatArrayEx(This,paths_0size,paths_0,ret_1)	\
    (This)->lpVtbl -> ConcatArrayEx(This,paths_0size,paths_0,ret_1)

#define IDA3Statics_ConcatArray(This,paths_0,ret_1)	\
    (This)->lpVtbl -> ConcatArray(This,paths_0,ret_1)

#define IDA3Statics_Line(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> Line(This,p1_0,p2_1,ret_2)

#define IDA3Statics_Ray(This,pt_0,ret_1)	\
    (This)->lpVtbl -> Ray(This,pt_0,ret_1)

#define IDA3Statics_StringPathAnim(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringPathAnim(This,str_0,fs_1,ret_2)

#define IDA3Statics_StringPath(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringPath(This,str_0,fs_1,ret_2)

#define IDA3Statics_PolylineEx(This,points_0size,points_0,ret_1)	\
    (This)->lpVtbl -> PolylineEx(This,points_0size,points_0,ret_1)

#define IDA3Statics_Polyline(This,points_0,ret_1)	\
    (This)->lpVtbl -> Polyline(This,points_0,ret_1)

#define IDA3Statics_PolydrawPathEx(This,points_0size,points_0,codes_1size,codes_1,ret_2)	\
    (This)->lpVtbl -> PolydrawPathEx(This,points_0size,points_0,codes_1size,codes_1,ret_2)

#define IDA3Statics_PolydrawPath(This,points_0,codes_1,ret_2)	\
    (This)->lpVtbl -> PolydrawPath(This,points_0,codes_1,ret_2)

#define IDA3Statics_ArcRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA3Statics_ArcRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA3Statics_ArcDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> ArcDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA3Statics_PieRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieRadians(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA3Statics_PieRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieRadiansAnim(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA3Statics_PieDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)	\
    (This)->lpVtbl -> PieDegrees(This,startAngle_0,endAngle_1,arcWidth_2,arcHeight_3,ret_4)

#define IDA3Statics_Oval(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> Oval(This,width_0,height_1,ret_2)

#define IDA3Statics_OvalAnim(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> OvalAnim(This,width_0,height_1,ret_2)

#define IDA3Statics_Rect(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> Rect(This,width_0,height_1,ret_2)

#define IDA3Statics_RectAnim(This,width_0,height_1,ret_2)	\
    (This)->lpVtbl -> RectAnim(This,width_0,height_1,ret_2)

#define IDA3Statics_RoundRect(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)	\
    (This)->lpVtbl -> RoundRect(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)

#define IDA3Statics_RoundRectAnim(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)	\
    (This)->lpVtbl -> RoundRectAnim(This,width_0,height_1,cornerArcWidth_2,cornerArcHeight_3,ret_4)

#define IDA3Statics_CubicBSplinePathEx(This,points_0size,points_0,knots_1size,knots_1,ret_2)	\
    (This)->lpVtbl -> CubicBSplinePathEx(This,points_0size,points_0,knots_1size,knots_1,ret_2)

#define IDA3Statics_CubicBSplinePath(This,points_0,knots_1,ret_2)	\
    (This)->lpVtbl -> CubicBSplinePath(This,points_0,knots_1,ret_2)

#define IDA3Statics_TextPath(This,obsolete1_0,obsolete2_1,ret_2)	\
    (This)->lpVtbl -> TextPath(This,obsolete1_0,obsolete2_1,ret_2)

#define IDA3Statics_get_Silence(This,ret_0)	\
    (This)->lpVtbl -> get_Silence(This,ret_0)

#define IDA3Statics_MixArrayEx(This,snds_0size,snds_0,ret_1)	\
    (This)->lpVtbl -> MixArrayEx(This,snds_0size,snds_0,ret_1)

#define IDA3Statics_MixArray(This,snds_0,ret_1)	\
    (This)->lpVtbl -> MixArray(This,snds_0,ret_1)

#define IDA3Statics_get_SinSynth(This,ret_0)	\
    (This)->lpVtbl -> get_SinSynth(This,ret_0)

#define IDA3Statics_get_DefaultFont(This,ret_0)	\
    (This)->lpVtbl -> get_DefaultFont(This,ret_0)

#define IDA3Statics_FontAnim(This,str_0,size_1,col_2,ret_3)	\
    (This)->lpVtbl -> FontAnim(This,str_0,size_1,col_2,ret_3)

#define IDA3Statics_Font(This,str_0,size_1,col_2,ret_3)	\
    (This)->lpVtbl -> Font(This,str_0,size_1,col_2,ret_3)

#define IDA3Statics_StringImageAnim(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringImageAnim(This,str_0,fs_1,ret_2)

#define IDA3Statics_StringImage(This,str_0,fs_1,ret_2)	\
    (This)->lpVtbl -> StringImage(This,str_0,fs_1,ret_2)

#define IDA3Statics_TextImageAnim(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> TextImageAnim(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA3Statics_TextImage(This,obsoleted1_0,obsoleted2_1,ret_2)	\
    (This)->lpVtbl -> TextImage(This,obsoleted1_0,obsoleted2_1,ret_2)

#define IDA3Statics_get_XVector2(This,ret_0)	\
    (This)->lpVtbl -> get_XVector2(This,ret_0)

#define IDA3Statics_get_YVector2(This,ret_0)	\
    (This)->lpVtbl -> get_YVector2(This,ret_0)

#define IDA3Statics_get_ZeroVector2(This,ret_0)	\
    (This)->lpVtbl -> get_ZeroVector2(This,ret_0)

#define IDA3Statics_get_Origin2(This,ret_0)	\
    (This)->lpVtbl -> get_Origin2(This,ret_0)

#define IDA3Statics_Vector2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Vector2Anim(This,x_0,y_1,ret_2)

#define IDA3Statics_Vector2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Vector2(This,x_0,y_1,ret_2)

#define IDA3Statics_Point2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Point2Anim(This,x_0,y_1,ret_2)

#define IDA3Statics_Point2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Point2(This,x_0,y_1,ret_2)

#define IDA3Statics_Vector2PolarAnim(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2PolarAnim(This,theta_0,radius_1,ret_2)

#define IDA3Statics_Vector2Polar(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2Polar(This,theta_0,radius_1,ret_2)

#define IDA3Statics_Vector2PolarDegrees(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Vector2PolarDegrees(This,theta_0,radius_1,ret_2)

#define IDA3Statics_Point2PolarAnim(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Point2PolarAnim(This,theta_0,radius_1,ret_2)

#define IDA3Statics_Point2Polar(This,theta_0,radius_1,ret_2)	\
    (This)->lpVtbl -> Point2Polar(This,theta_0,radius_1,ret_2)

#define IDA3Statics_DotVector2(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> DotVector2(This,v_0,u_1,ret_2)

#define IDA3Statics_NegVector2(This,v_0,ret_1)	\
    (This)->lpVtbl -> NegVector2(This,v_0,ret_1)

#define IDA3Statics_SubVector2(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> SubVector2(This,v1_0,v2_1,ret_2)

#define IDA3Statics_AddVector2(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> AddVector2(This,v1_0,v2_1,ret_2)

#define IDA3Statics_AddPoint2Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> AddPoint2Vector(This,p_0,v_1,ret_2)

#define IDA3Statics_SubPoint2Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> SubPoint2Vector(This,p_0,v_1,ret_2)

#define IDA3Statics_SubPoint2(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> SubPoint2(This,p1_0,p2_1,ret_2)

#define IDA3Statics_DistancePoint2(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistancePoint2(This,p_0,q_1,ret_2)

#define IDA3Statics_DistanceSquaredPoint2(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistanceSquaredPoint2(This,p_0,q_1,ret_2)

#define IDA3Statics_get_XVector3(This,ret_0)	\
    (This)->lpVtbl -> get_XVector3(This,ret_0)

#define IDA3Statics_get_YVector3(This,ret_0)	\
    (This)->lpVtbl -> get_YVector3(This,ret_0)

#define IDA3Statics_get_ZVector3(This,ret_0)	\
    (This)->lpVtbl -> get_ZVector3(This,ret_0)

#define IDA3Statics_get_ZeroVector3(This,ret_0)	\
    (This)->lpVtbl -> get_ZeroVector3(This,ret_0)

#define IDA3Statics_get_Origin3(This,ret_0)	\
    (This)->lpVtbl -> get_Origin3(This,ret_0)

#define IDA3Statics_Vector3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Vector3Anim(This,x_0,y_1,z_2,ret_3)

#define IDA3Statics_Vector3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Vector3(This,x_0,y_1,z_2,ret_3)

#define IDA3Statics_Point3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Point3Anim(This,x_0,y_1,z_2,ret_3)

#define IDA3Statics_Point3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Point3(This,x_0,y_1,z_2,ret_3)

#define IDA3Statics_Vector3SphericalAnim(This,xyAngle_0,yzAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Vector3SphericalAnim(This,xyAngle_0,yzAngle_1,radius_2,ret_3)

#define IDA3Statics_Vector3Spherical(This,xyAngle_0,yzAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Vector3Spherical(This,xyAngle_0,yzAngle_1,radius_2,ret_3)

#define IDA3Statics_Point3SphericalAnim(This,zxAngle_0,xyAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Point3SphericalAnim(This,zxAngle_0,xyAngle_1,radius_2,ret_3)

#define IDA3Statics_Point3Spherical(This,zxAngle_0,xyAngle_1,radius_2,ret_3)	\
    (This)->lpVtbl -> Point3Spherical(This,zxAngle_0,xyAngle_1,radius_2,ret_3)

#define IDA3Statics_DotVector3(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> DotVector3(This,v_0,u_1,ret_2)

#define IDA3Statics_CrossVector3(This,v_0,u_1,ret_2)	\
    (This)->lpVtbl -> CrossVector3(This,v_0,u_1,ret_2)

#define IDA3Statics_NegVector3(This,v_0,ret_1)	\
    (This)->lpVtbl -> NegVector3(This,v_0,ret_1)

#define IDA3Statics_SubVector3(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> SubVector3(This,v1_0,v2_1,ret_2)

#define IDA3Statics_AddVector3(This,v1_0,v2_1,ret_2)	\
    (This)->lpVtbl -> AddVector3(This,v1_0,v2_1,ret_2)

#define IDA3Statics_AddPoint3Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> AddPoint3Vector(This,p_0,v_1,ret_2)

#define IDA3Statics_SubPoint3Vector(This,p_0,v_1,ret_2)	\
    (This)->lpVtbl -> SubPoint3Vector(This,p_0,v_1,ret_2)

#define IDA3Statics_SubPoint3(This,p1_0,p2_1,ret_2)	\
    (This)->lpVtbl -> SubPoint3(This,p1_0,p2_1,ret_2)

#define IDA3Statics_DistancePoint3(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistancePoint3(This,p_0,q_1,ret_2)

#define IDA3Statics_DistanceSquaredPoint3(This,p_0,q_1,ret_2)	\
    (This)->lpVtbl -> DistanceSquaredPoint3(This,p_0,q_1,ret_2)

#define IDA3Statics_get_IdentityTransform3(This,ret_0)	\
    (This)->lpVtbl -> get_IdentityTransform3(This,ret_0)

#define IDA3Statics_Translate3Anim(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3Anim(This,tx_0,ty_1,tz_2,ret_3)

#define IDA3Statics_Translate3(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3(This,tx_0,ty_1,tz_2,ret_3)

#define IDA3Statics_Translate3Rate(This,tx_0,ty_1,tz_2,ret_3)	\
    (This)->lpVtbl -> Translate3Rate(This,tx_0,ty_1,tz_2,ret_3)

#define IDA3Statics_Translate3Vector(This,delta_0,ret_1)	\
    (This)->lpVtbl -> Translate3Vector(This,delta_0,ret_1)

#define IDA3Statics_Translate3Point(This,new_origin_0,ret_1)	\
    (This)->lpVtbl -> Translate3Point(This,new_origin_0,ret_1)

#define IDA3Statics_Scale3Anim(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3Anim(This,x_0,y_1,z_2,ret_3)

#define IDA3Statics_Scale3(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3(This,x_0,y_1,z_2,ret_3)

#define IDA3Statics_Scale3Rate(This,x_0,y_1,z_2,ret_3)	\
    (This)->lpVtbl -> Scale3Rate(This,x_0,y_1,z_2,ret_3)

#define IDA3Statics_Scale3Vector(This,scale_vec_0,ret_1)	\
    (This)->lpVtbl -> Scale3Vector(This,scale_vec_0,ret_1)

#define IDA3Statics_Scale3UniformAnim(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3UniformAnim(This,uniform_scale_0,ret_1)

#define IDA3Statics_Scale3Uniform(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3Uniform(This,uniform_scale_0,ret_1)

#define IDA3Statics_Scale3UniformRate(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale3UniformRate(This,uniform_scale_0,ret_1)

#define IDA3Statics_Rotate3Anim(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Anim(This,axis_0,angle_1,ret_2)

#define IDA3Statics_Rotate3(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3(This,axis_0,angle_1,ret_2)

#define IDA3Statics_Rotate3Rate(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Rate(This,axis_0,angle_1,ret_2)

#define IDA3Statics_Rotate3Degrees(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3Degrees(This,axis_0,angle_1,ret_2)

#define IDA3Statics_Rotate3RateDegrees(This,axis_0,angle_1,ret_2)	\
    (This)->lpVtbl -> Rotate3RateDegrees(This,axis_0,angle_1,ret_2)

#define IDA3Statics_XShear3Anim(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3Anim(This,a_0,b_1,ret_2)

#define IDA3Statics_XShear3(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3(This,a_0,b_1,ret_2)

#define IDA3Statics_XShear3Rate(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> XShear3Rate(This,a_0,b_1,ret_2)

#define IDA3Statics_YShear3Anim(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3Anim(This,c_0,d_1,ret_2)

#define IDA3Statics_YShear3(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3(This,c_0,d_1,ret_2)

#define IDA3Statics_YShear3Rate(This,c_0,d_1,ret_2)	\
    (This)->lpVtbl -> YShear3Rate(This,c_0,d_1,ret_2)

#define IDA3Statics_ZShear3Anim(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3Anim(This,e_0,f_1,ret_2)

#define IDA3Statics_ZShear3(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3(This,e_0,f_1,ret_2)

#define IDA3Statics_ZShear3Rate(This,e_0,f_1,ret_2)	\
    (This)->lpVtbl -> ZShear3Rate(This,e_0,f_1,ret_2)

#define IDA3Statics_Transform4x4AnimEx(This,m_0size,m_0,ret_1)	\
    (This)->lpVtbl -> Transform4x4AnimEx(This,m_0size,m_0,ret_1)

#define IDA3Statics_Transform4x4Anim(This,m_0,ret_1)	\
    (This)->lpVtbl -> Transform4x4Anim(This,m_0,ret_1)

#define IDA3Statics_Compose3(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Compose3(This,a_0,b_1,ret_2)

#define IDA3Statics_Compose3ArrayEx(This,xfs_0size,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose3ArrayEx(This,xfs_0size,xfs_0,ret_1)

#define IDA3Statics_Compose3Array(This,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose3Array(This,xfs_0,ret_1)

#define IDA3Statics_LookAtFrom(This,to_0,from_1,up_2,ret_3)	\
    (This)->lpVtbl -> LookAtFrom(This,to_0,from_1,up_2,ret_3)

#define IDA3Statics_get_IdentityTransform2(This,ret_0)	\
    (This)->lpVtbl -> get_IdentityTransform2(This,ret_0)

#define IDA3Statics_Translate2Anim(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2Anim(This,Tx_0,Ty_1,ret_2)

#define IDA3Statics_Translate2(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2(This,Tx_0,Ty_1,ret_2)

#define IDA3Statics_Translate2Rate(This,Tx_0,Ty_1,ret_2)	\
    (This)->lpVtbl -> Translate2Rate(This,Tx_0,Ty_1,ret_2)

#define IDA3Statics_Translate2Vector(This,delta_0,ret_1)	\
    (This)->lpVtbl -> Translate2Vector(This,delta_0,ret_1)

#define IDA3Statics_Translate2Point(This,pos_0,ret_1)	\
    (This)->lpVtbl -> Translate2Point(This,pos_0,ret_1)

#define IDA3Statics_Scale2Anim(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2Anim(This,x_0,y_1,ret_2)

#define IDA3Statics_Scale2(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2(This,x_0,y_1,ret_2)

#define IDA3Statics_Scale2Rate(This,x_0,y_1,ret_2)	\
    (This)->lpVtbl -> Scale2Rate(This,x_0,y_1,ret_2)

#define IDA3Statics_Scale2Vector2(This,obsoleteMethod_0,ret_1)	\
    (This)->lpVtbl -> Scale2Vector2(This,obsoleteMethod_0,ret_1)

#define IDA3Statics_Scale2Vector(This,scale_vec_0,ret_1)	\
    (This)->lpVtbl -> Scale2Vector(This,scale_vec_0,ret_1)

#define IDA3Statics_Scale2UniformAnim(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2UniformAnim(This,uniform_scale_0,ret_1)

#define IDA3Statics_Scale2Uniform(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2Uniform(This,uniform_scale_0,ret_1)

#define IDA3Statics_Scale2UniformRate(This,uniform_scale_0,ret_1)	\
    (This)->lpVtbl -> Scale2UniformRate(This,uniform_scale_0,ret_1)

#define IDA3Statics_Rotate2Anim(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Anim(This,angle_0,ret_1)

#define IDA3Statics_Rotate2(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2(This,angle_0,ret_1)

#define IDA3Statics_Rotate2Rate(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Rate(This,angle_0,ret_1)

#define IDA3Statics_Rotate2Degrees(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2Degrees(This,angle_0,ret_1)

#define IDA3Statics_Rotate2RateDegrees(This,angle_0,ret_1)	\
    (This)->lpVtbl -> Rotate2RateDegrees(This,angle_0,ret_1)

#define IDA3Statics_XShear2Anim(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2Anim(This,arg_0,ret_1)

#define IDA3Statics_XShear2(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2(This,arg_0,ret_1)

#define IDA3Statics_XShear2Rate(This,arg_0,ret_1)	\
    (This)->lpVtbl -> XShear2Rate(This,arg_0,ret_1)

#define IDA3Statics_YShear2Anim(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2Anim(This,arg_0,ret_1)

#define IDA3Statics_YShear2(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2(This,arg_0,ret_1)

#define IDA3Statics_YShear2Rate(This,arg_0,ret_1)	\
    (This)->lpVtbl -> YShear2Rate(This,arg_0,ret_1)

#define IDA3Statics_Transform3x2AnimEx(This,m_0size,m_0,ret_1)	\
    (This)->lpVtbl -> Transform3x2AnimEx(This,m_0size,m_0,ret_1)

#define IDA3Statics_Transform3x2Anim(This,m_0,ret_1)	\
    (This)->lpVtbl -> Transform3x2Anim(This,m_0,ret_1)

#define IDA3Statics_Compose2(This,a_0,b_1,ret_2)	\
    (This)->lpVtbl -> Compose2(This,a_0,b_1,ret_2)

#define IDA3Statics_Compose2ArrayEx(This,xfs_0size,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose2ArrayEx(This,xfs_0size,xfs_0,ret_1)

#define IDA3Statics_Compose2Array(This,xfs_0,ret_1)	\
    (This)->lpVtbl -> Compose2Array(This,xfs_0,ret_1)

#define IDA3Statics_Tuple(This,obsolete1,obsolete2)	\
    (This)->lpVtbl -> Tuple(This,obsolete1,obsolete2)

#define IDA3Statics_Array(This,obsolete1,obsolete2)	\
    (This)->lpVtbl -> Array(This,obsolete1,obsolete2)

#define IDA3Statics_get_AreBlockingImportsComplete(This,bComplete)	\
    (This)->lpVtbl -> get_AreBlockingImportsComplete(This,bComplete)


#define IDA3Statics_ImportDirect3DRMVisual(This,visual,bvr)	\
    (This)->lpVtbl -> ImportDirect3DRMVisual(This,visual,bvr)

#define IDA3Statics_ApplyDXTransformEx(This,theXf,numInputs,inputs,evaluator,ppResult)	\
    (This)->lpVtbl -> ApplyDXTransformEx(This,theXf,numInputs,inputs,evaluator,ppResult)

#define IDA3Statics_ApplyDXTransform(This,varXf,inputs,evaluator,ppResult)	\
    (This)->lpVtbl -> ApplyDXTransform(This,varXf,inputs,evaluator,ppResult)

#define IDA3Statics_ModifiableNumber(This,initVal,ppResult)	\
    (This)->lpVtbl -> ModifiableNumber(This,initVal,ppResult)

#define IDA3Statics_ModifiableString(This,initVal,ppResult)	\
    (This)->lpVtbl -> ModifiableString(This,initVal,ppResult)

#define IDA3Statics_DAArrayEx2(This,s,pBvrs,dwFlags,bvr)	\
    (This)->lpVtbl -> DAArrayEx2(This,s,pBvrs,dwFlags,bvr)

#define IDA3Statics_DAArray2(This,bvrs,dwFlags,bvr)	\
    (This)->lpVtbl -> DAArray2(This,bvrs,dwFlags,bvr)

#define IDA3Statics_ImportGeometryWrapped(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,ppGeometry)	\
    (This)->lpVtbl -> ImportGeometryWrapped(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,ppGeometry)

#define IDA3Statics_ImportGeometryWrappedAsync(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,pGeoStandIn,ppResult)	\
    (This)->lpVtbl -> ImportGeometryWrappedAsync(This,url,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,pGeoStandIn,ppResult)

#define IDA3Statics_ImportDirect3DRMVisualWrapped(This,visual,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,bvr)	\
    (This)->lpVtbl -> ImportDirect3DRMVisualWrapped(This,visual,wrapType,originX,originY,originZ,zAxisX,zAxisY,zAxisZ,yAxisX,yAxisY,yAxisZ,texOriginX,texOriginY,texScaleX,texScaleY,flags,bvr)

#define IDA3Statics_UntilNotifyScript(This,b0_0,event_1,scriptlet_2,ret_3)	\
    (This)->lpVtbl -> UntilNotifyScript(This,b0_0,event_1,scriptlet_2,ret_3)

#define IDA3Statics_get_ViewFrameRate(This,ret_0)	\
    (This)->lpVtbl -> get_ViewFrameRate(This,ret_0)

#define IDA3Statics_UnionMontageArrayEx(This,mtgs_0size,mtgs_0,ret_1)	\
    (This)->lpVtbl -> UnionMontageArrayEx(This,mtgs_0size,mtgs_0,ret_1)

#define IDA3Statics_UnionMontageArray(This,mtgs_0,ret_1)	\
    (This)->lpVtbl -> UnionMontageArray(This,mtgs_0,ret_1)

#define IDA3Statics_get_ModifiableBehaviorFlags(This,dwFlags)	\
    (This)->lpVtbl -> get_ModifiableBehaviorFlags(This,dwFlags)

#define IDA3Statics_put_ModifiableBehaviorFlags(This,dwFlags)	\
    (This)->lpVtbl -> put_ModifiableBehaviorFlags(This,dwFlags)

#define IDA3Statics_get_EmptyColor(This,ret_0)	\
    (This)->lpVtbl -> get_EmptyColor(This,ret_0)


#define IDA3Statics_ImportSoundStream(This,url,ppResult)	\
    (This)->lpVtbl -> ImportSoundStream(This,url,ppResult)

#define IDA3Statics_ImportMovieStream(This,url,ppResult)	\
    (This)->lpVtbl -> ImportMovieStream(This,url,ppResult)

#define IDA3Statics_SequenceArrayEx(This,sz,bvrs_0,ret_1)	\
    (This)->lpVtbl -> SequenceArrayEx(This,sz,bvrs_0,ret_1)

#define IDA3Statics_SequenceArray(This,bvrs_0,ret_1)	\
    (This)->lpVtbl -> SequenceArray(This,bvrs_0,ret_1)

#define IDA3Statics_get_ViewTimeDelta(This,ret_0)	\
    (This)->lpVtbl -> get_ViewTimeDelta(This,ret_0)

#define IDA3Statics_TriMesh(This,nTriangles,positions,normals,UVs,indices,result)	\
    (This)->lpVtbl -> TriMesh(This,nTriangles,positions,normals,UVs,indices,result)

#define IDA3Statics_TriMeshEx(This,nTriangles,nPositions,positions,nNormals,normals,nUVs,UVs,nIndices,indices,result)	\
    (This)->lpVtbl -> TriMeshEx(This,nTriangles,nPositions,positions,nNormals,normals,nUVs,UVs,nIndices,indices,result)

#define IDA3Statics_RadialGradientMulticolor(This,offsets,colors,result)	\
    (This)->lpVtbl -> RadialGradientMulticolor(This,offsets,colors,result)

#define IDA3Statics_RadialGradientMulticolorEx(This,nOffsets,offsets,nColors,colors,result)	\
    (This)->lpVtbl -> RadialGradientMulticolorEx(This,nOffsets,offsets,nColors,colors,result)

#define IDA3Statics_LinearGradientMulticolor(This,offsets,colors,result)	\
    (This)->lpVtbl -> LinearGradientMulticolor(This,offsets,colors,result)

#define IDA3Statics_LinearGradientMulticolorEx(This,nOffsets,offsets,nColors,colors,result)	\
    (This)->lpVtbl -> LinearGradientMulticolorEx(This,nOffsets,offsets,nColors,colors,result)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA3Statics_ImportSoundStream_Proxy( 
    IDA3Statics * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDA3Statics_ImportSoundStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3Statics_ImportMovieStream_Proxy( 
    IDA3Statics * This,
    /* [in] */ BSTR url,
    /* [retval][out] */ IDAImportationResult **ppResult);


void __RPC_STUB IDA3Statics_ImportMovieStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA3Statics_SequenceArrayEx_Proxy( 
    IDA3Statics * This,
    /* [in] */ LONG sz,
    /* [size_is][in] */ IDABehavior *bvrs_0[  ],
    /* [retval][out] */ IDABehavior **ret_1);


void __RPC_STUB IDA3Statics_SequenceArrayEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3Statics_SequenceArray_Proxy( 
    IDA3Statics * This,
    /* [in] */ VARIANT bvrs_0,
    /* [retval][out] */ IDABehavior **ret_1);


void __RPC_STUB IDA3Statics_SequenceArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDA3Statics_get_ViewTimeDelta_Proxy( 
    IDA3Statics * This,
    /* [retval][out] */ IDANumber **ret_0);


void __RPC_STUB IDA3Statics_get_ViewTimeDelta_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3Statics_TriMesh_Proxy( 
    IDA3Statics * This,
    /* [in] */ int nTriangles,
    /* [in] */ VARIANT positions,
    /* [in] */ VARIANT normals,
    /* [in] */ VARIANT UVs,
    /* [in] */ VARIANT indices,
    /* [retval][out] */ IDAGeometry **result);


void __RPC_STUB IDA3Statics_TriMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA3Statics_TriMeshEx_Proxy( 
    IDA3Statics * This,
    /* [in] */ int nTriangles,
    /* [in] */ int nPositions,
    /* [size_is][in] */ float positions[  ],
    /* [in] */ int nNormals,
    /* [size_is][in] */ float normals[  ],
    /* [in] */ int nUVs,
    /* [size_is][in] */ float UVs[  ],
    /* [in] */ int nIndices,
    /* [size_is][in] */ int indices[  ],
    /* [retval][out] */ IDAGeometry **result);


void __RPC_STUB IDA3Statics_TriMeshEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3Statics_RadialGradientMulticolor_Proxy( 
    IDA3Statics * This,
    /* [in] */ VARIANT offsets,
    /* [in] */ VARIANT colors,
    /* [retval][out] */ IDAImage **result);


void __RPC_STUB IDA3Statics_RadialGradientMulticolor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA3Statics_RadialGradientMulticolorEx_Proxy( 
    IDA3Statics * This,
    /* [in] */ int nOffsets,
    /* [size_is][in] */ IDANumber *offsets[  ],
    /* [in] */ int nColors,
    /* [size_is][in] */ IDAColor *colors[  ],
    /* [retval][out] */ IDAImage **result);


void __RPC_STUB IDA3Statics_RadialGradientMulticolorEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3Statics_LinearGradientMulticolor_Proxy( 
    IDA3Statics * This,
    /* [in] */ VARIANT offsets,
    /* [in] */ VARIANT colors,
    /* [retval][out] */ IDAImage **result);


void __RPC_STUB IDA3Statics_LinearGradientMulticolor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted] */ HRESULT STDMETHODCALLTYPE IDA3Statics_LinearGradientMulticolorEx_Proxy( 
    IDA3Statics * This,
    /* [in] */ int nOffsets,
    /* [size_is][in] */ IDANumber *offsets[  ],
    /* [in] */ int nColors,
    /* [size_is][in] */ IDAColor *colors[  ],
    /* [retval][out] */ IDAImage **result);


void __RPC_STUB IDA3Statics_LinearGradientMulticolorEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA3Statics_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DAStatics;

#ifdef __cplusplus

class DECLSPEC_UUID("542FB453-5003-11cf-92A2-00AA00B8A733")
DAStatics;
#endif

#ifndef __IDAViewerControl_INTERFACE_DEFINED__
#define __IDAViewerControl_INTERFACE_DEFINED__

/* interface IDAViewerControl */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IDAViewerControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0E41257B-812D-11D0-9B4A-00C04FC2F51D")
    IDAViewerControl : public IDispatch
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_UpdateInterval( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_UpdateInterval( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_View( 
            /* [retval][out] */ IDAView **ppView) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_View( 
            /* [in] */ IDAView *pView) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Image( 
            /* [retval][out] */ IDAImage **ppImage) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Image( 
            /* [in] */ IDAImage *pImage) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundImage( 
            /* [retval][out] */ IDAImage **ppImage) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundImage( 
            /* [in] */ IDAImage *pImage) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Sound( 
            /* [retval][out] */ IDASound **ppSound) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Sound( 
            /* [in] */ IDASound *pSound) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PixelLibrary( 
            /* [retval][out] */ IDAStatics **ppStatics) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MeterLibrary( 
            /* [retval][out] */ IDAStatics **ppStatics) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddBehaviorToRun( 
            /* [in] */ IDABehavior *pBehavior) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Start( void) = 0;
        
        virtual /* [helpstring][propget][hidden] */ HRESULT STDMETHODCALLTYPE get_InputImage( 
            /* [retval][out] */ IDAImage **pVal) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OpaqueForHitDetect( 
            /* [retval][out] */ VARIANT_BOOL *b) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_OpaqueForHitDetect( 
            /* [in] */ VARIANT_BOOL b) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TimerSource( 
            /* [retval][out] */ DA_TIMER_SOURCE *ts) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TimerSource( 
            /* [in] */ DA_TIMER_SOURCE ts) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterErrorHandler( 
            /* [in] */ BSTR scriptlet) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDAViewerControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAViewerControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAViewerControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAViewerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAViewerControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAViewerControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAViewerControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAViewerControl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateInterval )( 
            IDAViewerControl * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpdateInterval )( 
            IDAViewerControl * This,
            /* [in] */ double newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_View )( 
            IDAViewerControl * This,
            /* [retval][out] */ IDAView **ppView);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_View )( 
            IDAViewerControl * This,
            /* [in] */ IDAView *pView);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDAViewerControl * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Image )( 
            IDAViewerControl * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundImage )( 
            IDAViewerControl * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundImage )( 
            IDAViewerControl * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sound )( 
            IDAViewerControl * This,
            /* [retval][out] */ IDASound **ppSound);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Sound )( 
            IDAViewerControl * This,
            /* [in] */ IDASound *pSound);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLibrary )( 
            IDAViewerControl * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MeterLibrary )( 
            IDAViewerControl * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddBehaviorToRun )( 
            IDAViewerControl * This,
            /* [in] */ IDABehavior *pBehavior);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            IDAViewerControl * This);
        
        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_InputImage )( 
            IDAViewerControl * This,
            /* [retval][out] */ IDAImage **pVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueForHitDetect )( 
            IDAViewerControl * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OpaqueForHitDetect )( 
            IDAViewerControl * This,
            /* [in] */ VARIANT_BOOL b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimerSource )( 
            IDAViewerControl * This,
            /* [retval][out] */ DA_TIMER_SOURCE *ts);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimerSource )( 
            IDAViewerControl * This,
            /* [in] */ DA_TIMER_SOURCE ts);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterErrorHandler )( 
            IDAViewerControl * This,
            /* [in] */ BSTR scriptlet);
        
        END_INTERFACE
    } IDAViewerControlVtbl;

    interface IDAViewerControl
    {
        CONST_VTBL struct IDAViewerControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAViewerControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAViewerControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAViewerControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAViewerControl_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAViewerControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAViewerControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAViewerControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAViewerControl_get_UpdateInterval(This,pVal)	\
    (This)->lpVtbl -> get_UpdateInterval(This,pVal)

#define IDAViewerControl_put_UpdateInterval(This,newVal)	\
    (This)->lpVtbl -> put_UpdateInterval(This,newVal)

#define IDAViewerControl_get_View(This,ppView)	\
    (This)->lpVtbl -> get_View(This,ppView)

#define IDAViewerControl_put_View(This,pView)	\
    (This)->lpVtbl -> put_View(This,pView)

#define IDAViewerControl_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDAViewerControl_put_Image(This,pImage)	\
    (This)->lpVtbl -> put_Image(This,pImage)

#define IDAViewerControl_get_BackgroundImage(This,ppImage)	\
    (This)->lpVtbl -> get_BackgroundImage(This,ppImage)

#define IDAViewerControl_put_BackgroundImage(This,pImage)	\
    (This)->lpVtbl -> put_BackgroundImage(This,pImage)

#define IDAViewerControl_get_Sound(This,ppSound)	\
    (This)->lpVtbl -> get_Sound(This,ppSound)

#define IDAViewerControl_put_Sound(This,pSound)	\
    (This)->lpVtbl -> put_Sound(This,pSound)

#define IDAViewerControl_get_PixelLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_PixelLibrary(This,ppStatics)

#define IDAViewerControl_get_MeterLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_MeterLibrary(This,ppStatics)

#define IDAViewerControl_AddBehaviorToRun(This,pBehavior)	\
    (This)->lpVtbl -> AddBehaviorToRun(This,pBehavior)

#define IDAViewerControl_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDAViewerControl_get_InputImage(This,pVal)	\
    (This)->lpVtbl -> get_InputImage(This,pVal)

#define IDAViewerControl_get_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> get_OpaqueForHitDetect(This,b)

#define IDAViewerControl_put_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> put_OpaqueForHitDetect(This,b)

#define IDAViewerControl_get_TimerSource(This,ts)	\
    (This)->lpVtbl -> get_TimerSource(This,ts)

#define IDAViewerControl_put_TimerSource(This,ts)	\
    (This)->lpVtbl -> put_TimerSource(This,ts)

#define IDAViewerControl_RegisterErrorHandler(This,scriptlet)	\
    (This)->lpVtbl -> RegisterErrorHandler(This,scriptlet)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_UpdateInterval_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ double *pVal);


void __RPC_STUB IDAViewerControl_get_UpdateInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_put_UpdateInterval_Proxy( 
    IDAViewerControl * This,
    /* [in] */ double newVal);


void __RPC_STUB IDAViewerControl_put_UpdateInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_View_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ IDAView **ppView);


void __RPC_STUB IDAViewerControl_get_View_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_put_View_Proxy( 
    IDAViewerControl * This,
    /* [in] */ IDAView *pView);


void __RPC_STUB IDAViewerControl_put_View_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_Image_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ IDAImage **ppImage);


void __RPC_STUB IDAViewerControl_get_Image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_put_Image_Proxy( 
    IDAViewerControl * This,
    /* [in] */ IDAImage *pImage);


void __RPC_STUB IDAViewerControl_put_Image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_BackgroundImage_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ IDAImage **ppImage);


void __RPC_STUB IDAViewerControl_get_BackgroundImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_put_BackgroundImage_Proxy( 
    IDAViewerControl * This,
    /* [in] */ IDAImage *pImage);


void __RPC_STUB IDAViewerControl_put_BackgroundImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_Sound_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ IDASound **ppSound);


void __RPC_STUB IDAViewerControl_get_Sound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_put_Sound_Proxy( 
    IDAViewerControl * This,
    /* [in] */ IDASound *pSound);


void __RPC_STUB IDAViewerControl_put_Sound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_PixelLibrary_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ IDAStatics **ppStatics);


void __RPC_STUB IDAViewerControl_get_PixelLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_MeterLibrary_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ IDAStatics **ppStatics);


void __RPC_STUB IDAViewerControl_get_MeterLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_AddBehaviorToRun_Proxy( 
    IDAViewerControl * This,
    /* [in] */ IDABehavior *pBehavior);


void __RPC_STUB IDAViewerControl_AddBehaviorToRun_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_Start_Proxy( 
    IDAViewerControl * This);


void __RPC_STUB IDAViewerControl_Start_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget][hidden] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_InputImage_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ IDAImage **pVal);


void __RPC_STUB IDAViewerControl_get_InputImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_OpaqueForHitDetect_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ VARIANT_BOOL *b);


void __RPC_STUB IDAViewerControl_get_OpaqueForHitDetect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_put_OpaqueForHitDetect_Proxy( 
    IDAViewerControl * This,
    /* [in] */ VARIANT_BOOL b);


void __RPC_STUB IDAViewerControl_put_OpaqueForHitDetect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_get_TimerSource_Proxy( 
    IDAViewerControl * This,
    /* [retval][out] */ DA_TIMER_SOURCE *ts);


void __RPC_STUB IDAViewerControl_get_TimerSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_put_TimerSource_Proxy( 
    IDAViewerControl * This,
    /* [in] */ DA_TIMER_SOURCE ts);


void __RPC_STUB IDAViewerControl_put_TimerSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDAViewerControl_RegisterErrorHandler_Proxy( 
    IDAViewerControl * This,
    /* [in] */ BSTR scriptlet);


void __RPC_STUB IDAViewerControl_RegisterErrorHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDAViewerControl_INTERFACE_DEFINED__ */


#ifndef __IDAViewerControlWindowed_INTERFACE_DEFINED__
#define __IDAViewerControlWindowed_INTERFACE_DEFINED__

/* interface IDAViewerControlWindowed */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IDAViewerControlWindowed;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BA8B033E-1E91-11d1-8809-00C04FC29D46")
    IDAViewerControlWindowed : public IDAViewerControl
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IDAViewerControlWindowedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDAViewerControlWindowed * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDAViewerControlWindowed * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDAViewerControlWindowed * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDAViewerControlWindowed * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDAViewerControlWindowed * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDAViewerControlWindowed * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDAViewerControlWindowed * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateInterval )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpdateInterval )( 
            IDAViewerControlWindowed * This,
            /* [in] */ double newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_View )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ IDAView **ppView);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_View )( 
            IDAViewerControlWindowed * This,
            /* [in] */ IDAView *pView);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Image )( 
            IDAViewerControlWindowed * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundImage )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundImage )( 
            IDAViewerControlWindowed * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sound )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ IDASound **ppSound);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Sound )( 
            IDAViewerControlWindowed * This,
            /* [in] */ IDASound *pSound);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLibrary )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MeterLibrary )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddBehaviorToRun )( 
            IDAViewerControlWindowed * This,
            /* [in] */ IDABehavior *pBehavior);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            IDAViewerControlWindowed * This);
        
        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_InputImage )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **pVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueForHitDetect )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OpaqueForHitDetect )( 
            IDAViewerControlWindowed * This,
            /* [in] */ VARIANT_BOOL b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimerSource )( 
            IDAViewerControlWindowed * This,
            /* [retval][out] */ DA_TIMER_SOURCE *ts);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimerSource )( 
            IDAViewerControlWindowed * This,
            /* [in] */ DA_TIMER_SOURCE ts);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterErrorHandler )( 
            IDAViewerControlWindowed * This,
            /* [in] */ BSTR scriptlet);
        
        END_INTERFACE
    } IDAViewerControlWindowedVtbl;

    interface IDAViewerControlWindowed
    {
        CONST_VTBL struct IDAViewerControlWindowedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDAViewerControlWindowed_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDAViewerControlWindowed_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDAViewerControlWindowed_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDAViewerControlWindowed_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDAViewerControlWindowed_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDAViewerControlWindowed_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDAViewerControlWindowed_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDAViewerControlWindowed_get_UpdateInterval(This,pVal)	\
    (This)->lpVtbl -> get_UpdateInterval(This,pVal)

#define IDAViewerControlWindowed_put_UpdateInterval(This,newVal)	\
    (This)->lpVtbl -> put_UpdateInterval(This,newVal)

#define IDAViewerControlWindowed_get_View(This,ppView)	\
    (This)->lpVtbl -> get_View(This,ppView)

#define IDAViewerControlWindowed_put_View(This,pView)	\
    (This)->lpVtbl -> put_View(This,pView)

#define IDAViewerControlWindowed_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDAViewerControlWindowed_put_Image(This,pImage)	\
    (This)->lpVtbl -> put_Image(This,pImage)

#define IDAViewerControlWindowed_get_BackgroundImage(This,ppImage)	\
    (This)->lpVtbl -> get_BackgroundImage(This,ppImage)

#define IDAViewerControlWindowed_put_BackgroundImage(This,pImage)	\
    (This)->lpVtbl -> put_BackgroundImage(This,pImage)

#define IDAViewerControlWindowed_get_Sound(This,ppSound)	\
    (This)->lpVtbl -> get_Sound(This,ppSound)

#define IDAViewerControlWindowed_put_Sound(This,pSound)	\
    (This)->lpVtbl -> put_Sound(This,pSound)

#define IDAViewerControlWindowed_get_PixelLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_PixelLibrary(This,ppStatics)

#define IDAViewerControlWindowed_get_MeterLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_MeterLibrary(This,ppStatics)

#define IDAViewerControlWindowed_AddBehaviorToRun(This,pBehavior)	\
    (This)->lpVtbl -> AddBehaviorToRun(This,pBehavior)

#define IDAViewerControlWindowed_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDAViewerControlWindowed_get_InputImage(This,pVal)	\
    (This)->lpVtbl -> get_InputImage(This,pVal)

#define IDAViewerControlWindowed_get_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> get_OpaqueForHitDetect(This,b)

#define IDAViewerControlWindowed_put_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> put_OpaqueForHitDetect(This,b)

#define IDAViewerControlWindowed_get_TimerSource(This,ts)	\
    (This)->lpVtbl -> get_TimerSource(This,ts)

#define IDAViewerControlWindowed_put_TimerSource(This,ts)	\
    (This)->lpVtbl -> put_TimerSource(This,ts)

#define IDAViewerControlWindowed_RegisterErrorHandler(This,scriptlet)	\
    (This)->lpVtbl -> RegisterErrorHandler(This,scriptlet)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDAViewerControlWindowed_INTERFACE_DEFINED__ */


#ifndef __IDA2ViewerControl_INTERFACE_DEFINED__
#define __IDA2ViewerControl_INTERFACE_DEFINED__

/* interface IDA2ViewerControl */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IDA2ViewerControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F3E1B522-D8A6-11d1-9BE5-00C04FC2F51D")
    IDA2ViewerControl : public IDAViewerControl
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetPreference( 
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPreference( 
            /* [in] */ BSTR pref,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2ViewerControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2ViewerControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2ViewerControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2ViewerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2ViewerControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2ViewerControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2ViewerControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2ViewerControl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateInterval )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpdateInterval )( 
            IDA2ViewerControl * This,
            /* [in] */ double newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_View )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ IDAView **ppView);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_View )( 
            IDA2ViewerControl * This,
            /* [in] */ IDAView *pView);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Image )( 
            IDA2ViewerControl * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundImage )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundImage )( 
            IDA2ViewerControl * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sound )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ IDASound **ppSound);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Sound )( 
            IDA2ViewerControl * This,
            /* [in] */ IDASound *pSound);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLibrary )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MeterLibrary )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddBehaviorToRun )( 
            IDA2ViewerControl * This,
            /* [in] */ IDABehavior *pBehavior);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            IDA2ViewerControl * This);
        
        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_InputImage )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ IDAImage **pVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueForHitDetect )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OpaqueForHitDetect )( 
            IDA2ViewerControl * This,
            /* [in] */ VARIANT_BOOL b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimerSource )( 
            IDA2ViewerControl * This,
            /* [retval][out] */ DA_TIMER_SOURCE *ts);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimerSource )( 
            IDA2ViewerControl * This,
            /* [in] */ DA_TIMER_SOURCE ts);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterErrorHandler )( 
            IDA2ViewerControl * This,
            /* [in] */ BSTR scriptlet);
        
        HRESULT ( STDMETHODCALLTYPE *SetPreference )( 
            IDA2ViewerControl * This,
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val);
        
        HRESULT ( STDMETHODCALLTYPE *GetPreference )( 
            IDA2ViewerControl * This,
            /* [in] */ BSTR pref,
            /* [retval][out] */ VARIANT *pVal);
        
        END_INTERFACE
    } IDA2ViewerControlVtbl;

    interface IDA2ViewerControl
    {
        CONST_VTBL struct IDA2ViewerControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2ViewerControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2ViewerControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2ViewerControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2ViewerControl_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2ViewerControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2ViewerControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2ViewerControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2ViewerControl_get_UpdateInterval(This,pVal)	\
    (This)->lpVtbl -> get_UpdateInterval(This,pVal)

#define IDA2ViewerControl_put_UpdateInterval(This,newVal)	\
    (This)->lpVtbl -> put_UpdateInterval(This,newVal)

#define IDA2ViewerControl_get_View(This,ppView)	\
    (This)->lpVtbl -> get_View(This,ppView)

#define IDA2ViewerControl_put_View(This,pView)	\
    (This)->lpVtbl -> put_View(This,pView)

#define IDA2ViewerControl_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDA2ViewerControl_put_Image(This,pImage)	\
    (This)->lpVtbl -> put_Image(This,pImage)

#define IDA2ViewerControl_get_BackgroundImage(This,ppImage)	\
    (This)->lpVtbl -> get_BackgroundImage(This,ppImage)

#define IDA2ViewerControl_put_BackgroundImage(This,pImage)	\
    (This)->lpVtbl -> put_BackgroundImage(This,pImage)

#define IDA2ViewerControl_get_Sound(This,ppSound)	\
    (This)->lpVtbl -> get_Sound(This,ppSound)

#define IDA2ViewerControl_put_Sound(This,pSound)	\
    (This)->lpVtbl -> put_Sound(This,pSound)

#define IDA2ViewerControl_get_PixelLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_PixelLibrary(This,ppStatics)

#define IDA2ViewerControl_get_MeterLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_MeterLibrary(This,ppStatics)

#define IDA2ViewerControl_AddBehaviorToRun(This,pBehavior)	\
    (This)->lpVtbl -> AddBehaviorToRun(This,pBehavior)

#define IDA2ViewerControl_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDA2ViewerControl_get_InputImage(This,pVal)	\
    (This)->lpVtbl -> get_InputImage(This,pVal)

#define IDA2ViewerControl_get_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> get_OpaqueForHitDetect(This,b)

#define IDA2ViewerControl_put_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> put_OpaqueForHitDetect(This,b)

#define IDA2ViewerControl_get_TimerSource(This,ts)	\
    (This)->lpVtbl -> get_TimerSource(This,ts)

#define IDA2ViewerControl_put_TimerSource(This,ts)	\
    (This)->lpVtbl -> put_TimerSource(This,ts)

#define IDA2ViewerControl_RegisterErrorHandler(This,scriptlet)	\
    (This)->lpVtbl -> RegisterErrorHandler(This,scriptlet)


#define IDA2ViewerControl_SetPreference(This,pref,val)	\
    (This)->lpVtbl -> SetPreference(This,pref,val)

#define IDA2ViewerControl_GetPreference(This,pref,pVal)	\
    (This)->lpVtbl -> GetPreference(This,pref,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2ViewerControl_SetPreference_Proxy( 
    IDA2ViewerControl * This,
    /* [in] */ BSTR pref,
    /* [in] */ VARIANT val);


void __RPC_STUB IDA2ViewerControl_SetPreference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2ViewerControl_GetPreference_Proxy( 
    IDA2ViewerControl * This,
    /* [in] */ BSTR pref,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IDA2ViewerControl_GetPreference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2ViewerControl_INTERFACE_DEFINED__ */


#ifndef __IDA2ViewerControlWindowed_INTERFACE_DEFINED__
#define __IDA2ViewerControlWindowed_INTERFACE_DEFINED__

/* interface IDA2ViewerControlWindowed */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IDA2ViewerControlWindowed;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A3034056-EC1C-11d1-9BE8-00C04FC2F51D")
    IDA2ViewerControlWindowed : public IDAViewerControlWindowed
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetPreference( 
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPreference( 
            /* [in] */ BSTR pref,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA2ViewerControlWindowedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA2ViewerControlWindowed * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA2ViewerControlWindowed * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA2ViewerControlWindowed * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateInterval )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpdateInterval )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ double newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_View )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ IDAView **ppView);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_View )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ IDAView *pView);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Image )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundImage )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundImage )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sound )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ IDASound **ppSound);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Sound )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ IDASound *pSound);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLibrary )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MeterLibrary )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddBehaviorToRun )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ IDABehavior *pBehavior);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            IDA2ViewerControlWindowed * This);
        
        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_InputImage )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **pVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueForHitDetect )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OpaqueForHitDetect )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ VARIANT_BOOL b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimerSource )( 
            IDA2ViewerControlWindowed * This,
            /* [retval][out] */ DA_TIMER_SOURCE *ts);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimerSource )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ DA_TIMER_SOURCE ts);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterErrorHandler )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ BSTR scriptlet);
        
        HRESULT ( STDMETHODCALLTYPE *SetPreference )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val);
        
        HRESULT ( STDMETHODCALLTYPE *GetPreference )( 
            IDA2ViewerControlWindowed * This,
            /* [in] */ BSTR pref,
            /* [retval][out] */ VARIANT *pVal);
        
        END_INTERFACE
    } IDA2ViewerControlWindowedVtbl;

    interface IDA2ViewerControlWindowed
    {
        CONST_VTBL struct IDA2ViewerControlWindowedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA2ViewerControlWindowed_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA2ViewerControlWindowed_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA2ViewerControlWindowed_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA2ViewerControlWindowed_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA2ViewerControlWindowed_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA2ViewerControlWindowed_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA2ViewerControlWindowed_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA2ViewerControlWindowed_get_UpdateInterval(This,pVal)	\
    (This)->lpVtbl -> get_UpdateInterval(This,pVal)

#define IDA2ViewerControlWindowed_put_UpdateInterval(This,newVal)	\
    (This)->lpVtbl -> put_UpdateInterval(This,newVal)

#define IDA2ViewerControlWindowed_get_View(This,ppView)	\
    (This)->lpVtbl -> get_View(This,ppView)

#define IDA2ViewerControlWindowed_put_View(This,pView)	\
    (This)->lpVtbl -> put_View(This,pView)

#define IDA2ViewerControlWindowed_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDA2ViewerControlWindowed_put_Image(This,pImage)	\
    (This)->lpVtbl -> put_Image(This,pImage)

#define IDA2ViewerControlWindowed_get_BackgroundImage(This,ppImage)	\
    (This)->lpVtbl -> get_BackgroundImage(This,ppImage)

#define IDA2ViewerControlWindowed_put_BackgroundImage(This,pImage)	\
    (This)->lpVtbl -> put_BackgroundImage(This,pImage)

#define IDA2ViewerControlWindowed_get_Sound(This,ppSound)	\
    (This)->lpVtbl -> get_Sound(This,ppSound)

#define IDA2ViewerControlWindowed_put_Sound(This,pSound)	\
    (This)->lpVtbl -> put_Sound(This,pSound)

#define IDA2ViewerControlWindowed_get_PixelLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_PixelLibrary(This,ppStatics)

#define IDA2ViewerControlWindowed_get_MeterLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_MeterLibrary(This,ppStatics)

#define IDA2ViewerControlWindowed_AddBehaviorToRun(This,pBehavior)	\
    (This)->lpVtbl -> AddBehaviorToRun(This,pBehavior)

#define IDA2ViewerControlWindowed_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDA2ViewerControlWindowed_get_InputImage(This,pVal)	\
    (This)->lpVtbl -> get_InputImage(This,pVal)

#define IDA2ViewerControlWindowed_get_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> get_OpaqueForHitDetect(This,b)

#define IDA2ViewerControlWindowed_put_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> put_OpaqueForHitDetect(This,b)

#define IDA2ViewerControlWindowed_get_TimerSource(This,ts)	\
    (This)->lpVtbl -> get_TimerSource(This,ts)

#define IDA2ViewerControlWindowed_put_TimerSource(This,ts)	\
    (This)->lpVtbl -> put_TimerSource(This,ts)

#define IDA2ViewerControlWindowed_RegisterErrorHandler(This,scriptlet)	\
    (This)->lpVtbl -> RegisterErrorHandler(This,scriptlet)



#define IDA2ViewerControlWindowed_SetPreference(This,pref,val)	\
    (This)->lpVtbl -> SetPreference(This,pref,val)

#define IDA2ViewerControlWindowed_GetPreference(This,pref,pVal)	\
    (This)->lpVtbl -> GetPreference(This,pref,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA2ViewerControlWindowed_SetPreference_Proxy( 
    IDA2ViewerControlWindowed * This,
    /* [in] */ BSTR pref,
    /* [in] */ VARIANT val);


void __RPC_STUB IDA2ViewerControlWindowed_SetPreference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA2ViewerControlWindowed_GetPreference_Proxy( 
    IDA2ViewerControlWindowed * This,
    /* [in] */ BSTR pref,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IDA2ViewerControlWindowed_GetPreference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA2ViewerControlWindowed_INTERFACE_DEFINED__ */


#ifndef __IDA3ViewerControl_INTERFACE_DEFINED__
#define __IDA3ViewerControl_INTERFACE_DEFINED__

/* interface IDA3ViewerControl */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IDA3ViewerControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("09509866-79AA-11d2-8BF5-00C04FC2F51D")
    IDA3ViewerControl : public IDA2ViewerControl
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Tick( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA3ViewerControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA3ViewerControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA3ViewerControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA3ViewerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA3ViewerControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA3ViewerControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA3ViewerControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA3ViewerControl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateInterval )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpdateInterval )( 
            IDA3ViewerControl * This,
            /* [in] */ double newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_View )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ IDAView **ppView);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_View )( 
            IDA3ViewerControl * This,
            /* [in] */ IDAView *pView);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Image )( 
            IDA3ViewerControl * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundImage )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundImage )( 
            IDA3ViewerControl * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sound )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ IDASound **ppSound);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Sound )( 
            IDA3ViewerControl * This,
            /* [in] */ IDASound *pSound);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLibrary )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MeterLibrary )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddBehaviorToRun )( 
            IDA3ViewerControl * This,
            /* [in] */ IDABehavior *pBehavior);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            IDA3ViewerControl * This);
        
        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_InputImage )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ IDAImage **pVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueForHitDetect )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OpaqueForHitDetect )( 
            IDA3ViewerControl * This,
            /* [in] */ VARIANT_BOOL b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimerSource )( 
            IDA3ViewerControl * This,
            /* [retval][out] */ DA_TIMER_SOURCE *ts);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimerSource )( 
            IDA3ViewerControl * This,
            /* [in] */ DA_TIMER_SOURCE ts);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterErrorHandler )( 
            IDA3ViewerControl * This,
            /* [in] */ BSTR scriptlet);
        
        HRESULT ( STDMETHODCALLTYPE *SetPreference )( 
            IDA3ViewerControl * This,
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val);
        
        HRESULT ( STDMETHODCALLTYPE *GetPreference )( 
            IDA3ViewerControl * This,
            /* [in] */ BSTR pref,
            /* [retval][out] */ VARIANT *pVal);
        
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IDA3ViewerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *Pause )( 
            IDA3ViewerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            IDA3ViewerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *Tick )( 
            IDA3ViewerControl * This);
        
        END_INTERFACE
    } IDA3ViewerControlVtbl;

    interface IDA3ViewerControl
    {
        CONST_VTBL struct IDA3ViewerControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA3ViewerControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA3ViewerControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA3ViewerControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA3ViewerControl_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA3ViewerControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA3ViewerControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA3ViewerControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA3ViewerControl_get_UpdateInterval(This,pVal)	\
    (This)->lpVtbl -> get_UpdateInterval(This,pVal)

#define IDA3ViewerControl_put_UpdateInterval(This,newVal)	\
    (This)->lpVtbl -> put_UpdateInterval(This,newVal)

#define IDA3ViewerControl_get_View(This,ppView)	\
    (This)->lpVtbl -> get_View(This,ppView)

#define IDA3ViewerControl_put_View(This,pView)	\
    (This)->lpVtbl -> put_View(This,pView)

#define IDA3ViewerControl_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDA3ViewerControl_put_Image(This,pImage)	\
    (This)->lpVtbl -> put_Image(This,pImage)

#define IDA3ViewerControl_get_BackgroundImage(This,ppImage)	\
    (This)->lpVtbl -> get_BackgroundImage(This,ppImage)

#define IDA3ViewerControl_put_BackgroundImage(This,pImage)	\
    (This)->lpVtbl -> put_BackgroundImage(This,pImage)

#define IDA3ViewerControl_get_Sound(This,ppSound)	\
    (This)->lpVtbl -> get_Sound(This,ppSound)

#define IDA3ViewerControl_put_Sound(This,pSound)	\
    (This)->lpVtbl -> put_Sound(This,pSound)

#define IDA3ViewerControl_get_PixelLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_PixelLibrary(This,ppStatics)

#define IDA3ViewerControl_get_MeterLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_MeterLibrary(This,ppStatics)

#define IDA3ViewerControl_AddBehaviorToRun(This,pBehavior)	\
    (This)->lpVtbl -> AddBehaviorToRun(This,pBehavior)

#define IDA3ViewerControl_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDA3ViewerControl_get_InputImage(This,pVal)	\
    (This)->lpVtbl -> get_InputImage(This,pVal)

#define IDA3ViewerControl_get_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> get_OpaqueForHitDetect(This,b)

#define IDA3ViewerControl_put_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> put_OpaqueForHitDetect(This,b)

#define IDA3ViewerControl_get_TimerSource(This,ts)	\
    (This)->lpVtbl -> get_TimerSource(This,ts)

#define IDA3ViewerControl_put_TimerSource(This,ts)	\
    (This)->lpVtbl -> put_TimerSource(This,ts)

#define IDA3ViewerControl_RegisterErrorHandler(This,scriptlet)	\
    (This)->lpVtbl -> RegisterErrorHandler(This,scriptlet)


#define IDA3ViewerControl_SetPreference(This,pref,val)	\
    (This)->lpVtbl -> SetPreference(This,pref,val)

#define IDA3ViewerControl_GetPreference(This,pref,pVal)	\
    (This)->lpVtbl -> GetPreference(This,pref,pVal)


#define IDA3ViewerControl_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDA3ViewerControl_Pause(This)	\
    (This)->lpVtbl -> Pause(This)

#define IDA3ViewerControl_Resume(This)	\
    (This)->lpVtbl -> Resume(This)

#define IDA3ViewerControl_Tick(This)	\
    (This)->lpVtbl -> Tick(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA3ViewerControl_Stop_Proxy( 
    IDA3ViewerControl * This);


void __RPC_STUB IDA3ViewerControl_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3ViewerControl_Pause_Proxy( 
    IDA3ViewerControl * This);


void __RPC_STUB IDA3ViewerControl_Pause_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3ViewerControl_Resume_Proxy( 
    IDA3ViewerControl * This);


void __RPC_STUB IDA3ViewerControl_Resume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3ViewerControl_Tick_Proxy( 
    IDA3ViewerControl * This);


void __RPC_STUB IDA3ViewerControl_Tick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA3ViewerControl_INTERFACE_DEFINED__ */


#ifndef __IDA3ViewerControlWindowed_INTERFACE_DEFINED__
#define __IDA3ViewerControlWindowed_INTERFACE_DEFINED__

/* interface IDA3ViewerControlWindowed */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IDA3ViewerControlWindowed;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("09509867-79AA-11d2-8BF5-00C04FC2F51D")
    IDA3ViewerControlWindowed : public IDA2ViewerControlWindowed
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Tick( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDA3ViewerControlWindowedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDA3ViewerControlWindowed * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDA3ViewerControlWindowed * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IDA3ViewerControlWindowed * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpdateInterval )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpdateInterval )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ double newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_View )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ IDAView **ppView);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_View )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ IDAView *pView);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Image )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Image )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundImage )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **ppImage);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundImage )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ IDAImage *pImage);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sound )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ IDASound **ppSound);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Sound )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ IDASound *pSound);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLibrary )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MeterLibrary )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ IDAStatics **ppStatics);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddBehaviorToRun )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ IDABehavior *pBehavior);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Start )( 
            IDA3ViewerControlWindowed * This);
        
        /* [helpstring][propget][hidden] */ HRESULT ( STDMETHODCALLTYPE *get_InputImage )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ IDAImage **pVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpaqueForHitDetect )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ VARIANT_BOOL *b);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_OpaqueForHitDetect )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ VARIANT_BOOL b);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimerSource )( 
            IDA3ViewerControlWindowed * This,
            /* [retval][out] */ DA_TIMER_SOURCE *ts);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimerSource )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ DA_TIMER_SOURCE ts);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterErrorHandler )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ BSTR scriptlet);
        
        HRESULT ( STDMETHODCALLTYPE *SetPreference )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ BSTR pref,
            /* [in] */ VARIANT val);
        
        HRESULT ( STDMETHODCALLTYPE *GetPreference )( 
            IDA3ViewerControlWindowed * This,
            /* [in] */ BSTR pref,
            /* [retval][out] */ VARIANT *pVal);
        
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IDA3ViewerControlWindowed * This);
        
        HRESULT ( STDMETHODCALLTYPE *Pause )( 
            IDA3ViewerControlWindowed * This);
        
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            IDA3ViewerControlWindowed * This);
        
        HRESULT ( STDMETHODCALLTYPE *Tick )( 
            IDA3ViewerControlWindowed * This);
        
        END_INTERFACE
    } IDA3ViewerControlWindowedVtbl;

    interface IDA3ViewerControlWindowed
    {
        CONST_VTBL struct IDA3ViewerControlWindowedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDA3ViewerControlWindowed_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDA3ViewerControlWindowed_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDA3ViewerControlWindowed_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDA3ViewerControlWindowed_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IDA3ViewerControlWindowed_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IDA3ViewerControlWindowed_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IDA3ViewerControlWindowed_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IDA3ViewerControlWindowed_get_UpdateInterval(This,pVal)	\
    (This)->lpVtbl -> get_UpdateInterval(This,pVal)

#define IDA3ViewerControlWindowed_put_UpdateInterval(This,newVal)	\
    (This)->lpVtbl -> put_UpdateInterval(This,newVal)

#define IDA3ViewerControlWindowed_get_View(This,ppView)	\
    (This)->lpVtbl -> get_View(This,ppView)

#define IDA3ViewerControlWindowed_put_View(This,pView)	\
    (This)->lpVtbl -> put_View(This,pView)

#define IDA3ViewerControlWindowed_get_Image(This,ppImage)	\
    (This)->lpVtbl -> get_Image(This,ppImage)

#define IDA3ViewerControlWindowed_put_Image(This,pImage)	\
    (This)->lpVtbl -> put_Image(This,pImage)

#define IDA3ViewerControlWindowed_get_BackgroundImage(This,ppImage)	\
    (This)->lpVtbl -> get_BackgroundImage(This,ppImage)

#define IDA3ViewerControlWindowed_put_BackgroundImage(This,pImage)	\
    (This)->lpVtbl -> put_BackgroundImage(This,pImage)

#define IDA3ViewerControlWindowed_get_Sound(This,ppSound)	\
    (This)->lpVtbl -> get_Sound(This,ppSound)

#define IDA3ViewerControlWindowed_put_Sound(This,pSound)	\
    (This)->lpVtbl -> put_Sound(This,pSound)

#define IDA3ViewerControlWindowed_get_PixelLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_PixelLibrary(This,ppStatics)

#define IDA3ViewerControlWindowed_get_MeterLibrary(This,ppStatics)	\
    (This)->lpVtbl -> get_MeterLibrary(This,ppStatics)

#define IDA3ViewerControlWindowed_AddBehaviorToRun(This,pBehavior)	\
    (This)->lpVtbl -> AddBehaviorToRun(This,pBehavior)

#define IDA3ViewerControlWindowed_Start(This)	\
    (This)->lpVtbl -> Start(This)

#define IDA3ViewerControlWindowed_get_InputImage(This,pVal)	\
    (This)->lpVtbl -> get_InputImage(This,pVal)

#define IDA3ViewerControlWindowed_get_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> get_OpaqueForHitDetect(This,b)

#define IDA3ViewerControlWindowed_put_OpaqueForHitDetect(This,b)	\
    (This)->lpVtbl -> put_OpaqueForHitDetect(This,b)

#define IDA3ViewerControlWindowed_get_TimerSource(This,ts)	\
    (This)->lpVtbl -> get_TimerSource(This,ts)

#define IDA3ViewerControlWindowed_put_TimerSource(This,ts)	\
    (This)->lpVtbl -> put_TimerSource(This,ts)

#define IDA3ViewerControlWindowed_RegisterErrorHandler(This,scriptlet)	\
    (This)->lpVtbl -> RegisterErrorHandler(This,scriptlet)



#define IDA3ViewerControlWindowed_SetPreference(This,pref,val)	\
    (This)->lpVtbl -> SetPreference(This,pref,val)

#define IDA3ViewerControlWindowed_GetPreference(This,pref,pVal)	\
    (This)->lpVtbl -> GetPreference(This,pref,pVal)


#define IDA3ViewerControlWindowed_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IDA3ViewerControlWindowed_Pause(This)	\
    (This)->lpVtbl -> Pause(This)

#define IDA3ViewerControlWindowed_Resume(This)	\
    (This)->lpVtbl -> Resume(This)

#define IDA3ViewerControlWindowed_Tick(This)	\
    (This)->lpVtbl -> Tick(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IDA3ViewerControlWindowed_Stop_Proxy( 
    IDA3ViewerControlWindowed * This);


void __RPC_STUB IDA3ViewerControlWindowed_Stop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3ViewerControlWindowed_Pause_Proxy( 
    IDA3ViewerControlWindowed * This);


void __RPC_STUB IDA3ViewerControlWindowed_Pause_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3ViewerControlWindowed_Resume_Proxy( 
    IDA3ViewerControlWindowed * This);


void __RPC_STUB IDA3ViewerControlWindowed_Resume_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IDA3ViewerControlWindowed_Tick_Proxy( 
    IDA3ViewerControlWindowed * This);


void __RPC_STUB IDA3ViewerControlWindowed_Tick_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDA3ViewerControlWindowed_INTERFACE_DEFINED__ */


#ifndef ___IDAViewerControlEvents_DISPINTERFACE_DEFINED__
#define ___IDAViewerControlEvents_DISPINTERFACE_DEFINED__

/* dispinterface _IDAViewerControlEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__IDAViewerControlEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("3584F274-61EA-11d2-8BD9-00C04FC2F51D")
    _IDAViewerControlEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IDAViewerControlEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _IDAViewerControlEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _IDAViewerControlEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _IDAViewerControlEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _IDAViewerControlEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _IDAViewerControlEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _IDAViewerControlEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _IDAViewerControlEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _IDAViewerControlEventsVtbl;

    interface _IDAViewerControlEvents
    {
        CONST_VTBL struct _IDAViewerControlEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _IDAViewerControlEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _IDAViewerControlEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _IDAViewerControlEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _IDAViewerControlEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _IDAViewerControlEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _IDAViewerControlEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _IDAViewerControlEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___IDAViewerControlEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_DAViewerControl;

#ifdef __cplusplus

class DECLSPEC_UUID("B6FFC24C-7E13-11D0-9B47-00C04FC2F51D")
DAViewerControl;
#endif

EXTERN_C const CLSID CLSID_DAViewerControlWindowed;

#ifdef __cplusplus

class DECLSPEC_UUID("69AD90EF-1C20-11d1-8801-00C04FC29D46")
DAViewerControlWindowed;
#endif

EXTERN_C const CLSID CLSID_DABoolean;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BC1-3C52-11d0-9200-848C1D000000")
DABoolean;
#endif

EXTERN_C const CLSID CLSID_DACamera;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BE2-3C52-11d0-9200-848C1D000000")
DACamera;
#endif

EXTERN_C const CLSID CLSID_DAColor;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BC6-3C52-11d0-9200-848C1D000000")
DAColor;
#endif

EXTERN_C const CLSID CLSID_DAGeometry;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BE0-3C52-11d0-9200-848C1D000000")
DAGeometry;
#endif

EXTERN_C const CLSID CLSID_DAImage;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BD4-3C52-11d0-9200-848C1D000000")
DAImage;
#endif

EXTERN_C const CLSID CLSID_DAMatte;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BD2-3C52-11d0-9200-848C1D000000")
DAMatte;
#endif

EXTERN_C const CLSID CLSID_DAMicrophone;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BE6-3C52-11d0-9200-848C1D000000")
DAMicrophone;
#endif

EXTERN_C const CLSID CLSID_DAMontage;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BD6-3C52-11d0-9200-848C1D000000")
DAMontage;
#endif

EXTERN_C const CLSID CLSID_DANumber;

#ifdef __cplusplus

class DECLSPEC_UUID("9CDE7341-3C20-11d0-A330-00AA00B92C03")
DANumber;
#endif

EXTERN_C const CLSID CLSID_DAPath2;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BD0-3C52-11d0-9200-848C1D000000")
DAPath2;
#endif

EXTERN_C const CLSID CLSID_DAPoint2;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BC8-3C52-11d0-9200-848C1D000000")
DAPoint2;
#endif

EXTERN_C const CLSID CLSID_DAPoint3;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BD8-3C52-11d0-9200-848C1D000000")
DAPoint3;
#endif

EXTERN_C const CLSID CLSID_DASound;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BE4-3C52-11d0-9200-848C1D000000")
DASound;
#endif

EXTERN_C const CLSID CLSID_DAString;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BC4-3C52-11d0-9200-848C1D000000")
DAString;
#endif

EXTERN_C const CLSID CLSID_DATransform2;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BCC-3C52-11d0-9200-848C1D000000")
DATransform2;
#endif

EXTERN_C const CLSID CLSID_DATransform3;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BDC-3C52-11d0-9200-848C1D000000")
DATransform3;
#endif

EXTERN_C const CLSID CLSID_DAVector2;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BCA-3C52-11d0-9200-848C1D000000")
DAVector2;
#endif

EXTERN_C const CLSID CLSID_DAVector3;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BDA-3C52-11d0-9200-848C1D000000")
DAVector3;
#endif

EXTERN_C const CLSID CLSID_DAFontStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("25B0F91C-D23D-11d0-9B85-00C04FC2F51D")
DAFontStyle;
#endif

EXTERN_C const CLSID CLSID_DALineStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BF2-3C52-11d0-9200-848C1D000000")
DALineStyle;
#endif

EXTERN_C const CLSID CLSID_DAEndStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BEC-3C52-11d0-9200-848C1D000000")
DAEndStyle;
#endif

EXTERN_C const CLSID CLSID_DAJoinStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BEE-3C52-11d0-9200-848C1D000000")
DAJoinStyle;
#endif

EXTERN_C const CLSID CLSID_DADashStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BF0-3C52-11d0-9200-848C1D000000")
DADashStyle;
#endif

EXTERN_C const CLSID CLSID_DABbox2;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BCE-3C52-11d0-9200-848C1D000000")
DABbox2;
#endif

EXTERN_C const CLSID CLSID_DABbox3;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BDE-3C52-11d0-9200-848C1D000000")
DABbox3;
#endif

EXTERN_C const CLSID CLSID_DAPair;

#ifdef __cplusplus

class DECLSPEC_UUID("C46C1BF4-3C52-11d0-9200-848C1D000000")
DAPair;
#endif

EXTERN_C const CLSID CLSID_DAEvent;

#ifdef __cplusplus

class DECLSPEC_UUID("50B4791F-4731-11d0-8912-00C04FC2A0CA")
DAEvent;
#endif

EXTERN_C const CLSID CLSID_DAArray;

#ifdef __cplusplus

class DECLSPEC_UUID("D17506C3-6B26-11d0-8914-00C04FC2A0CA")
DAArray;
#endif

EXTERN_C const CLSID CLSID_DATuple;

#ifdef __cplusplus

class DECLSPEC_UUID("5DFB2651-9668-11d0-B17B-00C04FC2A0CA")
DATuple;
#endif

EXTERN_C const CLSID CLSID_DAUserData;

#ifdef __cplusplus

class DECLSPEC_UUID("AF868304-AB0B-11d0-876A-00C04FC29D46")
DAUserData;
#endif

EXTERN_C const CLSID CLSID_DAImportationResult;

#ifdef __cplusplus

class DECLSPEC_UUID("BCBB1F75-E384-11d0-9B99-00C04FC2F51D")
DAImportationResult;
#endif

EXTERN_C const CLSID CLSID_DAPickableResult;

#ifdef __cplusplus

class DECLSPEC_UUID("BCBB1F74-E384-11d0-9B99-00C04FC2F51D")
DAPickableResult;
#endif
#endif /* __DirectAnimation_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


