

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


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed May 20 19:11:48 2009
 */
/* Compiler settings for ..\..\builds\Release_Win32\_Anim.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    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(  )

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


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

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

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef ___Anim_h__
#define ___Anim_h__

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

/* Forward Declarations */ 

#ifndef __IRsRefreshTarget_FWD_DEFINED__
#define __IRsRefreshTarget_FWD_DEFINED__
typedef interface IRsRefreshTarget IRsRefreshTarget;
#endif 	/* __IRsRefreshTarget_FWD_DEFINED__ */


#ifndef __IRdAnimPref_FWD_DEFINED__
#define __IRdAnimPref_FWD_DEFINED__
typedef interface IRdAnimPref IRdAnimPref;
#endif 	/* __IRdAnimPref_FWD_DEFINED__ */


#ifndef __IRsAnimRenderNode_FWD_DEFINED__
#define __IRsAnimRenderNode_FWD_DEFINED__
typedef interface IRsAnimRenderNode IRsAnimRenderNode;
#endif 	/* __IRsAnimRenderNode_FWD_DEFINED__ */


#ifndef __IRsAnimTool_FWD_DEFINED__
#define __IRsAnimTool_FWD_DEFINED__
typedef interface IRsAnimTool IRsAnimTool;
#endif 	/* __IRsAnimTool_FWD_DEFINED__ */


#ifndef __IRsGDIGraphics_FWD_DEFINED__
#define __IRsGDIGraphics_FWD_DEFINED__
typedef interface IRsGDIGraphics IRsGDIGraphics;
#endif 	/* __IRsGDIGraphics_FWD_DEFINED__ */


#ifndef __IRsAnimRenderData_FWD_DEFINED__
#define __IRsAnimRenderData_FWD_DEFINED__
typedef interface IRsAnimRenderData IRsAnimRenderData;
#endif 	/* __IRsAnimRenderData_FWD_DEFINED__ */


#ifndef __IRsAnimRenderGraph_FWD_DEFINED__
#define __IRsAnimRenderGraph_FWD_DEFINED__
typedef interface IRsAnimRenderGraph IRsAnimRenderGraph;
#endif 	/* __IRsAnimRenderGraph_FWD_DEFINED__ */


#ifndef __IRsDsTimeLine_FWD_DEFINED__
#define __IRsDsTimeLine_FWD_DEFINED__
typedef interface IRsDsTimeLine IRsDsTimeLine;
#endif 	/* __IRsDsTimeLine_FWD_DEFINED__ */


#ifndef __IRsDsTime_FWD_DEFINED__
#define __IRsDsTime_FWD_DEFINED__
typedef interface IRsDsTime IRsDsTime;
#endif 	/* __IRsDsTime_FWD_DEFINED__ */


#ifndef __IRsGraphRoot_FWD_DEFINED__
#define __IRsGraphRoot_FWD_DEFINED__
typedef interface IRsGraphRoot IRsGraphRoot;
#endif 	/* __IRsGraphRoot_FWD_DEFINED__ */


#ifndef __IRsDsRoot_FWD_DEFINED__
#define __IRsDsRoot_FWD_DEFINED__
typedef interface IRsDsRoot IRsDsRoot;
#endif 	/* __IRsDsRoot_FWD_DEFINED__ */


#ifndef __IRsAnimGenView_FWD_DEFINED__
#define __IRsAnimGenView_FWD_DEFINED__
typedef interface IRsAnimGenView IRsAnimGenView;
#endif 	/* __IRsAnimGenView_FWD_DEFINED__ */


#ifndef __IRsGenGdiRender_FWD_DEFINED__
#define __IRsGenGdiRender_FWD_DEFINED__
typedef interface IRsGenGdiRender IRsGenGdiRender;
#endif 	/* __IRsGenGdiRender_FWD_DEFINED__ */


#ifndef __IRsDsGdiRender_FWD_DEFINED__
#define __IRsDsGdiRender_FWD_DEFINED__
typedef interface IRsDsGdiRender IRsDsGdiRender;
#endif 	/* __IRsDsGdiRender_FWD_DEFINED__ */


#ifndef __IRsKeyGdiRender_FWD_DEFINED__
#define __IRsKeyGdiRender_FWD_DEFINED__
typedef interface IRsKeyGdiRender IRsKeyGdiRender;
#endif 	/* __IRsKeyGdiRender_FWD_DEFINED__ */


#ifndef __IRsFcGdiRender_FWD_DEFINED__
#define __IRsFcGdiRender_FWD_DEFINED__
typedef interface IRsFcGdiRender IRsFcGdiRender;
#endif 	/* __IRsFcGdiRender_FWD_DEFINED__ */


#ifndef __IRsStGdiRender_FWD_DEFINED__
#define __IRsStGdiRender_FWD_DEFINED__
typedef interface IRsStGdiRender IRsStGdiRender;
#endif 	/* __IRsStGdiRender_FWD_DEFINED__ */


#ifndef __IRsAnimDataStream_FWD_DEFINED__
#define __IRsAnimDataStream_FWD_DEFINED__
typedef interface IRsAnimDataStream IRsAnimDataStream;
#endif 	/* __IRsAnimDataStream_FWD_DEFINED__ */


#ifndef __IRsEnumAnimDataStream_FWD_DEFINED__
#define __IRsEnumAnimDataStream_FWD_DEFINED__
typedef interface IRsEnumAnimDataStream IRsEnumAnimDataStream;
#endif 	/* __IRsEnumAnimDataStream_FWD_DEFINED__ */


#ifndef __IRsAnimDataBlock_FWD_DEFINED__
#define __IRsAnimDataBlock_FWD_DEFINED__
typedef interface IRsAnimDataBlock IRsAnimDataBlock;
#endif 	/* __IRsAnimDataBlock_FWD_DEFINED__ */


#ifndef __IRsDataInterpolator_FWD_DEFINED__
#define __IRsDataInterpolator_FWD_DEFINED__
typedef interface IRsDataInterpolator IRsDataInterpolator;
#endif 	/* __IRsDataInterpolator_FWD_DEFINED__ */


#ifndef __IRsAnimAttrRecord_FWD_DEFINED__
#define __IRsAnimAttrRecord_FWD_DEFINED__
typedef interface IRsAnimAttrRecord IRsAnimAttrRecord;
#endif 	/* __IRsAnimAttrRecord_FWD_DEFINED__ */


#ifndef __IRsEnumAttrRec_FWD_DEFINED__
#define __IRsEnumAttrRec_FWD_DEFINED__
typedef interface IRsEnumAttrRec IRsEnumAttrRec;
#endif 	/* __IRsEnumAttrRec_FWD_DEFINED__ */


#ifndef __IRsTrackItem_FWD_DEFINED__
#define __IRsTrackItem_FWD_DEFINED__
typedef interface IRsTrackItem IRsTrackItem;
#endif 	/* __IRsTrackItem_FWD_DEFINED__ */


#ifndef __IRsEnumTracks_FWD_DEFINED__
#define __IRsEnumTracks_FWD_DEFINED__
typedef interface IRsEnumTracks IRsEnumTracks;
#endif 	/* __IRsEnumTracks_FWD_DEFINED__ */


#ifndef __IRdAnimData_FWD_DEFINED__
#define __IRdAnimData_FWD_DEFINED__
typedef interface IRdAnimData IRdAnimData;
#endif 	/* __IRdAnimData_FWD_DEFINED__ */


#ifndef __IRdAnimTrack_FWD_DEFINED__
#define __IRdAnimTrack_FWD_DEFINED__
typedef interface IRdAnimTrack IRdAnimTrack;
#endif 	/* __IRdAnimTrack_FWD_DEFINED__ */


#ifndef __IRdAnimSel_FWD_DEFINED__
#define __IRdAnimSel_FWD_DEFINED__
typedef interface IRdAnimSel IRdAnimSel;
#endif 	/* __IRdAnimSel_FWD_DEFINED__ */


#ifndef __IRdAnimClipSel_FWD_DEFINED__
#define __IRdAnimClipSel_FWD_DEFINED__
typedef interface IRdAnimClipSel IRdAnimClipSel;
#endif 	/* __IRdAnimClipSel_FWD_DEFINED__ */


#ifndef __IRnAnimClip_FWD_DEFINED__
#define __IRnAnimClip_FWD_DEFINED__
typedef interface IRnAnimClip IRnAnimClip;
#endif 	/* __IRnAnimClip_FWD_DEFINED__ */


#ifndef __IRsAnimSimTarget_FWD_DEFINED__
#define __IRsAnimSimTarget_FWD_DEFINED__
typedef interface IRsAnimSimTarget IRsAnimSimTarget;
#endif 	/* __IRsAnimSimTarget_FWD_DEFINED__ */


#ifndef __IRcAnimSimStep_FWD_DEFINED__
#define __IRcAnimSimStep_FWD_DEFINED__
typedef interface IRcAnimSimStep IRcAnimSimStep;
#endif 	/* __IRcAnimSimStep_FWD_DEFINED__ */


#ifndef __IRfAnimAttrFn_FWD_DEFINED__
#define __IRfAnimAttrFn_FWD_DEFINED__
typedef interface IRfAnimAttrFn IRfAnimAttrFn;
#endif 	/* __IRfAnimAttrFn_FWD_DEFINED__ */


#ifndef __IRsAnimSimEngine_FWD_DEFINED__
#define __IRsAnimSimEngine_FWD_DEFINED__
typedef interface IRsAnimSimEngine IRsAnimSimEngine;
#endif 	/* __IRsAnimSimEngine_FWD_DEFINED__ */


#ifndef __IRsEnumAnimSimEngine_FWD_DEFINED__
#define __IRsEnumAnimSimEngine_FWD_DEFINED__
typedef interface IRsEnumAnimSimEngine IRsEnumAnimSimEngine;
#endif 	/* __IRsEnumAnimSimEngine_FWD_DEFINED__ */


#ifndef __IRsAnimSimulationMng_FWD_DEFINED__
#define __IRsAnimSimulationMng_FWD_DEFINED__
typedef interface IRsAnimSimulationMng IRsAnimSimulationMng;
#endif 	/* __IRsAnimSimulationMng_FWD_DEFINED__ */


#ifndef __IRnAnimMng_FWD_DEFINED__
#define __IRnAnimMng_FWD_DEFINED__
typedef interface IRnAnimMng IRnAnimMng;
#endif 	/* __IRnAnimMng_FWD_DEFINED__ */


#ifndef __IRfTrackFn_FWD_DEFINED__
#define __IRfTrackFn_FWD_DEFINED__
typedef interface IRfTrackFn IRfTrackFn;
#endif 	/* __IRfTrackFn_FWD_DEFINED__ */


#ifndef __IRsStTreeItem_FWD_DEFINED__
#define __IRsStTreeItem_FWD_DEFINED__
typedef interface IRsStTreeItem IRsStTreeItem;
#endif 	/* __IRsStTreeItem_FWD_DEFINED__ */


#ifndef __IRsStTreeItemNotify_FWD_DEFINED__
#define __IRsStTreeItemNotify_FWD_DEFINED__
typedef interface IRsStTreeItemNotify IRsStTreeItemNotify;
#endif 	/* __IRsStTreeItemNotify_FWD_DEFINED__ */


#ifndef __IRsStTrack_FWD_DEFINED__
#define __IRsStTrack_FWD_DEFINED__
typedef interface IRsStTrack IRsStTrack;
#endif 	/* __IRsStTrack_FWD_DEFINED__ */


#ifndef __IRfAnimRender_FWD_DEFINED__
#define __IRfAnimRender_FWD_DEFINED__
typedef interface IRfAnimRender IRfAnimRender;
#endif 	/* __IRfAnimRender_FWD_DEFINED__ */


#ifndef __IRsFcEditValue_FWD_DEFINED__
#define __IRsFcEditValue_FWD_DEFINED__
typedef interface IRsFcEditValue IRsFcEditValue;
#endif 	/* __IRsFcEditValue_FWD_DEFINED__ */


#ifndef __IRfFcAnimRender_FWD_DEFINED__
#define __IRfFcAnimRender_FWD_DEFINED__
typedef interface IRfFcAnimRender IRfFcAnimRender;
#endif 	/* __IRfFcAnimRender_FWD_DEFINED__ */


#ifndef __IRfStAnimRender_FWD_DEFINED__
#define __IRfStAnimRender_FWD_DEFINED__
typedef interface IRfStAnimRender IRfStAnimRender;
#endif 	/* __IRfStAnimRender_FWD_DEFINED__ */


#ifndef __IRfAnim_FWD_DEFINED__
#define __IRfAnim_FWD_DEFINED__
typedef interface IRfAnim IRfAnim;
#endif 	/* __IRfAnim_FWD_DEFINED__ */


#ifndef __IRcAEOp_FWD_DEFINED__
#define __IRcAEOp_FWD_DEFINED__
typedef interface IRcAEOp IRcAEOp;
#endif 	/* __IRcAEOp_FWD_DEFINED__ */


#ifndef __IRfClipFn_FWD_DEFINED__
#define __IRfClipFn_FWD_DEFINED__
typedef interface IRfClipFn IRfClipFn;
#endif 	/* __IRfClipFn_FWD_DEFINED__ */


#ifndef __IRpAnimPck_FWD_DEFINED__
#define __IRpAnimPck_FWD_DEFINED__
typedef interface IRpAnimPck IRpAnimPck;
#endif 	/* __IRpAnimPck_FWD_DEFINED__ */


#ifndef __IRsStClip_FWD_DEFINED__
#define __IRsStClip_FWD_DEFINED__
typedef interface IRsStClip IRsStClip;
#endif 	/* __IRsStClip_FWD_DEFINED__ */


#ifndef __IRsDSView_FWD_DEFINED__
#define __IRsDSView_FWD_DEFINED__
typedef interface IRsDSView IRsDSView;
#endif 	/* __IRsDSView_FWD_DEFINED__ */


#ifndef __IRnAnimView_FWD_DEFINED__
#define __IRnAnimView_FWD_DEFINED__
typedef interface IRnAnimView IRnAnimView;
#endif 	/* __IRnAnimView_FWD_DEFINED__ */


#ifndef __IRfAnimSelFn_FWD_DEFINED__
#define __IRfAnimSelFn_FWD_DEFINED__
typedef interface IRfAnimSelFn IRfAnimSelFn;
#endif 	/* __IRfAnimSelFn_FWD_DEFINED__ */


#ifndef __IRcAnimAction_FWD_DEFINED__
#define __IRcAnimAction_FWD_DEFINED__
typedef interface IRcAnimAction IRcAnimAction;
#endif 	/* __IRcAnimAction_FWD_DEFINED__ */


#ifndef __IRnAnimPreferences_FWD_DEFINED__
#define __IRnAnimPreferences_FWD_DEFINED__
typedef interface IRnAnimPreferences IRnAnimPreferences;
#endif 	/* __IRnAnimPreferences_FWD_DEFINED__ */


#ifndef __IRcAnimRefresh_FWD_DEFINED__
#define __IRcAnimRefresh_FWD_DEFINED__
typedef interface IRcAnimRefresh IRcAnimRefresh;
#endif 	/* __IRcAnimRefresh_FWD_DEFINED__ */


#ifndef __IRcAnimSelOp_FWD_DEFINED__
#define __IRcAnimSelOp_FWD_DEFINED__
typedef interface IRcAnimSelOp IRcAnimSelOp;
#endif 	/* __IRcAnimSelOp_FWD_DEFINED__ */


#ifndef __IRcAnimSetAspect_FWD_DEFINED__
#define __IRcAnimSetAspect_FWD_DEFINED__
typedef interface IRcAnimSetAspect IRcAnimSetAspect;
#endif 	/* __IRcAnimSetAspect_FWD_DEFINED__ */


#ifndef __IRcAnimTool_FWD_DEFINED__
#define __IRcAnimTool_FWD_DEFINED__
typedef interface IRcAnimTool IRcAnimTool;
#endif 	/* __IRcAnimTool_FWD_DEFINED__ */


#ifndef __IRcCreateAnimView_FWD_DEFINED__
#define __IRcCreateAnimView_FWD_DEFINED__
typedef interface IRcCreateAnimView IRcCreateAnimView;
#endif 	/* __IRcCreateAnimView_FWD_DEFINED__ */


#ifndef __IRcCreateTrack_FWD_DEFINED__
#define __IRcCreateTrack_FWD_DEFINED__
typedef interface IRcCreateTrack IRcCreateTrack;
#endif 	/* __IRcCreateTrack_FWD_DEFINED__ */


#ifndef __IRcKeyingOp_FWD_DEFINED__
#define __IRcKeyingOp_FWD_DEFINED__
typedef interface IRcKeyingOp IRcKeyingOp;
#endif 	/* __IRcKeyingOp_FWD_DEFINED__ */


#ifndef __IRcKfProp_FWD_DEFINED__
#define __IRcKfProp_FWD_DEFINED__
typedef interface IRcKfProp IRcKfProp;
#endif 	/* __IRcKfProp_FWD_DEFINED__ */


#ifndef __IRcOpenAnimToolbar_FWD_DEFINED__
#define __IRcOpenAnimToolbar_FWD_DEFINED__
typedef interface IRcOpenAnimToolbar IRcOpenAnimToolbar;
#endif 	/* __IRcOpenAnimToolbar_FWD_DEFINED__ */


#ifndef __IRcPrefAction_FWD_DEFINED__
#define __IRcPrefAction_FWD_DEFINED__
typedef interface IRcPrefAction IRcPrefAction;
#endif 	/* __IRcPrefAction_FWD_DEFINED__ */


#ifndef __IRcPutFrame_FWD_DEFINED__
#define __IRcPutFrame_FWD_DEFINED__
typedef interface IRcPutFrame IRcPutFrame;
#endif 	/* __IRcPutFrame_FWD_DEFINED__ */


#ifndef __IRcSetKeyFrame_FWD_DEFINED__
#define __IRcSetKeyFrame_FWD_DEFINED__
typedef interface IRcSetKeyFrame IRcSetKeyFrame;
#endif 	/* __IRcSetKeyFrame_FWD_DEFINED__ */


#ifndef __IRcAnimViewAction_FWD_DEFINED__
#define __IRcAnimViewAction_FWD_DEFINED__
typedef interface IRcAnimViewAction IRcAnimViewAction;
#endif 	/* __IRcAnimViewAction_FWD_DEFINED__ */


#ifndef __IRsMatrixITRComponents_FWD_DEFINED__
#define __IRsMatrixITRComponents_FWD_DEFINED__
typedef interface IRsMatrixITRComponents IRsMatrixITRComponents;
#endif 	/* __IRsMatrixITRComponents_FWD_DEFINED__ */


#ifndef __IRsMatrixInterpolator_FWD_DEFINED__
#define __IRsMatrixInterpolator_FWD_DEFINED__
typedef interface IRsMatrixInterpolator IRsMatrixInterpolator;
#endif 	/* __IRsMatrixInterpolator_FWD_DEFINED__ */


#ifndef __IRsMatrixInterpolator2_FWD_DEFINED__
#define __IRsMatrixInterpolator2_FWD_DEFINED__
typedef interface IRsMatrixInterpolator2 IRsMatrixInterpolator2;
#endif 	/* __IRsMatrixInterpolator2_FWD_DEFINED__ */


#ifndef __IRsDefaultInterpolator_FWD_DEFINED__
#define __IRsDefaultInterpolator_FWD_DEFINED__
typedef interface IRsDefaultInterpolator IRsDefaultInterpolator;
#endif 	/* __IRsDefaultInterpolator_FWD_DEFINED__ */


#ifndef __IRsColorInterpolator_FWD_DEFINED__
#define __IRsColorInterpolator_FWD_DEFINED__
typedef interface IRsColorInterpolator IRsColorInterpolator;
#endif 	/* __IRsColorInterpolator_FWD_DEFINED__ */


#ifndef __IRsFcView_FWD_DEFINED__
#define __IRsFcView_FWD_DEFINED__
typedef interface IRsFcView IRsFcView;
#endif 	/* __IRsFcView_FWD_DEFINED__ */


#ifndef __IRsStView_FWD_DEFINED__
#define __IRsStView_FWD_DEFINED__
typedef interface IRsStView IRsStView;
#endif 	/* __IRsStView_FWD_DEFINED__ */


#ifndef __IRsFcRoot_FWD_DEFINED__
#define __IRsFcRoot_FWD_DEFINED__
typedef interface IRsFcRoot IRsFcRoot;
#endif 	/* __IRsFcRoot_FWD_DEFINED__ */


#ifndef __IRsStRoot_FWD_DEFINED__
#define __IRsStRoot_FWD_DEFINED__
typedef interface IRsStRoot IRsStRoot;
#endif 	/* __IRsStRoot_FWD_DEFINED__ */


#ifndef __IRiAnim_FWD_DEFINED__
#define __IRiAnim_FWD_DEFINED__
typedef interface IRiAnim IRiAnim;
#endif 	/* __IRiAnim_FWD_DEFINED__ */


#ifndef __IRcCreateClip_FWD_DEFINED__
#define __IRcCreateClip_FWD_DEFINED__
typedef interface IRcCreateClip IRcCreateClip;
#endif 	/* __IRcCreateClip_FWD_DEFINED__ */


#ifndef __IRcClipSelOp_FWD_DEFINED__
#define __IRcClipSelOp_FWD_DEFINED__
typedef interface IRcClipSelOp IRcClipSelOp;
#endif 	/* __IRcClipSelOp_FWD_DEFINED__ */


#ifndef __IRiAnimClip_FWD_DEFINED__
#define __IRiAnimClip_FWD_DEFINED__
typedef interface IRiAnimClip IRiAnimClip;
#endif 	/* __IRiAnimClip_FWD_DEFINED__ */


#ifndef __IRiAnimPref_FWD_DEFINED__
#define __IRiAnimPref_FWD_DEFINED__
typedef interface IRiAnimPref IRiAnimPref;
#endif 	/* __IRiAnimPref_FWD_DEFINED__ */


#ifndef __IRiAnimTrack_FWD_DEFINED__
#define __IRiAnimTrack_FWD_DEFINED__
typedef interface IRiAnimTrack IRiAnimTrack;
#endif 	/* __IRiAnimTrack_FWD_DEFINED__ */


#ifndef __IRiAnimView_FWD_DEFINED__
#define __IRiAnimView_FWD_DEFINED__
typedef interface IRiAnimView IRiAnimView;
#endif 	/* __IRiAnimView_FWD_DEFINED__ */


#ifndef __IRcOpenAnimPreference_FWD_DEFINED__
#define __IRcOpenAnimPreference_FWD_DEFINED__
typedef interface IRcOpenAnimPreference IRcOpenAnimPreference;
#endif 	/* __IRcOpenAnimPreference_FWD_DEFINED__ */


#ifndef __IRiKeying_FWD_DEFINED__
#define __IRiKeying_FWD_DEFINED__
typedef interface IRiKeying IRiKeying;
#endif 	/* __IRiKeying_FWD_DEFINED__ */


#ifndef __IRcKeyCreateView_FWD_DEFINED__
#define __IRcKeyCreateView_FWD_DEFINED__
typedef interface IRcKeyCreateView IRcKeyCreateView;
#endif 	/* __IRcKeyCreateView_FWD_DEFINED__ */


#ifndef __IRcAttrBrowser_FWD_DEFINED__
#define __IRcAttrBrowser_FWD_DEFINED__
typedef interface IRcAttrBrowser IRcAttrBrowser;
#endif 	/* __IRcAttrBrowser_FWD_DEFINED__ */


#ifndef __IRiTime_FWD_DEFINED__
#define __IRiTime_FWD_DEFINED__
typedef interface IRiTime IRiTime;
#endif 	/* __IRiTime_FWD_DEFINED__ */


#ifndef __IRsAnimNodeFactory_FWD_DEFINED__
#define __IRsAnimNodeFactory_FWD_DEFINED__
typedef interface IRsAnimNodeFactory IRsAnimNodeFactory;
#endif 	/* __IRsAnimNodeFactory_FWD_DEFINED__ */


#ifndef __IRsAnimCmdFactory_FWD_DEFINED__
#define __IRsAnimCmdFactory_FWD_DEFINED__
typedef interface IRsAnimCmdFactory IRsAnimCmdFactory;
#endif 	/* __IRsAnimCmdFactory_FWD_DEFINED__ */


#ifndef __IRsAnimDataObjFactory_FWD_DEFINED__
#define __IRsAnimDataObjFactory_FWD_DEFINED__
typedef interface IRsAnimDataObjFactory IRsAnimDataObjFactory;
#endif 	/* __IRsAnimDataObjFactory_FWD_DEFINED__ */


#ifndef __IRsFileTypeRsClip_FWD_DEFINED__
#define __IRsFileTypeRsClip_FWD_DEFINED__
typedef interface IRsFileTypeRsClip IRsFileTypeRsClip;
#endif 	/* __IRsFileTypeRsClip_FWD_DEFINED__ */


#ifndef __IRcDsTimeMove_FWD_DEFINED__
#define __IRcDsTimeMove_FWD_DEFINED__
typedef interface IRcDsTimeMove IRcDsTimeMove;
#endif 	/* __IRcDsTimeMove_FWD_DEFINED__ */


#ifndef __IRcDsNavigation_FWD_DEFINED__
#define __IRcDsNavigation_FWD_DEFINED__
typedef interface IRcDsNavigation IRcDsNavigation;
#endif 	/* __IRcDsNavigation_FWD_DEFINED__ */


#ifndef __IRcDsAreaSelect_FWD_DEFINED__
#define __IRcDsAreaSelect_FWD_DEFINED__
typedef interface IRcDsAreaSelect IRcDsAreaSelect;
#endif 	/* __IRcDsAreaSelect_FWD_DEFINED__ */


#ifndef __IRcDsSelAction_FWD_DEFINED__
#define __IRcDsSelAction_FWD_DEFINED__
typedef interface IRcDsSelAction IRcDsSelAction;
#endif 	/* __IRcDsSelAction_FWD_DEFINED__ */


#ifndef __IRcFcYNav_FWD_DEFINED__
#define __IRcFcYNav_FWD_DEFINED__
typedef interface IRcFcYNav IRcFcYNav;
#endif 	/* __IRcFcYNav_FWD_DEFINED__ */


#ifndef __IRcFcAreaSelect_FWD_DEFINED__
#define __IRcFcAreaSelect_FWD_DEFINED__
typedef interface IRcFcAreaSelect IRcFcAreaSelect;
#endif 	/* __IRcFcAreaSelect_FWD_DEFINED__ */


#ifndef __IRcFcSelAction_FWD_DEFINED__
#define __IRcFcSelAction_FWD_DEFINED__
typedef interface IRcFcSelAction IRcFcSelAction;
#endif 	/* __IRcFcSelAction_FWD_DEFINED__ */


#ifndef __IRcKeyingTool_FWD_DEFINED__
#define __IRcKeyingTool_FWD_DEFINED__
typedef interface IRcKeyingTool IRcKeyingTool;
#endif 	/* __IRcKeyingTool_FWD_DEFINED__ */


#ifndef __IRcCmButtonTool_FWD_DEFINED__
#define __IRcCmButtonTool_FWD_DEFINED__
typedef interface IRcCmButtonTool IRcCmButtonTool;
#endif 	/* __IRcCmButtonTool_FWD_DEFINED__ */


#ifndef __IRcStClipNav_FWD_DEFINED__
#define __IRcStClipNav_FWD_DEFINED__
typedef interface IRcStClipNav IRcStClipNav;
#endif 	/* __IRcStClipNav_FWD_DEFINED__ */


#ifndef __IRcCmSplitter_FWD_DEFINED__
#define __IRcCmSplitter_FWD_DEFINED__
typedef interface IRcCmSplitter IRcCmSplitter;
#endif 	/* __IRcCmSplitter_FWD_DEFINED__ */


#ifndef __IRcCmTreeTool_FWD_DEFINED__
#define __IRcCmTreeTool_FWD_DEFINED__
typedef interface IRcCmTreeTool IRcCmTreeTool;
#endif 	/* __IRcCmTreeTool_FWD_DEFINED__ */


#ifndef __IRsCmPlayRange_FWD_DEFINED__
#define __IRsCmPlayRange_FWD_DEFINED__
typedef interface IRsCmPlayRange IRsCmPlayRange;
#endif 	/* __IRsCmPlayRange_FWD_DEFINED__ */


#ifndef __IRcCmPlayRangeMove_FWD_DEFINED__
#define __IRcCmPlayRangeMove_FWD_DEFINED__
typedef interface IRcCmPlayRangeMove IRcCmPlayRangeMove;
#endif 	/* __IRcCmPlayRangeMove_FWD_DEFINED__ */


#ifndef __IRcCmScrollBar_FWD_DEFINED__
#define __IRcCmScrollBar_FWD_DEFINED__
typedef interface IRcCmScrollBar IRcCmScrollBar;
#endif 	/* __IRcCmScrollBar_FWD_DEFINED__ */


#ifndef __IRcFcTangentTool_FWD_DEFINED__
#define __IRcFcTangentTool_FWD_DEFINED__
typedef interface IRcFcTangentTool IRcFcTangentTool;
#endif 	/* __IRcFcTangentTool_FWD_DEFINED__ */


#ifndef __IRnKeyView_FWD_DEFINED__
#define __IRnKeyView_FWD_DEFINED__
typedef interface IRnKeyView IRnKeyView;
#endif 	/* __IRnKeyView_FWD_DEFINED__ */


#ifndef __IRsTemplateView_FWD_DEFINED__
#define __IRsTemplateView_FWD_DEFINED__
typedef interface IRsTemplateView IRsTemplateView;
#endif 	/* __IRsTemplateView_FWD_DEFINED__ */


#ifndef __IRnTemplateView_FWD_DEFINED__
#define __IRnTemplateView_FWD_DEFINED__
typedef interface IRnTemplateView IRnTemplateView;
#endif 	/* __IRnTemplateView_FWD_DEFINED__ */


#ifndef __IRsDsAttrKF_FWD_DEFINED__
#define __IRsDsAttrKF_FWD_DEFINED__
typedef interface IRsDsAttrKF IRsDsAttrKF;
#endif 	/* __IRsDsAttrKF_FWD_DEFINED__ */


#ifndef __IRsDsStreamKF_FWD_DEFINED__
#define __IRsDsStreamKF_FWD_DEFINED__
typedef interface IRsDsStreamKF IRsDsStreamKF;
#endif 	/* __IRsDsStreamKF_FWD_DEFINED__ */


#ifndef __IRsDsKeyFrame_FWD_DEFINED__
#define __IRsDsKeyFrame_FWD_DEFINED__
typedef interface IRsDsKeyFrame IRsDsKeyFrame;
#endif 	/* __IRsDsKeyFrame_FWD_DEFINED__ */


#ifndef __IRsDsNavigation_FWD_DEFINED__
#define __IRsDsNavigation_FWD_DEFINED__
typedef interface IRsDsNavigation IRsDsNavigation;
#endif 	/* __IRsDsNavigation_FWD_DEFINED__ */


#ifndef __IRsDsSelection_FWD_DEFINED__
#define __IRsDsSelection_FWD_DEFINED__
typedef interface IRsDsSelection IRsDsSelection;
#endif 	/* __IRsDsSelection_FWD_DEFINED__ */


#ifndef __IRsDsSelAttr_FWD_DEFINED__
#define __IRsDsSelAttr_FWD_DEFINED__
typedef interface IRsDsSelAttr IRsDsSelAttr;
#endif 	/* __IRsDsSelAttr_FWD_DEFINED__ */


#ifndef __IRsDsAttrTimeLine_FWD_DEFINED__
#define __IRsDsAttrTimeLine_FWD_DEFINED__
typedef interface IRsDsAttrTimeLine IRsDsAttrTimeLine;
#endif 	/* __IRsDsAttrTimeLine_FWD_DEFINED__ */


#ifndef __IRsDsAttrKFView_FWD_DEFINED__
#define __IRsDsAttrKFView_FWD_DEFINED__
typedef interface IRsDsAttrKFView IRsDsAttrKFView;
#endif 	/* __IRsDsAttrKFView_FWD_DEFINED__ */


#ifndef __IRsDsAttrRecView_FWD_DEFINED__
#define __IRsDsAttrRecView_FWD_DEFINED__
typedef interface IRsDsAttrRecView IRsDsAttrRecView;
#endif 	/* __IRsDsAttrRecView_FWD_DEFINED__ */


#ifndef __IRsDsSelStream_FWD_DEFINED__
#define __IRsDsSelStream_FWD_DEFINED__
typedef interface IRsDsSelStream IRsDsSelStream;
#endif 	/* __IRsDsSelStream_FWD_DEFINED__ */


#ifndef __IRsStTreeView_FWD_DEFINED__
#define __IRsStTreeView_FWD_DEFINED__
typedef interface IRsStTreeView IRsStTreeView;
#endif 	/* __IRsStTreeView_FWD_DEFINED__ */


#ifndef __IRsStTreeStatic_FWD_DEFINED__
#define __IRsStTreeStatic_FWD_DEFINED__
typedef interface IRsStTreeStatic IRsStTreeStatic;
#endif 	/* __IRsStTreeStatic_FWD_DEFINED__ */


#ifndef __IRsDSRenderData_FWD_DEFINED__
#define __IRsDSRenderData_FWD_DEFINED__
typedef interface IRsDSRenderData IRsDSRenderData;
#endif 	/* __IRsDSRenderData_FWD_DEFINED__ */


#ifndef __IRsCmSliderView_FWD_DEFINED__
#define __IRsCmSliderView_FWD_DEFINED__
typedef interface IRsCmSliderView IRsCmSliderView;
#endif 	/* __IRsCmSliderView_FWD_DEFINED__ */


#ifndef __IRsCmTimeEdit_FWD_DEFINED__
#define __IRsCmTimeEdit_FWD_DEFINED__
typedef interface IRsCmTimeEdit IRsCmTimeEdit;
#endif 	/* __IRsCmTimeEdit_FWD_DEFINED__ */


#ifndef __IRsKeyingAttr_FWD_DEFINED__
#define __IRsKeyingAttr_FWD_DEFINED__
typedef interface IRsKeyingAttr IRsKeyingAttr;
#endif 	/* __IRsKeyingAttr_FWD_DEFINED__ */


#ifndef __IRsKObjAttr_FWD_DEFINED__
#define __IRsKObjAttr_FWD_DEFINED__
typedef interface IRsKObjAttr IRsKObjAttr;
#endif 	/* __IRsKObjAttr_FWD_DEFINED__ */


#ifndef __IRsCmScrollBar_FWD_DEFINED__
#define __IRsCmScrollBar_FWD_DEFINED__
typedef interface IRsCmScrollBar IRsCmScrollBar;
#endif 	/* __IRsCmScrollBar_FWD_DEFINED__ */


#ifndef __IRsKeyingRoot_FWD_DEFINED__
#define __IRsKeyingRoot_FWD_DEFINED__
typedef interface IRsKeyingRoot IRsKeyingRoot;
#endif 	/* __IRsKeyingRoot_FWD_DEFINED__ */


#ifndef __IRfKeyingRender_FWD_DEFINED__
#define __IRfKeyingRender_FWD_DEFINED__
typedef interface IRfKeyingRender IRfKeyingRender;
#endif 	/* __IRfKeyingRender_FWD_DEFINED__ */


#ifndef __IRsKStatic_FWD_DEFINED__
#define __IRsKStatic_FWD_DEFINED__
typedef interface IRsKStatic IRsKStatic;
#endif 	/* __IRsKStatic_FWD_DEFINED__ */


#ifndef __IRsKeyingView_FWD_DEFINED__
#define __IRsKeyingView_FWD_DEFINED__
typedef interface IRsKeyingView IRsKeyingView;
#endif 	/* __IRsKeyingView_FWD_DEFINED__ */


#ifndef __IRsFcKFStream_FWD_DEFINED__
#define __IRsFcKFStream_FWD_DEFINED__
typedef interface IRsFcKFStream IRsFcKFStream;
#endif 	/* __IRsFcKFStream_FWD_DEFINED__ */


#ifndef __IRsFcSelControl_FWD_DEFINED__
#define __IRsFcSelControl_FWD_DEFINED__
typedef interface IRsFcSelControl IRsFcSelControl;
#endif 	/* __IRsFcSelControl_FWD_DEFINED__ */


#ifndef __IRsFcTime_FWD_DEFINED__
#define __IRsFcTime_FWD_DEFINED__
typedef interface IRsFcTime IRsFcTime;
#endif 	/* __IRsFcTime_FWD_DEFINED__ */


#ifndef __IRsFcKFView_FWD_DEFINED__
#define __IRsFcKFView_FWD_DEFINED__
typedef interface IRsFcKFView IRsFcKFView;
#endif 	/* __IRsFcKFView_FWD_DEFINED__ */


#ifndef __IRsFcTimeSlider_FWD_DEFINED__
#define __IRsFcTimeSlider_FWD_DEFINED__
typedef interface IRsFcTimeSlider IRsFcTimeSlider;
#endif 	/* __IRsFcTimeSlider_FWD_DEFINED__ */


#ifndef __IRsFcValueSlider_FWD_DEFINED__
#define __IRsFcValueSlider_FWD_DEFINED__
typedef interface IRsFcValueSlider IRsFcValueSlider;
#endif 	/* __IRsFcValueSlider_FWD_DEFINED__ */


#ifndef __IRsFcStatusView_FWD_DEFINED__
#define __IRsFcStatusView_FWD_DEFINED__
typedef interface IRsFcStatusView IRsFcStatusView;
#endif 	/* __IRsFcStatusView_FWD_DEFINED__ */


#ifndef __IRsFcColorButton_FWD_DEFINED__
#define __IRsFcColorButton_FWD_DEFINED__
typedef interface IRsFcColorButton IRsFcColorButton;
#endif 	/* __IRsFcColorButton_FWD_DEFINED__ */


#ifndef __IRsStEditButton_FWD_DEFINED__
#define __IRsStEditButton_FWD_DEFINED__
typedef interface IRsStEditButton IRsStEditButton;
#endif 	/* __IRsStEditButton_FWD_DEFINED__ */


#ifndef __IRsFcTreeView_FWD_DEFINED__
#define __IRsFcTreeView_FWD_DEFINED__
typedef interface IRsFcTreeView IRsFcTreeView;
#endif 	/* __IRsFcTreeView_FWD_DEFINED__ */


#ifndef __IRsFcSelKFStream_FWD_DEFINED__
#define __IRsFcSelKFStream_FWD_DEFINED__
typedef interface IRsFcSelKFStream IRsFcSelKFStream;
#endif 	/* __IRsFcSelKFStream_FWD_DEFINED__ */


#ifndef __IRsFcTreeItem_FWD_DEFINED__
#define __IRsFcTreeItem_FWD_DEFINED__
typedef interface IRsFcTreeItem IRsFcTreeItem;
#endif 	/* __IRsFcTreeItem_FWD_DEFINED__ */


#ifndef __IRcFcTreeTool_FWD_DEFINED__
#define __IRcFcTreeTool_FWD_DEFINED__
typedef interface IRcFcTreeTool IRcFcTreeTool;
#endif 	/* __IRcFcTreeTool_FWD_DEFINED__ */


#ifndef __IRsCmDivider_FWD_DEFINED__
#define __IRsCmDivider_FWD_DEFINED__
typedef interface IRsCmDivider IRsCmDivider;
#endif 	/* __IRsCmDivider_FWD_DEFINED__ */


#ifndef __IRsStObjTrack_FWD_DEFINED__
#define __IRsStObjTrack_FWD_DEFINED__
typedef interface IRsStObjTrack IRsStObjTrack;
#endif 	/* __IRsStObjTrack_FWD_DEFINED__ */


#ifndef __IRsCmAnimStart_FWD_DEFINED__
#define __IRsCmAnimStart_FWD_DEFINED__
typedef interface IRsCmAnimStart IRsCmAnimStart;
#endif 	/* __IRsCmAnimStart_FWD_DEFINED__ */


#ifndef __IRsCmAnimEnd_FWD_DEFINED__
#define __IRsCmAnimEnd_FWD_DEFINED__
typedef interface IRsCmAnimEnd IRsCmAnimEnd;
#endif 	/* __IRsCmAnimEnd_FWD_DEFINED__ */


#ifndef __IRsStMainView_FWD_DEFINED__
#define __IRsStMainView_FWD_DEFINED__
typedef interface IRsStMainView IRsStMainView;
#endif 	/* __IRsStMainView_FWD_DEFINED__ */


#ifndef __IRsCmTrackWeight_FWD_DEFINED__
#define __IRsCmTrackWeight_FWD_DEFINED__
typedef interface IRsCmTrackWeight IRsCmTrackWeight;
#endif 	/* __IRsCmTrackWeight_FWD_DEFINED__ */


#ifndef __IRdAnimMatrix_FWD_DEFINED__
#define __IRdAnimMatrix_FWD_DEFINED__
typedef interface IRdAnimMatrix IRdAnimMatrix;
#endif 	/* __IRdAnimMatrix_FWD_DEFINED__ */


#ifndef __IRfAnimFileHelper_FWD_DEFINED__
#define __IRfAnimFileHelper_FWD_DEFINED__
typedef interface IRfAnimFileHelper IRfAnimFileHelper;
#endif 	/* __IRfAnimFileHelper_FWD_DEFINED__ */


#ifndef __CRpAnimPck_FWD_DEFINED__
#define __CRpAnimPck_FWD_DEFINED__

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

#endif 	/* __CRpAnimPck_FWD_DEFINED__ */


#ifndef __CRiAnim_FWD_DEFINED__
#define __CRiAnim_FWD_DEFINED__

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

#endif 	/* __CRiAnim_FWD_DEFINED__ */


#ifndef __CRiAnimClip_FWD_DEFINED__
#define __CRiAnimClip_FWD_DEFINED__

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

#endif 	/* __CRiAnimClip_FWD_DEFINED__ */


#ifndef __CRiAnimPref_FWD_DEFINED__
#define __CRiAnimPref_FWD_DEFINED__

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

#endif 	/* __CRiAnimPref_FWD_DEFINED__ */


#ifndef __CRiAnimTrack_FWD_DEFINED__
#define __CRiAnimTrack_FWD_DEFINED__

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

#endif 	/* __CRiAnimTrack_FWD_DEFINED__ */


#ifndef __CRiAnimView_FWD_DEFINED__
#define __CRiAnimView_FWD_DEFINED__

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

#endif 	/* __CRiAnimView_FWD_DEFINED__ */


#ifndef __CRiKeying_FWD_DEFINED__
#define __CRiKeying_FWD_DEFINED__

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

#endif 	/* __CRiKeying_FWD_DEFINED__ */


#ifndef __CRiTime_FWD_DEFINED__
#define __CRiTime_FWD_DEFINED__

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

#endif 	/* __CRiTime_FWD_DEFINED__ */


/* header files for imported files */
#include "prsht.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "exdisp.h"
#include "objsafe.h"
#include "_kernel.h"
#include "_CommonData.h"
#include "_math.h"
#include "_windowsManager.h"

#ifdef __cplusplus
extern "C"{
#endif 

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

/* interface __MIDL_itf__Anim_0000 */
/* [local] */ 

typedef RtFloat RtTime;

typedef RtFloat RtFps;



extern RPC_IF_HANDLE __MIDL_itf__Anim_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_0000_v0_0_s_ifspec;

#ifndef __IRsRefreshTarget_INTERFACE_DEFINED__
#define __IRsRefreshTarget_INTERFACE_DEFINED__

/* interface IRsRefreshTarget */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsRefreshTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5322CBA-7B79-4fcf-B560-9533DD7F9088")
    IRsRefreshTarget : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ControlUpdated( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateControl( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsRefreshTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsRefreshTarget * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsRefreshTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsRefreshTarget * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ControlUpdated )( 
            IRsRefreshTarget * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateControl )( 
            IRsRefreshTarget * This);
        
        END_INTERFACE
    } IRsRefreshTargetVtbl;

    interface IRsRefreshTarget
    {
        CONST_VTBL struct IRsRefreshTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsRefreshTarget_ControlUpdated(This)	\
    (This)->lpVtbl -> ControlUpdated(This)

#define IRsRefreshTarget_UpdateControl(This)	\
    (This)->lpVtbl -> UpdateControl(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRefreshTarget_ControlUpdated_Proxy( 
    IRsRefreshTarget * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsRefreshTarget_UpdateControl_Proxy( 
    IRsRefreshTarget * This);


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



#endif 	/* __IRsRefreshTarget_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Anim_1730 */
/* [local] */ 

typedef 
enum tagReInterpolationType
    {	INTRPL_UNDEF	= 0,
	INTRPL_BEZIER_AUTO	= 1,
	INTRPL_BEZIER_CUSTOM	= 2,
	INTRPL_LINEAR	= 3,
	INTRPL_CONSTANT_MIN	= 4,
	INTRPL_CONSTANT_MAX	= 5
    } 	ReInterpolationType;

typedef struct tagRtKfProperty
    {
    ReInterpolationType eInterpType;
    RtFloat fLeftAngle;
    RtFloat fLeftLenght;
    RtFloat fRightAngle;
    RtFloat fRightLenght;
    } 	RtKfProperty;

typedef 
enum tagRtTimeFormat
    {	ANIM_TIMEFORMAT_FRAMES	= 0,
	ANIM_TIMEFORMAT_SECMS	= 1,
	ANIM_TIMEFORMAT_SECFRAMES	= 2
    } 	RtTimeFormat;

typedef struct tagSelAnimRegion
    {
    RtTime tSelStart;
    RtTime tSelEnd;
    } 	RtSelAnimRegion;

typedef struct tagAnimRegion
    {
    RtTime tStart;
    RtTime tEnd;
    RtFloat fMin;
    RtFloat fMax;
    } 	RtAnimRegion;

typedef struct tagRtValueRenderData
    {
    RtTime fMinVisValue;
    RtTime fMaxVisValue;
    RtTime fMinValue;
    RtTime fMaxValue;
    RtKfProperty kfProperty;
    RtBool bSharpnessLocked;
    RtBool bAngleLocked;
    } 	RtValueRenderData;

typedef struct tagRtAnimRenderData
    {
    RtTime tMinVisFrame;
    RtTime tMaxVisFrame;
    RtTime tStartFrame;
    RtTime tEndFrame;
    RtTime tStartPlayRange;
    RtTime tEndPlayRange;
    RtTime tTime;
    RtSelAnimRegion tSelRegion;
    RtValueRenderData sVRData;
    RtAnimRegion tAnimSelRegion;
    RtFps tFrameRate;
    RtTimeFormat tTimeFormat;
    } 	RtAnimRenderData;

typedef 
enum tagReViewAspect
    {	VIEW_ASPECT_DOPESHEET	= 1,
	VIEW_ASPECT_FCURVE	= 2,
	VIEW_ASPECT_STORY	= 3
    } 	ReViewAspect;

typedef 
enum tagRtKeyFrameSnapping
    {	ANIM_KF_SNAPPING_NONE	= 0,
	ANIM_KF_SNAPPING_FRAME	= 1,
	ANIM_KF_SNAPPING_KEYFRAME	= 2
    } 	RtKeyFrameSnapping;

typedef 
enum tagRtPlayMode
    {	ANIM_PLAYMODE_SELECTED	= 0,
	ANIM_PLAYMODE_ALLANIMATED	= 1
    } 	RtPlayMode;

typedef 
enum tagRtAnimFilterMode
    {	ANIM_FILTER_SELECTED	= 0,
	ANIM_FILTER_ANIMATED	= 1,
	ANIM_FILTER_ALL	= 2
    } 	RtAnimFilterMode;



extern RPC_IF_HANDLE __MIDL_itf__Anim_1730_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_1730_v0_0_s_ifspec;

#ifndef __IRdAnimPref_INTERFACE_DEFINED__
#define __IRdAnimPref_INTERFACE_DEFINED__

/* interface IRdAnimPref */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdAnimPref;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("03BD4646-F918-48c2-8DC8-CDC0A6860986")
    IRdAnimPref : public IRsDataObject
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_KFSnapping( 
            /* [retval][out] */ RtKeyFrameSnapping *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_KFSnapping( 
            /* [in] */ RtKeyFrameSnapping newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TimeFormat( 
            /* [retval][out] */ RtTimeFormat *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TimeFormat( 
            /* [in] */ RtTimeFormat newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayMode( 
            /* [retval][out] */ RtPlayMode *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayMode( 
            /* [in] */ RtPlayMode newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FilterMode( 
            /* [retval][out] */ RtAnimFilterMode *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FilterMode( 
            /* [in] */ RtAnimFilterMode newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Repeat( 
            /* [retval][out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Repeat( 
            /* [in] */ RtBool newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayRangeStart( 
            /* [retval][out] */ RtTime *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayRangeStart( 
            /* [in] */ RtTime newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayRangeEnd( 
            /* [retval][out] */ RtTime *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayRangeEnd( 
            /* [in] */ RtTime newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FrameRate( 
            /* [retval][out] */ RtFps *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FrameRate( 
            /* [in] */ RtFps newVal) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaySpeed( 
            /* [retval][out] */ RtFloat *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlaySpeed( 
            /* [in] */ RtFloat newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdAnimPrefVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdAnimPref * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdAnimPref * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdAnimPref * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdAnimPref * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdAnimPref * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdAnimPref * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KFSnapping )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtKeyFrameSnapping *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_KFSnapping )( 
            IRdAnimPref * This,
            /* [in] */ RtKeyFrameSnapping newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TimeFormat )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtTimeFormat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TimeFormat )( 
            IRdAnimPref * This,
            /* [in] */ RtTimeFormat newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayMode )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtPlayMode *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayMode )( 
            IRdAnimPref * This,
            /* [in] */ RtPlayMode newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FilterMode )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtAnimFilterMode *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FilterMode )( 
            IRdAnimPref * This,
            /* [in] */ RtAnimFilterMode newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Repeat )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtBool *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Repeat )( 
            IRdAnimPref * This,
            /* [in] */ RtBool newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayRangeStart )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtTime *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayRangeStart )( 
            IRdAnimPref * This,
            /* [in] */ RtTime newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayRangeEnd )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtTime *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayRangeEnd )( 
            IRdAnimPref * This,
            /* [in] */ RtTime newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameRate )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtFps *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FrameRate )( 
            IRdAnimPref * This,
            /* [in] */ RtFps newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlaySpeed )( 
            IRdAnimPref * This,
            /* [retval][out] */ RtFloat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlaySpeed )( 
            IRdAnimPref * This,
            /* [in] */ RtFloat newVal);
        
        END_INTERFACE
    } IRdAnimPrefVtbl;

    interface IRdAnimPref
    {
        CONST_VTBL struct IRdAnimPrefVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRdAnimPref_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdAnimPref_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdAnimPref_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdAnimPref_get_KFSnapping(This,pVal)	\
    (This)->lpVtbl -> get_KFSnapping(This,pVal)

#define IRdAnimPref_put_KFSnapping(This,newVal)	\
    (This)->lpVtbl -> put_KFSnapping(This,newVal)

#define IRdAnimPref_get_TimeFormat(This,pVal)	\
    (This)->lpVtbl -> get_TimeFormat(This,pVal)

#define IRdAnimPref_put_TimeFormat(This,newVal)	\
    (This)->lpVtbl -> put_TimeFormat(This,newVal)

#define IRdAnimPref_get_PlayMode(This,pVal)	\
    (This)->lpVtbl -> get_PlayMode(This,pVal)

#define IRdAnimPref_put_PlayMode(This,newVal)	\
    (This)->lpVtbl -> put_PlayMode(This,newVal)

#define IRdAnimPref_get_FilterMode(This,pVal)	\
    (This)->lpVtbl -> get_FilterMode(This,pVal)

#define IRdAnimPref_put_FilterMode(This,newVal)	\
    (This)->lpVtbl -> put_FilterMode(This,newVal)

#define IRdAnimPref_get_Repeat(This,pVal)	\
    (This)->lpVtbl -> get_Repeat(This,pVal)

#define IRdAnimPref_put_Repeat(This,newVal)	\
    (This)->lpVtbl -> put_Repeat(This,newVal)

#define IRdAnimPref_get_PlayRangeStart(This,pVal)	\
    (This)->lpVtbl -> get_PlayRangeStart(This,pVal)

#define IRdAnimPref_put_PlayRangeStart(This,newVal)	\
    (This)->lpVtbl -> put_PlayRangeStart(This,newVal)

#define IRdAnimPref_get_PlayRangeEnd(This,pVal)	\
    (This)->lpVtbl -> get_PlayRangeEnd(This,pVal)

#define IRdAnimPref_put_PlayRangeEnd(This,newVal)	\
    (This)->lpVtbl -> put_PlayRangeEnd(This,newVal)

#define IRdAnimPref_get_FrameRate(This,pVal)	\
    (This)->lpVtbl -> get_FrameRate(This,pVal)

#define IRdAnimPref_put_FrameRate(This,newVal)	\
    (This)->lpVtbl -> put_FrameRate(This,newVal)

#define IRdAnimPref_get_PlaySpeed(This,pVal)	\
    (This)->lpVtbl -> get_PlaySpeed(This,pVal)

#define IRdAnimPref_put_PlaySpeed(This,newVal)	\
    (This)->lpVtbl -> put_PlaySpeed(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_KFSnapping_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtKeyFrameSnapping *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_KFSnapping_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtKeyFrameSnapping newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_TimeFormat_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtTimeFormat *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_TimeFormat_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtTimeFormat newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_PlayMode_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtPlayMode *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_PlayMode_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtPlayMode newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_FilterMode_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtAnimFilterMode *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_FilterMode_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtAnimFilterMode newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_Repeat_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtBool *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_Repeat_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtBool newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_PlayRangeStart_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtTime *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_PlayRangeStart_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtTime newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_PlayRangeEnd_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtTime *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_PlayRangeEnd_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtTime newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_FrameRate_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtFps *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_FrameRate_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtFps newVal);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_get_PlaySpeed_Proxy( 
    IRdAnimPref * This,
    /* [retval][out] */ RtFloat *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRdAnimPref_put_PlaySpeed_Proxy( 
    IRdAnimPref * This,
    /* [in] */ RtFloat newVal);


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



#endif 	/* __IRdAnimPref_INTERFACE_DEFINED__ */


#ifndef __IRsAnimRenderNode_INTERFACE_DEFINED__
#define __IRsAnimRenderNode_INTERFACE_DEFINED__

/* interface IRsAnimRenderNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimRenderNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EAD4ED86-8063-4AAD-8F81-12E025B0B3C4")
    IRsAnimRenderNode : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddRenderNode( 
            /* [in] */ IRsAnimRenderNode *spRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenderNodesCount( 
            /* [retval][out] */ RtUlong *pulNodeCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderNodesAt( 
            /* [in] */ RtUlong position,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveRenderNodesAt( 
            /* [in] */ RtUlong position,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertRenderNodesAt( 
            /* [in] */ RtUlong position,
            /* [in] */ IRsAnimRenderNode *pRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachParent( 
            /* [in] */ IRsAnimRenderNode *pRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParent( 
            /* [out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DestroyAll( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimRenderNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimRenderNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimRenderNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimRenderNode * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddRenderNode )( 
            IRsAnimRenderNode * This,
            /* [in] */ IRsAnimRenderNode *spRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenderNodesCount )( 
            IRsAnimRenderNode * This,
            /* [retval][out] */ RtUlong *pulNodeCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderNodesAt )( 
            IRsAnimRenderNode * This,
            /* [in] */ RtUlong position,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveRenderNodesAt )( 
            IRsAnimRenderNode * This,
            /* [in] */ RtUlong position,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertRenderNodesAt )( 
            IRsAnimRenderNode * This,
            /* [in] */ RtUlong position,
            /* [in] */ IRsAnimRenderNode *pRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachParent )( 
            IRsAnimRenderNode * This,
            /* [in] */ IRsAnimRenderNode *pRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParent )( 
            IRsAnimRenderNode * This,
            /* [out] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DestroyAll )( 
            IRsAnimRenderNode * This);
        
        END_INTERFACE
    } IRsAnimRenderNodeVtbl;

    interface IRsAnimRenderNode
    {
        CONST_VTBL struct IRsAnimRenderNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimRenderNode_AddRenderNode(This,spRenderNode)	\
    (This)->lpVtbl -> AddRenderNode(This,spRenderNode)

#define IRsAnimRenderNode_RenderNodesCount(This,pulNodeCount)	\
    (This)->lpVtbl -> RenderNodesCount(This,pulNodeCount)

#define IRsAnimRenderNode_GetRenderNodesAt(This,position,ppRenderNode)	\
    (This)->lpVtbl -> GetRenderNodesAt(This,position,ppRenderNode)

#define IRsAnimRenderNode_RemoveRenderNodesAt(This,position,ppRenderNode)	\
    (This)->lpVtbl -> RemoveRenderNodesAt(This,position,ppRenderNode)

#define IRsAnimRenderNode_InsertRenderNodesAt(This,position,pRenderNode)	\
    (This)->lpVtbl -> InsertRenderNodesAt(This,position,pRenderNode)

#define IRsAnimRenderNode_AttachParent(This,pRenderNode)	\
    (This)->lpVtbl -> AttachParent(This,pRenderNode)

#define IRsAnimRenderNode_GetParent(This,ppRenderNode)	\
    (This)->lpVtbl -> GetParent(This,ppRenderNode)

#define IRsAnimRenderNode_DestroyAll(This)	\
    (This)->lpVtbl -> DestroyAll(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_AddRenderNode_Proxy( 
    IRsAnimRenderNode * This,
    /* [in] */ IRsAnimRenderNode *spRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_RenderNodesCount_Proxy( 
    IRsAnimRenderNode * This,
    /* [retval][out] */ RtUlong *pulNodeCount);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_GetRenderNodesAt_Proxy( 
    IRsAnimRenderNode * This,
    /* [in] */ RtUlong position,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_RemoveRenderNodesAt_Proxy( 
    IRsAnimRenderNode * This,
    /* [in] */ RtUlong position,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_InsertRenderNodesAt_Proxy( 
    IRsAnimRenderNode * This,
    /* [in] */ RtUlong position,
    /* [in] */ IRsAnimRenderNode *pRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_AttachParent_Proxy( 
    IRsAnimRenderNode * This,
    /* [in] */ IRsAnimRenderNode *pRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_GetParent_Proxy( 
    IRsAnimRenderNode * This,
    /* [out] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderNode_DestroyAll_Proxy( 
    IRsAnimRenderNode * This);


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



#endif 	/* __IRsAnimRenderNode_INTERFACE_DEFINED__ */


#ifndef __IRsAnimTool_INTERFACE_DEFINED__
#define __IRsAnimTool_INTERFACE_DEFINED__

/* interface IRsAnimTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5ABB5182-A973-4cf7-B869-19CADEDDFB0D")
    IRsAnimTool : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnAction( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pAnimView) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimTool * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnAction )( 
            IRsAnimTool * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pAnimView);
        
        END_INTERFACE
    } IRsAnimToolVtbl;

    interface IRsAnimTool
    {
        CONST_VTBL struct IRsAnimToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimTool_OnAction(This,pEvent,pAnimView)	\
    (This)->lpVtbl -> OnAction(This,pEvent,pAnimView)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimTool_OnAction_Proxy( 
    IRsAnimTool * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pAnimView);


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



#endif 	/* __IRsAnimTool_INTERFACE_DEFINED__ */


#ifndef __IRsGDIGraphics_INTERFACE_DEFINED__
#define __IRsGDIGraphics_INTERFACE_DEFINED__

/* interface IRsGDIGraphics */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsGDIGraphics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8A2EB4B2-E32E-4AE5-B02A-9EF122E8B251")
    IRsGDIGraphics : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetGraphicsObject( 
            /* [retval][out] */ void **ppGraphicsObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimData( 
            /* [retval][out] */ RtAnimRenderData *pData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetViewRectangle( 
            /* [out] */ RECT *pViewRecte) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetViewRectangle( 
            /* [in] */ RECT viewRecte) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPickedNode( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPickedNode( 
            /* [in] */ IRsAnimRenderNode *pRenderNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsGDIGraphicsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsGDIGraphics * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsGDIGraphics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsGDIGraphics * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetGraphicsObject )( 
            IRsGDIGraphics * This,
            /* [retval][out] */ void **ppGraphicsObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimData )( 
            IRsGDIGraphics * This,
            /* [retval][out] */ RtAnimRenderData *pData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetViewRectangle )( 
            IRsGDIGraphics * This,
            /* [out] */ RECT *pViewRecte);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetViewRectangle )( 
            IRsGDIGraphics * This,
            /* [in] */ RECT viewRecte);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPickedNode )( 
            IRsGDIGraphics * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPickedNode )( 
            IRsGDIGraphics * This,
            /* [in] */ IRsAnimRenderNode *pRenderNode);
        
        END_INTERFACE
    } IRsGDIGraphicsVtbl;

    interface IRsGDIGraphics
    {
        CONST_VTBL struct IRsGDIGraphicsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsGDIGraphics_GetGraphicsObject(This,ppGraphicsObj)	\
    (This)->lpVtbl -> GetGraphicsObject(This,ppGraphicsObj)

#define IRsGDIGraphics_GetAnimData(This,pData)	\
    (This)->lpVtbl -> GetAnimData(This,pData)

#define IRsGDIGraphics_GetViewRectangle(This,pViewRecte)	\
    (This)->lpVtbl -> GetViewRectangle(This,pViewRecte)

#define IRsGDIGraphics_SetViewRectangle(This,viewRecte)	\
    (This)->lpVtbl -> SetViewRectangle(This,viewRecte)

#define IRsGDIGraphics_GetPickedNode(This,ppRenderNode)	\
    (This)->lpVtbl -> GetPickedNode(This,ppRenderNode)

#define IRsGDIGraphics_SetPickedNode(This,pRenderNode)	\
    (This)->lpVtbl -> SetPickedNode(This,pRenderNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGDIGraphics_GetGraphicsObject_Proxy( 
    IRsGDIGraphics * This,
    /* [retval][out] */ void **ppGraphicsObj);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGDIGraphics_GetAnimData_Proxy( 
    IRsGDIGraphics * This,
    /* [retval][out] */ RtAnimRenderData *pData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGDIGraphics_GetViewRectangle_Proxy( 
    IRsGDIGraphics * This,
    /* [out] */ RECT *pViewRecte);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGDIGraphics_SetViewRectangle_Proxy( 
    IRsGDIGraphics * This,
    /* [in] */ RECT viewRecte);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGDIGraphics_GetPickedNode_Proxy( 
    IRsGDIGraphics * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGDIGraphics_SetPickedNode_Proxy( 
    IRsGDIGraphics * This,
    /* [in] */ IRsAnimRenderNode *pRenderNode);


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



#endif 	/* __IRsGDIGraphics_INTERFACE_DEFINED__ */


#ifndef __IRsAnimRenderData_INTERFACE_DEFINED__
#define __IRsAnimRenderData_INTERFACE_DEFINED__

/* interface IRsAnimRenderData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimRenderData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AD8F589B-1DE0-43bc-832B-AB63FF2BBCCD")
    IRsAnimRenderData : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render( 
            /* [in] */ IRsGDIGraphics *pGraphics) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetControlRect( 
            /* [in] */ RECT controlRect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetControlRect( 
            /* [retval][out] */ RECT *pControlRect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnActivateTool( 
            /* [in] */ IRsGDIGraphics *pGraphics,
            /* [in] */ POINT pt,
            /* [retval][out] */ IID *pToolId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDestroyRenderData( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimRenderDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimRenderData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimRenderData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimRenderData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Render )( 
            IRsAnimRenderData * This,
            /* [in] */ IRsGDIGraphics *pGraphics);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetControlRect )( 
            IRsAnimRenderData * This,
            /* [in] */ RECT controlRect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetControlRect )( 
            IRsAnimRenderData * This,
            /* [retval][out] */ RECT *pControlRect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnActivateTool )( 
            IRsAnimRenderData * This,
            /* [in] */ IRsGDIGraphics *pGraphics,
            /* [in] */ POINT pt,
            /* [retval][out] */ IID *pToolId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDestroyRenderData )( 
            IRsAnimRenderData * This);
        
        END_INTERFACE
    } IRsAnimRenderDataVtbl;

    interface IRsAnimRenderData
    {
        CONST_VTBL struct IRsAnimRenderDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimRenderData_Render(This,pGraphics)	\
    (This)->lpVtbl -> Render(This,pGraphics)

#define IRsAnimRenderData_SetControlRect(This,controlRect)	\
    (This)->lpVtbl -> SetControlRect(This,controlRect)

#define IRsAnimRenderData_GetControlRect(This,pControlRect)	\
    (This)->lpVtbl -> GetControlRect(This,pControlRect)

#define IRsAnimRenderData_OnActivateTool(This,pGraphics,pt,pToolId)	\
    (This)->lpVtbl -> OnActivateTool(This,pGraphics,pt,pToolId)

#define IRsAnimRenderData_OnDestroyRenderData(This)	\
    (This)->lpVtbl -> OnDestroyRenderData(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderData_Render_Proxy( 
    IRsAnimRenderData * This,
    /* [in] */ IRsGDIGraphics *pGraphics);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderData_SetControlRect_Proxy( 
    IRsAnimRenderData * This,
    /* [in] */ RECT controlRect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderData_GetControlRect_Proxy( 
    IRsAnimRenderData * This,
    /* [retval][out] */ RECT *pControlRect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderData_OnActivateTool_Proxy( 
    IRsAnimRenderData * This,
    /* [in] */ IRsGDIGraphics *pGraphics,
    /* [in] */ POINT pt,
    /* [retval][out] */ IID *pToolId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderData_OnDestroyRenderData_Proxy( 
    IRsAnimRenderData * This);


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



#endif 	/* __IRsAnimRenderData_INTERFACE_DEFINED__ */


#ifndef __IRsAnimRenderGraph_INTERFACE_DEFINED__
#define __IRsAnimRenderGraph_INTERFACE_DEFINED__

/* interface IRsAnimRenderGraph */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimRenderGraph;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8EB3B329-439A-4A3E-BEC8-1A510A9E4770")
    IRsAnimRenderGraph : public IRsViewRenderData
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ IRsAnimRenderNode *pRenderRoot) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderRoot( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimRenderGraphVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimRenderGraph * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimRenderGraph * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimRenderGraph * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsAnimRenderGraph * This,
            /* [in] */ IRsAnimRenderNode *pRenderRoot);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderRoot )( 
            IRsAnimRenderGraph * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsAnimRenderGraph * This);
        
        END_INTERFACE
    } IRsAnimRenderGraphVtbl;

    interface IRsAnimRenderGraph
    {
        CONST_VTBL struct IRsAnimRenderGraphVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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



#define IRsAnimRenderGraph_Initialize(This,pRenderRoot)	\
    (This)->lpVtbl -> Initialize(This,pRenderRoot)

#define IRsAnimRenderGraph_GetRenderRoot(This,ppRenderNode)	\
    (This)->lpVtbl -> GetRenderRoot(This,ppRenderNode)

#define IRsAnimRenderGraph_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderGraph_Initialize_Proxy( 
    IRsAnimRenderGraph * This,
    /* [in] */ IRsAnimRenderNode *pRenderRoot);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderGraph_GetRenderRoot_Proxy( 
    IRsAnimRenderGraph * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimRenderGraph_Destroy_Proxy( 
    IRsAnimRenderGraph * This);


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



#endif 	/* __IRsAnimRenderGraph_INTERFACE_DEFINED__ */


#ifndef __IRsDsTimeLine_INTERFACE_DEFINED__
#define __IRsDsTimeLine_INTERFACE_DEFINED__

/* interface IRsDsTimeLine */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsTimeLine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("50D20C7F-F5E5-4572-B18C-076C7B85AE30")
    IRsDsTimeLine : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTimeLineInterval( 
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTimeLineInterval( 
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsTimeLineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsTimeLine * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsTimeLine * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsTimeLine * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTimeLineInterval )( 
            IRsDsTimeLine * This,
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimeLineInterval )( 
            IRsDsTimeLine * This,
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime);
        
        END_INTERFACE
    } IRsDsTimeLineVtbl;

    interface IRsDsTimeLine
    {
        CONST_VTBL struct IRsDsTimeLineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsDsTimeLine_SetTimeLineInterval(This,tMinTime,tMaxTime)	\
    (This)->lpVtbl -> SetTimeLineInterval(This,tMinTime,tMaxTime)

#define IRsDsTimeLine_GetTimeLineInterval(This,ptMinTime,ptMaxTime)	\
    (This)->lpVtbl -> GetTimeLineInterval(This,ptMinTime,ptMaxTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsTimeLine_SetTimeLineInterval_Proxy( 
    IRsDsTimeLine * This,
    /* [in] */ RtTime tMinTime,
    /* [in] */ RtTime tMaxTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsTimeLine_GetTimeLineInterval_Proxy( 
    IRsDsTimeLine * This,
    /* [out] */ RtTime *ptMinTime,
    /* [out] */ RtTime *ptMaxTime);


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



#endif 	/* __IRsDsTimeLine_INTERFACE_DEFINED__ */


#ifndef __IRsDsTime_INTERFACE_DEFINED__
#define __IRsDsTime_INTERFACE_DEFINED__

/* interface IRsDsTime */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsTime;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("75905C76-7608-4C77-A1C3-8F30119415D9")
    IRsDsTime : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTime( 
            /* [retval][out] */ RtTime *ptTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsTimeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsTime * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsTime * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsTime * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsDsTime * This,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTime )( 
            IRsDsTime * This,
            /* [retval][out] */ RtTime *ptTime);
        
        END_INTERFACE
    } IRsDsTimeVtbl;

    interface IRsDsTime
    {
        CONST_VTBL struct IRsDsTimeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsDsTime_SetData(This,tTime)	\
    (This)->lpVtbl -> SetData(This,tTime)

#define IRsDsTime_GetTime(This,ptTime)	\
    (This)->lpVtbl -> GetTime(This,ptTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsTime_SetData_Proxy( 
    IRsDsTime * This,
    /* [in] */ RtTime tTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsTime_GetTime_Proxy( 
    IRsDsTime * This,
    /* [retval][out] */ RtTime *ptTime);


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



#endif 	/* __IRsDsTime_INTERFACE_DEFINED__ */


#ifndef __IRsGraphRoot_INTERFACE_DEFINED__
#define __IRsGraphRoot_INTERFACE_DEFINED__

/* interface IRsGraphRoot */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsGraphRoot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4C65A5CC-4331-4c94-AB41-3381398AD6DA")
    IRsGraphRoot : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTimeInterval( 
            /* [in] */ RtTime tStartFrame,
            /* [in] */ RtTime tEndFrame) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTimeInterval( 
            /* [out] */ RtTime *ptStartFrame,
            /* [out] */ RtTime *ptEndFrame) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVisibleInterval( 
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVisibleInterval( 
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTime( 
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTime( 
            /* [retval][out] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRoot( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRoot( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRegion( 
            /* [in] */ RtSelAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRegion( 
            /* [retval][out] */ RtSelAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimPreferences( 
            /* [in] */ IRdAnimPref *pAnimPref) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimPreferences( 
            /* [retval][out] */ IRdAnimPref **ppAnimPref) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsGraphRootVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsGraphRoot * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsGraphRoot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsGraphRoot * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTimeInterval )( 
            IRsGraphRoot * This,
            /* [in] */ RtTime tStartFrame,
            /* [in] */ RtTime tEndFrame);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimeInterval )( 
            IRsGraphRoot * This,
            /* [out] */ RtTime *ptStartFrame,
            /* [out] */ RtTime *ptEndFrame);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVisibleInterval )( 
            IRsGraphRoot * This,
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVisibleInterval )( 
            IRsGraphRoot * This,
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTime )( 
            IRsGraphRoot * This,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTime )( 
            IRsGraphRoot * This,
            /* [retval][out] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRoot )( 
            IRsGraphRoot * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRoot )( 
            IRsGraphRoot * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRegion )( 
            IRsGraphRoot * This,
            /* [in] */ RtSelAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRegion )( 
            IRsGraphRoot * This,
            /* [retval][out] */ RtSelAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimPreferences )( 
            IRsGraphRoot * This,
            /* [in] */ IRdAnimPref *pAnimPref);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimPreferences )( 
            IRsGraphRoot * This,
            /* [retval][out] */ IRdAnimPref **ppAnimPref);
        
        END_INTERFACE
    } IRsGraphRootVtbl;

    interface IRsGraphRoot
    {
        CONST_VTBL struct IRsGraphRootVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsGraphRoot_SetTimeInterval(This,tStartFrame,tEndFrame)	\
    (This)->lpVtbl -> SetTimeInterval(This,tStartFrame,tEndFrame)

#define IRsGraphRoot_GetTimeInterval(This,ptStartFrame,ptEndFrame)	\
    (This)->lpVtbl -> GetTimeInterval(This,ptStartFrame,ptEndFrame)

#define IRsGraphRoot_SetVisibleInterval(This,tMinTime,tMaxTime)	\
    (This)->lpVtbl -> SetVisibleInterval(This,tMinTime,tMaxTime)

#define IRsGraphRoot_GetVisibleInterval(This,ptMinTime,ptMaxTime)	\
    (This)->lpVtbl -> GetVisibleInterval(This,ptMinTime,ptMaxTime)

#define IRsGraphRoot_SetTime(This,tTime)	\
    (This)->lpVtbl -> SetTime(This,tTime)

#define IRsGraphRoot_GetTime(This,ptTime)	\
    (This)->lpVtbl -> GetTime(This,ptTime)

#define IRsGraphRoot_SetAnimRoot(This,pNode)	\
    (This)->lpVtbl -> SetAnimRoot(This,pNode)

#define IRsGraphRoot_GetAnimRoot(This,ppNode)	\
    (This)->lpVtbl -> GetAnimRoot(This,ppNode)

#define IRsGraphRoot_SetAnimRegion(This,selRegion)	\
    (This)->lpVtbl -> SetAnimRegion(This,selRegion)

#define IRsGraphRoot_GetAnimRegion(This,pSelRegion)	\
    (This)->lpVtbl -> GetAnimRegion(This,pSelRegion)

#define IRsGraphRoot_SetAnimPreferences(This,pAnimPref)	\
    (This)->lpVtbl -> SetAnimPreferences(This,pAnimPref)

#define IRsGraphRoot_GetAnimPreferences(This,ppAnimPref)	\
    (This)->lpVtbl -> GetAnimPreferences(This,ppAnimPref)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_SetTimeInterval_Proxy( 
    IRsGraphRoot * This,
    /* [in] */ RtTime tStartFrame,
    /* [in] */ RtTime tEndFrame);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_GetTimeInterval_Proxy( 
    IRsGraphRoot * This,
    /* [out] */ RtTime *ptStartFrame,
    /* [out] */ RtTime *ptEndFrame);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_SetVisibleInterval_Proxy( 
    IRsGraphRoot * This,
    /* [in] */ RtTime tMinTime,
    /* [in] */ RtTime tMaxTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_GetVisibleInterval_Proxy( 
    IRsGraphRoot * This,
    /* [out] */ RtTime *ptMinTime,
    /* [out] */ RtTime *ptMaxTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_SetTime_Proxy( 
    IRsGraphRoot * This,
    /* [in] */ RtTime tTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_GetTime_Proxy( 
    IRsGraphRoot * This,
    /* [retval][out] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_SetAnimRoot_Proxy( 
    IRsGraphRoot * This,
    /* [in] */ IRsNode *pNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_GetAnimRoot_Proxy( 
    IRsGraphRoot * This,
    /* [retval][out] */ IRsNode **ppNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_SetAnimRegion_Proxy( 
    IRsGraphRoot * This,
    /* [in] */ RtSelAnimRegion selRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_GetAnimRegion_Proxy( 
    IRsGraphRoot * This,
    /* [retval][out] */ RtSelAnimRegion *pSelRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_SetAnimPreferences_Proxy( 
    IRsGraphRoot * This,
    /* [in] */ IRdAnimPref *pAnimPref);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGraphRoot_GetAnimPreferences_Proxy( 
    IRsGraphRoot * This,
    /* [retval][out] */ IRdAnimPref **ppAnimPref);


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



#endif 	/* __IRsGraphRoot_INTERFACE_DEFINED__ */


#ifndef __IRsDsRoot_INTERFACE_DEFINED__
#define __IRsDsRoot_INTERFACE_DEFINED__

/* interface IRsDsRoot */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsRoot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F6DA35FB-2147-44FD-9F1C-7BF1364C7726")
    IRsDsRoot : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindKeyFrameNode( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsRootVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsRoot * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsRoot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsRoot * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindKeyFrameNode )( 
            IRsDsRoot * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        END_INTERFACE
    } IRsDsRootVtbl;

    interface IRsDsRoot
    {
        CONST_VTBL struct IRsDsRootVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsDsRoot_FindKeyFrameNode(This,ppRenderNode)	\
    (This)->lpVtbl -> FindKeyFrameNode(This,ppRenderNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsRoot_FindKeyFrameNode_Proxy( 
    IRsDsRoot * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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



#endif 	/* __IRsDsRoot_INTERFACE_DEFINED__ */


#ifndef __IRsAnimGenView_INTERFACE_DEFINED__
#define __IRsAnimGenView_INTERFACE_DEFINED__

/* interface IRsAnimGenView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimGenView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EA9AD917-7192-4d8b-B508-6D097385241C")
    IRsAnimGenView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderGraph( 
            /* [retval][out] */ IRsAnimRenderGraph **ppAnimGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastPickedObj( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimGenViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimGenView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimGenView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimGenView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderGraph )( 
            IRsAnimGenView * This,
            /* [retval][out] */ IRsAnimRenderGraph **ppAnimGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastPickedObj )( 
            IRsAnimGenView * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        END_INTERFACE
    } IRsAnimGenViewVtbl;

    interface IRsAnimGenView
    {
        CONST_VTBL struct IRsAnimGenViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimGenView_GetRenderGraph(This,ppAnimGraph)	\
    (This)->lpVtbl -> GetRenderGraph(This,ppAnimGraph)

#define IRsAnimGenView_GetLastPickedObj(This,ppRenderNode)	\
    (This)->lpVtbl -> GetLastPickedObj(This,ppRenderNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimGenView_GetRenderGraph_Proxy( 
    IRsAnimGenView * This,
    /* [retval][out] */ IRsAnimRenderGraph **ppAnimGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimGenView_GetLastPickedObj_Proxy( 
    IRsAnimGenView * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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



#endif 	/* __IRsAnimGenView_INTERFACE_DEFINED__ */


#ifndef __IRsGenGdiRender_INTERFACE_DEFINED__
#define __IRsGenGdiRender_INTERFACE_DEFINED__

/* interface IRsGenGdiRender */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsGenGdiRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3490316A-244E-4688-9FCC-BD4BE3ACAC0A")
    IRsGenGdiRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render( 
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginRender( 
            /* [in] */ IRsGenView *pView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishRender( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapPosToTime( 
            /* [in] */ RtUlong xPos,
            /* [in] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickObject( 
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectTool( 
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsGenGdiRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsGenGdiRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsGenGdiRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsGenGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Render )( 
            IRsGenGdiRender * This,
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginRender )( 
            IRsGenGdiRender * This,
            /* [in] */ IRsGenView *pView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishRender )( 
            IRsGenGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapPosToTime )( 
            IRsGenGdiRender * This,
            /* [in] */ RtUlong xPos,
            /* [in] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickObject )( 
            IRsGenGdiRender * This,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectTool )( 
            IRsGenGdiRender * This,
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId);
        
        END_INTERFACE
    } IRsGenGdiRenderVtbl;

    interface IRsGenGdiRender
    {
        CONST_VTBL struct IRsGenGdiRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsGenGdiRender_Render(This,hdcDraw,pRenderGraph)	\
    (This)->lpVtbl -> Render(This,hdcDraw,pRenderGraph)

#define IRsGenGdiRender_BeginRender(This,pView)	\
    (This)->lpVtbl -> BeginRender(This,pView)

#define IRsGenGdiRender_FinishRender(This)	\
    (This)->lpVtbl -> FinishRender(This)

#define IRsGenGdiRender_MapPosToTime(This,xPos,ptTime)	\
    (This)->lpVtbl -> MapPosToTime(This,xPos,ptTime)

#define IRsGenGdiRender_PickObject(This,pRenderGraph,point,ppObject)	\
    (This)->lpVtbl -> PickObject(This,pRenderGraph,point,ppObject)

#define IRsGenGdiRender_SelectTool(This,pObject,point,pToolId)	\
    (This)->lpVtbl -> SelectTool(This,pObject,point,pToolId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenGdiRender_Render_Proxy( 
    IRsGenGdiRender * This,
    /* [in] */ HDC hdcDraw,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenGdiRender_BeginRender_Proxy( 
    IRsGenGdiRender * This,
    /* [in] */ IRsGenView *pView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenGdiRender_FinishRender_Proxy( 
    IRsGenGdiRender * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenGdiRender_MapPosToTime_Proxy( 
    IRsGenGdiRender * This,
    /* [in] */ RtUlong xPos,
    /* [in] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenGdiRender_PickObject_Proxy( 
    IRsGenGdiRender * This,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph,
    /* [in] */ POINT point,
    /* [retval][out] */ IRsAnimRenderNode **ppObject);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsGenGdiRender_SelectTool_Proxy( 
    IRsGenGdiRender * This,
    /* [in] */ IRsAnimRenderNode *pObject,
    /* [in] */ POINT point,
    /* [retval][out] */ IID *pToolId);


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



#endif 	/* __IRsGenGdiRender_INTERFACE_DEFINED__ */


#ifndef __IRsDsGdiRender_INTERFACE_DEFINED__
#define __IRsDsGdiRender_INTERFACE_DEFINED__

/* interface IRsDsGdiRender */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsDsGdiRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CCBE8DBC-94D3-4500-BE23-707DA195F4C6")
    IRsDsGdiRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render( 
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginRender( 
            /* [in] */ IRsGenView *pView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishRender( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapPosToTime( 
            /* [in] */ RtUlong xPos,
            /* [in] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickObject( 
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectTool( 
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsGdiRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsGdiRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsGdiRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Render )( 
            IRsDsGdiRender * This,
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginRender )( 
            IRsDsGdiRender * This,
            /* [in] */ IRsGenView *pView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishRender )( 
            IRsDsGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapPosToTime )( 
            IRsDsGdiRender * This,
            /* [in] */ RtUlong xPos,
            /* [in] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickObject )( 
            IRsDsGdiRender * This,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectTool )( 
            IRsDsGdiRender * This,
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId);
        
        END_INTERFACE
    } IRsDsGdiRenderVtbl;

    interface IRsDsGdiRender
    {
        CONST_VTBL struct IRsDsGdiRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsDsGdiRender_Render(This,hdcDraw,pRenderGraph)	\
    (This)->lpVtbl -> Render(This,hdcDraw,pRenderGraph)

#define IRsDsGdiRender_BeginRender(This,pView)	\
    (This)->lpVtbl -> BeginRender(This,pView)

#define IRsDsGdiRender_FinishRender(This)	\
    (This)->lpVtbl -> FinishRender(This)

#define IRsDsGdiRender_MapPosToTime(This,xPos,ptTime)	\
    (This)->lpVtbl -> MapPosToTime(This,xPos,ptTime)

#define IRsDsGdiRender_PickObject(This,pRenderGraph,point,ppObject)	\
    (This)->lpVtbl -> PickObject(This,pRenderGraph,point,ppObject)

#define IRsDsGdiRender_SelectTool(This,pObject,point,pToolId)	\
    (This)->lpVtbl -> SelectTool(This,pObject,point,pToolId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsGdiRender_Render_Proxy( 
    IRsDsGdiRender * This,
    /* [in] */ HDC hdcDraw,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsGdiRender_BeginRender_Proxy( 
    IRsDsGdiRender * This,
    /* [in] */ IRsGenView *pView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsGdiRender_FinishRender_Proxy( 
    IRsDsGdiRender * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsGdiRender_MapPosToTime_Proxy( 
    IRsDsGdiRender * This,
    /* [in] */ RtUlong xPos,
    /* [in] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsGdiRender_PickObject_Proxy( 
    IRsDsGdiRender * This,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph,
    /* [in] */ POINT point,
    /* [retval][out] */ IRsAnimRenderNode **ppObject);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsGdiRender_SelectTool_Proxy( 
    IRsDsGdiRender * This,
    /* [in] */ IRsAnimRenderNode *pObject,
    /* [in] */ POINT point,
    /* [retval][out] */ IID *pToolId);


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



#endif 	/* __IRsDsGdiRender_INTERFACE_DEFINED__ */


#ifndef __IRsKeyGdiRender_INTERFACE_DEFINED__
#define __IRsKeyGdiRender_INTERFACE_DEFINED__

/* interface IRsKeyGdiRender */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsKeyGdiRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("33B81BF1-842E-4520-87E1-41CA0A9D1B5E")
    IRsKeyGdiRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render( 
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginRender( 
            /* [in] */ IRsGenView *pView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishRender( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickObject( 
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectTool( 
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsKeyGdiRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKeyGdiRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKeyGdiRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKeyGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Render )( 
            IRsKeyGdiRender * This,
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginRender )( 
            IRsKeyGdiRender * This,
            /* [in] */ IRsGenView *pView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishRender )( 
            IRsKeyGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickObject )( 
            IRsKeyGdiRender * This,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectTool )( 
            IRsKeyGdiRender * This,
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId);
        
        END_INTERFACE
    } IRsKeyGdiRenderVtbl;

    interface IRsKeyGdiRender
    {
        CONST_VTBL struct IRsKeyGdiRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsKeyGdiRender_Render(This,hdcDraw,pRenderGraph)	\
    (This)->lpVtbl -> Render(This,hdcDraw,pRenderGraph)

#define IRsKeyGdiRender_BeginRender(This,pView)	\
    (This)->lpVtbl -> BeginRender(This,pView)

#define IRsKeyGdiRender_FinishRender(This)	\
    (This)->lpVtbl -> FinishRender(This)

#define IRsKeyGdiRender_PickObject(This,pRenderGraph,point,ppObject)	\
    (This)->lpVtbl -> PickObject(This,pRenderGraph,point,ppObject)

#define IRsKeyGdiRender_SelectTool(This,pObject,point,pToolId)	\
    (This)->lpVtbl -> SelectTool(This,pObject,point,pToolId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyGdiRender_Render_Proxy( 
    IRsKeyGdiRender * This,
    /* [in] */ HDC hdcDraw,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyGdiRender_BeginRender_Proxy( 
    IRsKeyGdiRender * This,
    /* [in] */ IRsGenView *pView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyGdiRender_FinishRender_Proxy( 
    IRsKeyGdiRender * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyGdiRender_PickObject_Proxy( 
    IRsKeyGdiRender * This,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph,
    /* [in] */ POINT point,
    /* [retval][out] */ IRsAnimRenderNode **ppObject);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyGdiRender_SelectTool_Proxy( 
    IRsKeyGdiRender * This,
    /* [in] */ IRsAnimRenderNode *pObject,
    /* [in] */ POINT point,
    /* [retval][out] */ IID *pToolId);


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



#endif 	/* __IRsKeyGdiRender_INTERFACE_DEFINED__ */


#ifndef __IRsFcGdiRender_INTERFACE_DEFINED__
#define __IRsFcGdiRender_INTERFACE_DEFINED__

/* interface IRsFcGdiRender */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsFcGdiRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AEA51BF3-DB04-4be4-9E9C-251A0E32B2EF")
    IRsFcGdiRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render( 
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginRender( 
            /* [in] */ IRsGenView *pView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishRender( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapPosToTime( 
            /* [in] */ RtUlong xPos,
            /* [in] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickObject( 
            /* [in] */ IRsGenView *pView,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectTool( 
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcGdiRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcGdiRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcGdiRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Render )( 
            IRsFcGdiRender * This,
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginRender )( 
            IRsFcGdiRender * This,
            /* [in] */ IRsGenView *pView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishRender )( 
            IRsFcGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapPosToTime )( 
            IRsFcGdiRender * This,
            /* [in] */ RtUlong xPos,
            /* [in] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickObject )( 
            IRsFcGdiRender * This,
            /* [in] */ IRsGenView *pView,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectTool )( 
            IRsFcGdiRender * This,
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId);
        
        END_INTERFACE
    } IRsFcGdiRenderVtbl;

    interface IRsFcGdiRender
    {
        CONST_VTBL struct IRsFcGdiRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsFcGdiRender_Render(This,hdcDraw,pRenderGraph)	\
    (This)->lpVtbl -> Render(This,hdcDraw,pRenderGraph)

#define IRsFcGdiRender_BeginRender(This,pView)	\
    (This)->lpVtbl -> BeginRender(This,pView)

#define IRsFcGdiRender_FinishRender(This)	\
    (This)->lpVtbl -> FinishRender(This)

#define IRsFcGdiRender_MapPosToTime(This,xPos,ptTime)	\
    (This)->lpVtbl -> MapPosToTime(This,xPos,ptTime)

#define IRsFcGdiRender_PickObject(This,pView,point,ppObject)	\
    (This)->lpVtbl -> PickObject(This,pView,point,ppObject)

#define IRsFcGdiRender_SelectTool(This,pObject,point,pToolId)	\
    (This)->lpVtbl -> SelectTool(This,pObject,point,pToolId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcGdiRender_Render_Proxy( 
    IRsFcGdiRender * This,
    /* [in] */ HDC hdcDraw,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcGdiRender_BeginRender_Proxy( 
    IRsFcGdiRender * This,
    /* [in] */ IRsGenView *pView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcGdiRender_FinishRender_Proxy( 
    IRsFcGdiRender * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcGdiRender_MapPosToTime_Proxy( 
    IRsFcGdiRender * This,
    /* [in] */ RtUlong xPos,
    /* [in] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcGdiRender_PickObject_Proxy( 
    IRsFcGdiRender * This,
    /* [in] */ IRsGenView *pView,
    /* [in] */ POINT point,
    /* [retval][out] */ IRsAnimRenderNode **ppObject);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcGdiRender_SelectTool_Proxy( 
    IRsFcGdiRender * This,
    /* [in] */ IRsAnimRenderNode *pObject,
    /* [in] */ POINT point,
    /* [retval][out] */ IID *pToolId);


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



#endif 	/* __IRsFcGdiRender_INTERFACE_DEFINED__ */


#ifndef __IRsStGdiRender_INTERFACE_DEFINED__
#define __IRsStGdiRender_INTERFACE_DEFINED__

/* interface IRsStGdiRender */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRsStGdiRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("71B75F41-4AF5-47e1-A81F-6163C3738761")
    IRsStGdiRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Render( 
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginRender( 
            /* [in] */ IRsGenView *pView) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishRender( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MapPosToTime( 
            /* [in] */ RtUlong xPos,
            /* [out] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PickObject( 
            /* [in] */ IRsGenView *pView,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectTool( 
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStGdiRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStGdiRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStGdiRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Render )( 
            IRsStGdiRender * This,
            /* [in] */ HDC hdcDraw,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginRender )( 
            IRsStGdiRender * This,
            /* [in] */ IRsGenView *pView);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishRender )( 
            IRsStGdiRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MapPosToTime )( 
            IRsStGdiRender * This,
            /* [in] */ RtUlong xPos,
            /* [out] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PickObject )( 
            IRsStGdiRender * This,
            /* [in] */ IRsGenView *pView,
            /* [in] */ POINT point,
            /* [retval][out] */ IRsAnimRenderNode **ppObject);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectTool )( 
            IRsStGdiRender * This,
            /* [in] */ IRsAnimRenderNode *pObject,
            /* [in] */ POINT point,
            /* [retval][out] */ IID *pToolId);
        
        END_INTERFACE
    } IRsStGdiRenderVtbl;

    interface IRsStGdiRender
    {
        CONST_VTBL struct IRsStGdiRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsStGdiRender_Render(This,hdcDraw,pRenderGraph)	\
    (This)->lpVtbl -> Render(This,hdcDraw,pRenderGraph)

#define IRsStGdiRender_BeginRender(This,pView)	\
    (This)->lpVtbl -> BeginRender(This,pView)

#define IRsStGdiRender_FinishRender(This)	\
    (This)->lpVtbl -> FinishRender(This)

#define IRsStGdiRender_MapPosToTime(This,xPos,ptTime)	\
    (This)->lpVtbl -> MapPosToTime(This,xPos,ptTime)

#define IRsStGdiRender_PickObject(This,pView,point,ppObject)	\
    (This)->lpVtbl -> PickObject(This,pView,point,ppObject)

#define IRsStGdiRender_SelectTool(This,pObject,point,pToolId)	\
    (This)->lpVtbl -> SelectTool(This,pObject,point,pToolId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStGdiRender_Render_Proxy( 
    IRsStGdiRender * This,
    /* [in] */ HDC hdcDraw,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStGdiRender_BeginRender_Proxy( 
    IRsStGdiRender * This,
    /* [in] */ IRsGenView *pView);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStGdiRender_FinishRender_Proxy( 
    IRsStGdiRender * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStGdiRender_MapPosToTime_Proxy( 
    IRsStGdiRender * This,
    /* [in] */ RtUlong xPos,
    /* [out] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStGdiRender_PickObject_Proxy( 
    IRsStGdiRender * This,
    /* [in] */ IRsGenView *pView,
    /* [in] */ POINT point,
    /* [retval][out] */ IRsAnimRenderNode **ppObject);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStGdiRender_SelectTool_Proxy( 
    IRsStGdiRender * This,
    /* [in] */ IRsAnimRenderNode *pObject,
    /* [in] */ POINT point,
    /* [retval][out] */ IID *pToolId);


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



#endif 	/* __IRsStGdiRender_INTERFACE_DEFINED__ */


#ifndef __IRsAnimDataStream_INTERFACE_DEFINED__
#define __IRsAnimDataStream_INTERFACE_DEFINED__

/* interface IRsAnimDataStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimDataStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("40EBBBE2-8986-44A7-81F2-C7490D6B5E1D")
    IRsAnimDataStream : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ RtTime tTime,
            /* [retval][out] */ RtFloat *pfValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertKey( 
            /* [in] */ RtTime tTime,
            /* [in] */ RtFloat fValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveKey( 
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveKeyRegion( 
            /* [in] */ RtAnimRegion animRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveByStream( 
            /* [in] */ IRsAnimDataStream *pAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Merge( 
            /* [in] */ IRsAnimDataStream *pAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TimeValueOffset( 
            /* [in] */ RtTime tOffsetTime,
            /* [in] */ RtTime fOffsetValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKfProperty( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtKfProperty *pKfProp) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKfProperty( 
            /* [in] */ RtTime tTime,
            /* [in] */ RtKfProperty *pNewProp) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HasKfProperty( 
            /* [out] */ RtBool *pVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyKfFrom( 
            /* [in] */ RtTime tTime,
            /* [in] */ IRsAnimDataStream *pDestStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NextKey( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *nextKeyTime,
            /* [out] */ RtFloat *pfValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PrevKey( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *prevKeyTime,
            /* [out] */ RtFloat *pfValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FirstKey( 
            /* [out] */ RtTime *tTime,
            /* [out] */ RtFloat *pfValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LastKey( 
            /* [out] */ RtTime *tTime,
            /* [out] */ RtFloat *pfValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE KeysCount( 
            /* [retval][out] */ RtUlong *pulCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Interpolate( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtFloat *pfValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttrId( 
            /* [retval][out] */ BSTR *pbszAttrId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ BSTR bszAttrId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMinRegion( 
            /* [out] */ RtAnimRegion *pRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetColor( 
            /* [out] */ COLORREF *pColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor( 
            /* [in] */ COLORREF newColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResizeTime( 
            /* [in] */ RtTime fOrigin,
            /* [in] */ RtFloat fKoef,
            /* [in] */ RtTime fNewOrigin) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResizeStartValue( 
            /* [in] */ RtFloat fOrigin,
            /* [in] */ RtFloat fKoef,
            /* [in] */ RtFloat fNewOrigin) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetProcFn( 
            /* [retval][out] */ BSTR *pbszFnId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetProcFn( 
            /* [in] */ BSTR bszFnId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimDataStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimDataStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimDataStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimDataStream * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsAnimDataStream * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsAnimDataStream * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [retval][out] */ RtFloat *pfValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertKey )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [in] */ RtFloat fValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveKey )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveKeyRegion )( 
            IRsAnimDataStream * This,
            /* [in] */ RtAnimRegion animRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveByStream )( 
            IRsAnimDataStream * This,
            /* [in] */ IRsAnimDataStream *pAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IRsAnimDataStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Merge )( 
            IRsAnimDataStream * This,
            /* [in] */ IRsAnimDataStream *pAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *TimeValueOffset )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tOffsetTime,
            /* [in] */ RtTime fOffsetValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKfProperty )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtKfProperty *pKfProp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKfProperty )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [in] */ RtKfProperty *pNewProp);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HasKfProperty )( 
            IRsAnimDataStream * This,
            /* [out] */ RtBool *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CopyKfFrom )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [in] */ IRsAnimDataStream *pDestStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NextKey )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *nextKeyTime,
            /* [out] */ RtFloat *pfValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PrevKey )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *prevKeyTime,
            /* [out] */ RtFloat *pfValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FirstKey )( 
            IRsAnimDataStream * This,
            /* [out] */ RtTime *tTime,
            /* [out] */ RtFloat *pfValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LastKey )( 
            IRsAnimDataStream * This,
            /* [out] */ RtTime *tTime,
            /* [out] */ RtFloat *pfValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *KeysCount )( 
            IRsAnimDataStream * This,
            /* [retval][out] */ RtUlong *pulCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Interpolate )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtFloat *pfValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttrId )( 
            IRsAnimDataStream * This,
            /* [retval][out] */ BSTR *pbszAttrId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsAnimDataStream * This,
            /* [in] */ BSTR bszAttrId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMinRegion )( 
            IRsAnimDataStream * This,
            /* [out] */ RtAnimRegion *pRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetColor )( 
            IRsAnimDataStream * This,
            /* [out] */ COLORREF *pColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColor )( 
            IRsAnimDataStream * This,
            /* [in] */ COLORREF newColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResizeTime )( 
            IRsAnimDataStream * This,
            /* [in] */ RtTime fOrigin,
            /* [in] */ RtFloat fKoef,
            /* [in] */ RtTime fNewOrigin);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResizeStartValue )( 
            IRsAnimDataStream * This,
            /* [in] */ RtFloat fOrigin,
            /* [in] */ RtFloat fKoef,
            /* [in] */ RtFloat fNewOrigin);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetProcFn )( 
            IRsAnimDataStream * This,
            /* [retval][out] */ BSTR *pbszFnId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetProcFn )( 
            IRsAnimDataStream * This,
            /* [in] */ BSTR bszFnId);
        
        END_INTERFACE
    } IRsAnimDataStreamVtbl;

    interface IRsAnimDataStream
    {
        CONST_VTBL struct IRsAnimDataStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimDataStream_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsAnimDataStream_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsAnimDataStream_GetAt(This,tTime,pfValue)	\
    (This)->lpVtbl -> GetAt(This,tTime,pfValue)

#define IRsAnimDataStream_InsertKey(This,tTime,fValue)	\
    (This)->lpVtbl -> InsertKey(This,tTime,fValue)

#define IRsAnimDataStream_RemoveKey(This,tTime)	\
    (This)->lpVtbl -> RemoveKey(This,tTime)

#define IRsAnimDataStream_RemoveKeyRegion(This,animRegion)	\
    (This)->lpVtbl -> RemoveKeyRegion(This,animRegion)

#define IRsAnimDataStream_RemoveByStream(This,pAnimDataStream)	\
    (This)->lpVtbl -> RemoveByStream(This,pAnimDataStream)

#define IRsAnimDataStream_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IRsAnimDataStream_Merge(This,pAnimDataStream)	\
    (This)->lpVtbl -> Merge(This,pAnimDataStream)

#define IRsAnimDataStream_TimeValueOffset(This,tOffsetTime,fOffsetValue)	\
    (This)->lpVtbl -> TimeValueOffset(This,tOffsetTime,fOffsetValue)

#define IRsAnimDataStream_GetKfProperty(This,tTime,pKfProp)	\
    (This)->lpVtbl -> GetKfProperty(This,tTime,pKfProp)

#define IRsAnimDataStream_SetKfProperty(This,tTime,pNewProp)	\
    (This)->lpVtbl -> SetKfProperty(This,tTime,pNewProp)

#define IRsAnimDataStream_HasKfProperty(This,pVal)	\
    (This)->lpVtbl -> HasKfProperty(This,pVal)

#define IRsAnimDataStream_CopyKfFrom(This,tTime,pDestStream)	\
    (This)->lpVtbl -> CopyKfFrom(This,tTime,pDestStream)

#define IRsAnimDataStream_NextKey(This,tTime,nextKeyTime,pfValue)	\
    (This)->lpVtbl -> NextKey(This,tTime,nextKeyTime,pfValue)

#define IRsAnimDataStream_PrevKey(This,tTime,prevKeyTime,pfValue)	\
    (This)->lpVtbl -> PrevKey(This,tTime,prevKeyTime,pfValue)

#define IRsAnimDataStream_FirstKey(This,tTime,pfValue)	\
    (This)->lpVtbl -> FirstKey(This,tTime,pfValue)

#define IRsAnimDataStream_LastKey(This,tTime,pfValue)	\
    (This)->lpVtbl -> LastKey(This,tTime,pfValue)

#define IRsAnimDataStream_KeysCount(This,pulCount)	\
    (This)->lpVtbl -> KeysCount(This,pulCount)

#define IRsAnimDataStream_Interpolate(This,tTime,pfValue)	\
    (This)->lpVtbl -> Interpolate(This,tTime,pfValue)

#define IRsAnimDataStream_GetAttrId(This,pbszAttrId)	\
    (This)->lpVtbl -> GetAttrId(This,pbszAttrId)

#define IRsAnimDataStream_Initialize(This,bszAttrId)	\
    (This)->lpVtbl -> Initialize(This,bszAttrId)

#define IRsAnimDataStream_GetMinRegion(This,pRegion)	\
    (This)->lpVtbl -> GetMinRegion(This,pRegion)

#define IRsAnimDataStream_GetColor(This,pColor)	\
    (This)->lpVtbl -> GetColor(This,pColor)

#define IRsAnimDataStream_SetColor(This,newColor)	\
    (This)->lpVtbl -> SetColor(This,newColor)

#define IRsAnimDataStream_ResizeTime(This,fOrigin,fKoef,fNewOrigin)	\
    (This)->lpVtbl -> ResizeTime(This,fOrigin,fKoef,fNewOrigin)

#define IRsAnimDataStream_ResizeStartValue(This,fOrigin,fKoef,fNewOrigin)	\
    (This)->lpVtbl -> ResizeStartValue(This,fOrigin,fKoef,fNewOrigin)

#define IRsAnimDataStream_GetProcFn(This,pbszFnId)	\
    (This)->lpVtbl -> GetProcFn(This,pbszFnId)

#define IRsAnimDataStream_SetProcFn(This,bszFnId)	\
    (This)->lpVtbl -> SetProcFn(This,bszFnId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_GetAt_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [retval][out] */ RtFloat *pfValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_InsertKey_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [in] */ RtFloat fValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_RemoveKey_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_RemoveKeyRegion_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtAnimRegion animRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_RemoveByStream_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ IRsAnimDataStream *pAnimDataStream);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_RemoveAll_Proxy( 
    IRsAnimDataStream * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_Merge_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ IRsAnimDataStream *pAnimDataStream);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_TimeValueOffset_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tOffsetTime,
    /* [in] */ RtTime fOffsetValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_GetKfProperty_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtKfProperty *pKfProp);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_SetKfProperty_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [in] */ RtKfProperty *pNewProp);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_HasKfProperty_Proxy( 
    IRsAnimDataStream * This,
    /* [out] */ RtBool *pVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_CopyKfFrom_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [in] */ IRsAnimDataStream *pDestStream);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_NextKey_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtTime *nextKeyTime,
    /* [out] */ RtFloat *pfValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_PrevKey_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtTime *prevKeyTime,
    /* [out] */ RtFloat *pfValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_FirstKey_Proxy( 
    IRsAnimDataStream * This,
    /* [out] */ RtTime *tTime,
    /* [out] */ RtFloat *pfValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_LastKey_Proxy( 
    IRsAnimDataStream * This,
    /* [out] */ RtTime *tTime,
    /* [out] */ RtFloat *pfValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_KeysCount_Proxy( 
    IRsAnimDataStream * This,
    /* [retval][out] */ RtUlong *pulCount);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_Interpolate_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtFloat *pfValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_GetAttrId_Proxy( 
    IRsAnimDataStream * This,
    /* [retval][out] */ BSTR *pbszAttrId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_Initialize_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ BSTR bszAttrId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_GetMinRegion_Proxy( 
    IRsAnimDataStream * This,
    /* [out] */ RtAnimRegion *pRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_GetColor_Proxy( 
    IRsAnimDataStream * This,
    /* [out] */ COLORREF *pColor);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_SetColor_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ COLORREF newColor);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_ResizeTime_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtTime fOrigin,
    /* [in] */ RtFloat fKoef,
    /* [in] */ RtTime fNewOrigin);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_ResizeStartValue_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ RtFloat fOrigin,
    /* [in] */ RtFloat fKoef,
    /* [in] */ RtFloat fNewOrigin);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_GetProcFn_Proxy( 
    IRsAnimDataStream * This,
    /* [retval][out] */ BSTR *pbszFnId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataStream_SetProcFn_Proxy( 
    IRsAnimDataStream * This,
    /* [in] */ BSTR bszFnId);


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



#endif 	/* __IRsAnimDataStream_INTERFACE_DEFINED__ */


#ifndef __IRsEnumAnimDataStream_INTERFACE_DEFINED__
#define __IRsEnumAnimDataStream_INTERFACE_DEFINED__

/* interface IRsEnumAnimDataStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumAnimDataStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2BED741F-31BE-4419-8EED-BD1F154D45B6")
    IRsEnumAnimDataStream : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsAnimDataStream **ppArrayAttr,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNumCmds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumAnimDataStream **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumAnimDataStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumAnimDataStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumAnimDataStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumAnimDataStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumAnimDataStream * This,
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsAnimDataStream **ppArrayAttr,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumAnimDataStream * This,
            /* [in] */ ULONG cNumCmds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumAnimDataStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumAnimDataStream * This,
            /* [out] */ IRsEnumAnimDataStream **ppEnum);
        
        END_INTERFACE
    } IRsEnumAnimDataStreamVtbl;

    interface IRsEnumAnimDataStream
    {
        CONST_VTBL struct IRsEnumAnimDataStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsEnumAnimDataStream_Next(This,cNumCmds,ppArrayAttr,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNumCmds,ppArrayAttr,pcFetched)

#define IRsEnumAnimDataStream_Skip(This,cNumCmds)	\
    (This)->lpVtbl -> Skip(This,cNumCmds)

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

#define IRsEnumAnimDataStream_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimDataStream_Next_Proxy( 
    IRsEnumAnimDataStream * This,
    /* [in] */ ULONG cNumCmds,
    /* [out] */ IRsAnimDataStream **ppArrayAttr,
    /* [out] */ ULONG *pcFetched);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimDataStream_Skip_Proxy( 
    IRsEnumAnimDataStream * This,
    /* [in] */ ULONG cNumCmds);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimDataStream_Reset_Proxy( 
    IRsEnumAnimDataStream * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimDataStream_Clone_Proxy( 
    IRsEnumAnimDataStream * This,
    /* [out] */ IRsEnumAnimDataStream **ppEnum);


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



#endif 	/* __IRsEnumAnimDataStream_INTERFACE_DEFINED__ */


#ifndef __IRsAnimDataBlock_INTERFACE_DEFINED__
#define __IRsAnimDataBlock_INTERFACE_DEFINED__

/* interface IRsAnimDataBlock */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimDataBlock;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6D68283F-B11B-4FC7-8722-794A7ADBAE58")
    IRsAnimDataBlock : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddDataStream( 
            /* [in] */ BSTR bszId,
            /* [out] */ IRsAnimDataStream **ppStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveDataStream( 
            /* [in] */ BSTR bszId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataStream( 
            /* [in] */ BSTR bszId,
            /* [retval][out] */ IRsAnimDataStream **ppDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumerateDataStreams( 
            /* [retval][out] */ IRsEnumAnimDataStream **ppEnum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DataStreamCount( 
            /* [retval][out] */ RtUlong *pulCount) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimDataBlockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimDataBlock * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimDataBlock * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimDataBlock * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsAnimDataBlock * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsAnimDataBlock * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddDataStream )( 
            IRsAnimDataBlock * This,
            /* [in] */ BSTR bszId,
            /* [out] */ IRsAnimDataStream **ppStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveDataStream )( 
            IRsAnimDataBlock * This,
            /* [in] */ BSTR bszId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataStream )( 
            IRsAnimDataBlock * This,
            /* [in] */ BSTR bszId,
            /* [retval][out] */ IRsAnimDataStream **ppDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumerateDataStreams )( 
            IRsAnimDataBlock * This,
            /* [retval][out] */ IRsEnumAnimDataStream **ppEnum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DataStreamCount )( 
            IRsAnimDataBlock * This,
            /* [retval][out] */ RtUlong *pulCount);
        
        END_INTERFACE
    } IRsAnimDataBlockVtbl;

    interface IRsAnimDataBlock
    {
        CONST_VTBL struct IRsAnimDataBlockVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimDataBlock_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsAnimDataBlock_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsAnimDataBlock_AddDataStream(This,bszId,ppStream)	\
    (This)->lpVtbl -> AddDataStream(This,bszId,ppStream)

#define IRsAnimDataBlock_RemoveDataStream(This,bszId)	\
    (This)->lpVtbl -> RemoveDataStream(This,bszId)

#define IRsAnimDataBlock_GetDataStream(This,bszId,ppDataStream)	\
    (This)->lpVtbl -> GetDataStream(This,bszId,ppDataStream)

#define IRsAnimDataBlock_EnumerateDataStreams(This,ppEnum)	\
    (This)->lpVtbl -> EnumerateDataStreams(This,ppEnum)

#define IRsAnimDataBlock_DataStreamCount(This,pulCount)	\
    (This)->lpVtbl -> DataStreamCount(This,pulCount)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataBlock_AddDataStream_Proxy( 
    IRsAnimDataBlock * This,
    /* [in] */ BSTR bszId,
    /* [out] */ IRsAnimDataStream **ppStream);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataBlock_RemoveDataStream_Proxy( 
    IRsAnimDataBlock * This,
    /* [in] */ BSTR bszId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataBlock_GetDataStream_Proxy( 
    IRsAnimDataBlock * This,
    /* [in] */ BSTR bszId,
    /* [retval][out] */ IRsAnimDataStream **ppDataStream);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataBlock_EnumerateDataStreams_Proxy( 
    IRsAnimDataBlock * This,
    /* [retval][out] */ IRsEnumAnimDataStream **ppEnum);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimDataBlock_DataStreamCount_Proxy( 
    IRsAnimDataBlock * This,
    /* [retval][out] */ RtUlong *pulCount);


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



#endif 	/* __IRsAnimDataBlock_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Anim_1749 */
/* [local] */ 

typedef 
enum tagRtTrackBlendMode
    {	ANIM_BLEND_OVERRIDE	= 0,
	ANIM_BLEND_ADDITIVE	= 1
    } 	RtTrackBlendMode;



extern RPC_IF_HANDLE __MIDL_itf__Anim_1749_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_1749_v0_0_s_ifspec;

#ifndef __IRsDataInterpolator_INTERFACE_DEFINED__
#define __IRsDataInterpolator_INTERFACE_DEFINED__

/* interface IRsDataInterpolator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDataInterpolator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8582860A-05B1-4c89-90C8-CC1FBCF2D0A2")
    IRsDataInterpolator : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Interpolate( 
            /* [in] */ RtTrackBlendMode blendMode,
            /* [in] */ RtFloat fWeight,
            /* [in] */ const VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InterpolateInverse( 
            /* [in] */ RtTrackBlendMode blendMode,
            /* [in] */ RtFloat fWeight,
            /* [in] */ const VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimValue( 
            /* [out] */ VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsDataInterpolator **ppInterpolator) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnGetValueAt( 
            /* [in] */ IRsAnimDataBlock *pDataCache,
            /* [in] */ RtTime tTime,
            /* [retval][out] */ VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnPutValueAt( 
            /* [in] */ IRsAnimDataBlock *pDataCache,
            /* [in] */ RtTime tTime,
            /* [in] */ const VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnCreateRecord( 
            /* [in] */ IRsAnimDataBlock *pDataCache) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnDestroyRecord( 
            /* [in] */ IRsAnimDataBlock *pDataCache) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsDependend( 
            /* [retval][out] */ RtBool *pDepend) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDependRecord( 
            /* [retval][out] */ BSTR *pbszRecordId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDependRecord( 
            /* [in] */ BSTR bszRecordId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDependValue( 
            /* [in] */ const VARIANT *pData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDataInterpolatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDataInterpolator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDataInterpolator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDataInterpolator * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Interpolate )( 
            IRsDataInterpolator * This,
            /* [in] */ RtTrackBlendMode blendMode,
            /* [in] */ RtFloat fWeight,
            /* [in] */ const VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InterpolateInverse )( 
            IRsDataInterpolator * This,
            /* [in] */ RtTrackBlendMode blendMode,
            /* [in] */ RtFloat fWeight,
            /* [in] */ const VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimValue )( 
            IRsDataInterpolator * This,
            /* [out] */ VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsDataInterpolator * This,
            /* [out] */ IRsDataInterpolator **ppInterpolator);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnGetValueAt )( 
            IRsDataInterpolator * This,
            /* [in] */ IRsAnimDataBlock *pDataCache,
            /* [in] */ RtTime tTime,
            /* [retval][out] */ VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnPutValueAt )( 
            IRsDataInterpolator * This,
            /* [in] */ IRsAnimDataBlock *pDataCache,
            /* [in] */ RtTime tTime,
            /* [in] */ const VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnCreateRecord )( 
            IRsDataInterpolator * This,
            /* [in] */ IRsAnimDataBlock *pDataCache);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnDestroyRecord )( 
            IRsDataInterpolator * This,
            /* [in] */ IRsAnimDataBlock *pDataCache);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDependend )( 
            IRsDataInterpolator * This,
            /* [retval][out] */ RtBool *pDepend);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDependRecord )( 
            IRsDataInterpolator * This,
            /* [retval][out] */ BSTR *pbszRecordId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDependRecord )( 
            IRsDataInterpolator * This,
            /* [in] */ BSTR bszRecordId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDependValue )( 
            IRsDataInterpolator * This,
            /* [in] */ const VARIANT *pData);
        
        END_INTERFACE
    } IRsDataInterpolatorVtbl;

    interface IRsDataInterpolator
    {
        CONST_VTBL struct IRsDataInterpolatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsDataInterpolator_Interpolate(This,blendMode,fWeight,pValue)	\
    (This)->lpVtbl -> Interpolate(This,blendMode,fWeight,pValue)

#define IRsDataInterpolator_InterpolateInverse(This,blendMode,fWeight,pValue)	\
    (This)->lpVtbl -> InterpolateInverse(This,blendMode,fWeight,pValue)

#define IRsDataInterpolator_GetAnimValue(This,pValue)	\
    (This)->lpVtbl -> GetAnimValue(This,pValue)

#define IRsDataInterpolator_Clone(This,ppInterpolator)	\
    (This)->lpVtbl -> Clone(This,ppInterpolator)

#define IRsDataInterpolator_OnGetValueAt(This,pDataCache,tTime,pValue)	\
    (This)->lpVtbl -> OnGetValueAt(This,pDataCache,tTime,pValue)

#define IRsDataInterpolator_OnPutValueAt(This,pDataCache,tTime,pValue)	\
    (This)->lpVtbl -> OnPutValueAt(This,pDataCache,tTime,pValue)

#define IRsDataInterpolator_OnCreateRecord(This,pDataCache)	\
    (This)->lpVtbl -> OnCreateRecord(This,pDataCache)

#define IRsDataInterpolator_OnDestroyRecord(This,pDataCache)	\
    (This)->lpVtbl -> OnDestroyRecord(This,pDataCache)

#define IRsDataInterpolator_IsDependend(This,pDepend)	\
    (This)->lpVtbl -> IsDependend(This,pDepend)

#define IRsDataInterpolator_GetDependRecord(This,pbszRecordId)	\
    (This)->lpVtbl -> GetDependRecord(This,pbszRecordId)

#define IRsDataInterpolator_SetDependRecord(This,bszRecordId)	\
    (This)->lpVtbl -> SetDependRecord(This,bszRecordId)

#define IRsDataInterpolator_SetDependValue(This,pData)	\
    (This)->lpVtbl -> SetDependValue(This,pData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_Interpolate_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ RtTrackBlendMode blendMode,
    /* [in] */ RtFloat fWeight,
    /* [in] */ const VARIANT *pValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_InterpolateInverse_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ RtTrackBlendMode blendMode,
    /* [in] */ RtFloat fWeight,
    /* [in] */ const VARIANT *pValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_GetAnimValue_Proxy( 
    IRsDataInterpolator * This,
    /* [out] */ VARIANT *pValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_Clone_Proxy( 
    IRsDataInterpolator * This,
    /* [out] */ IRsDataInterpolator **ppInterpolator);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_OnGetValueAt_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ IRsAnimDataBlock *pDataCache,
    /* [in] */ RtTime tTime,
    /* [retval][out] */ VARIANT *pValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_OnPutValueAt_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ IRsAnimDataBlock *pDataCache,
    /* [in] */ RtTime tTime,
    /* [in] */ const VARIANT *pValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_OnCreateRecord_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ IRsAnimDataBlock *pDataCache);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_OnDestroyRecord_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ IRsAnimDataBlock *pDataCache);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_IsDependend_Proxy( 
    IRsDataInterpolator * This,
    /* [retval][out] */ RtBool *pDepend);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_GetDependRecord_Proxy( 
    IRsDataInterpolator * This,
    /* [retval][out] */ BSTR *pbszRecordId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_SetDependRecord_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ BSTR bszRecordId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDataInterpolator_SetDependValue_Proxy( 
    IRsDataInterpolator * This,
    /* [in] */ const VARIANT *pData);


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



#endif 	/* __IRsDataInterpolator_INTERFACE_DEFINED__ */


#ifndef __IRsAnimAttrRecord_INTERFACE_DEFINED__
#define __IRsAnimAttrRecord_INTERFACE_DEFINED__

/* interface IRsAnimAttrRecord */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimAttrRecord;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AD03943B-B91D-4C4C-A16B-440984774D63")
    IRsAnimAttrRecord : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetValueAt( 
            /* [in] */ RtTime tTime,
            /* [retval][out] */ VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutValueAt( 
            /* [in] */ RtTime tTime,
            /* [in] */ const VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStartEnd( 
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMinRegion( 
            /* [out] */ RtAnimRegion *pRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPrevKfTime( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptPrevKf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNextKfTime( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptNextKf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [in] */ RtBool *pbIsEmpty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttrId( 
            /* [retval][out] */ BSTR *pbszAttrId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInterpolator( 
            /* [retval][out] */ IRsDataInterpolator **ppInterpolator) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ BSTR bszAttrId,
            /* [in] */ IRsDataInterpolator *pInterpolator) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumerateAnimDataStreams( 
            /* [retval][out] */ IRsEnumAnimDataStream **ppEnum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DataStreamCount( 
            /* [retval][out] */ RtUlong *pulCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDelegate( 
            /* [out] */ IRsAnimAttrRecord **ppNewObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResolveObjectId( 
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [retval][out] */ IRsConnector **pAnimAttrObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimAttrRecordVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimAttrRecord * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimAttrRecord * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimAttrRecord * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsAnimAttrRecord * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsAnimAttrRecord * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetValueAt )( 
            IRsAnimAttrRecord * This,
            /* [in] */ RtTime tTime,
            /* [retval][out] */ VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutValueAt )( 
            IRsAnimAttrRecord * This,
            /* [in] */ RtTime tTime,
            /* [in] */ const VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStartEnd )( 
            IRsAnimAttrRecord * This,
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMinRegion )( 
            IRsAnimAttrRecord * This,
            /* [out] */ RtAnimRegion *pRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPrevKfTime )( 
            IRsAnimAttrRecord * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptPrevKf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNextKfTime )( 
            IRsAnimAttrRecord * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptNextKf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            IRsAnimAttrRecord * This,
            /* [in] */ RtBool *pbIsEmpty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttrId )( 
            IRsAnimAttrRecord * This,
            /* [retval][out] */ BSTR *pbszAttrId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInterpolator )( 
            IRsAnimAttrRecord * This,
            /* [retval][out] */ IRsDataInterpolator **ppInterpolator);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRsAnimAttrRecord * This,
            /* [in] */ BSTR bszAttrId,
            /* [in] */ IRsDataInterpolator *pInterpolator);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumerateAnimDataStreams )( 
            IRsAnimAttrRecord * This,
            /* [retval][out] */ IRsEnumAnimDataStream **ppEnum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DataStreamCount )( 
            IRsAnimAttrRecord * This,
            /* [retval][out] */ RtUlong *pulCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDelegate )( 
            IRsAnimAttrRecord * This,
            /* [out] */ IRsAnimAttrRecord **ppNewObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResolveObjectId )( 
            IRsAnimAttrRecord * This,
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [retval][out] */ IRsConnector **pAnimAttrObj);
        
        END_INTERFACE
    } IRsAnimAttrRecordVtbl;

    interface IRsAnimAttrRecord
    {
        CONST_VTBL struct IRsAnimAttrRecordVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimAttrRecord_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsAnimAttrRecord_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsAnimAttrRecord_GetValueAt(This,tTime,pValue)	\
    (This)->lpVtbl -> GetValueAt(This,tTime,pValue)

#define IRsAnimAttrRecord_PutValueAt(This,tTime,pValue)	\
    (This)->lpVtbl -> PutValueAt(This,tTime,pValue)

#define IRsAnimAttrRecord_GetStartEnd(This,ptMinTime,ptMaxTime)	\
    (This)->lpVtbl -> GetStartEnd(This,ptMinTime,ptMaxTime)

#define IRsAnimAttrRecord_GetMinRegion(This,pRegion)	\
    (This)->lpVtbl -> GetMinRegion(This,pRegion)

#define IRsAnimAttrRecord_GetPrevKfTime(This,tTime,ptPrevKf)	\
    (This)->lpVtbl -> GetPrevKfTime(This,tTime,ptPrevKf)

#define IRsAnimAttrRecord_GetNextKfTime(This,tTime,ptNextKf)	\
    (This)->lpVtbl -> GetNextKfTime(This,tTime,ptNextKf)

#define IRsAnimAttrRecord_IsEmpty(This,pbIsEmpty)	\
    (This)->lpVtbl -> IsEmpty(This,pbIsEmpty)

#define IRsAnimAttrRecord_GetAttrId(This,pbszAttrId)	\
    (This)->lpVtbl -> GetAttrId(This,pbszAttrId)

#define IRsAnimAttrRecord_GetInterpolator(This,ppInterpolator)	\
    (This)->lpVtbl -> GetInterpolator(This,ppInterpolator)

#define IRsAnimAttrRecord_Initialize(This,bszAttrId,pInterpolator)	\
    (This)->lpVtbl -> Initialize(This,bszAttrId,pInterpolator)

#define IRsAnimAttrRecord_EnumerateAnimDataStreams(This,ppEnum)	\
    (This)->lpVtbl -> EnumerateAnimDataStreams(This,ppEnum)

#define IRsAnimAttrRecord_DataStreamCount(This,pulCount)	\
    (This)->lpVtbl -> DataStreamCount(This,pulCount)

#define IRsAnimAttrRecord_CreateDelegate(This,ppNewObj)	\
    (This)->lpVtbl -> CreateDelegate(This,ppNewObj)

#define IRsAnimAttrRecord_ResolveObjectId(This,pAnimSpaceRoot,pAnimAttrObj)	\
    (This)->lpVtbl -> ResolveObjectId(This,pAnimSpaceRoot,pAnimAttrObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_GetValueAt_Proxy( 
    IRsAnimAttrRecord * This,
    /* [in] */ RtTime tTime,
    /* [retval][out] */ VARIANT *pValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_PutValueAt_Proxy( 
    IRsAnimAttrRecord * This,
    /* [in] */ RtTime tTime,
    /* [in] */ const VARIANT *pValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_GetStartEnd_Proxy( 
    IRsAnimAttrRecord * This,
    /* [out] */ RtTime *ptMinTime,
    /* [out] */ RtTime *ptMaxTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_GetMinRegion_Proxy( 
    IRsAnimAttrRecord * This,
    /* [out] */ RtAnimRegion *pRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_GetPrevKfTime_Proxy( 
    IRsAnimAttrRecord * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtTime *ptPrevKf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_GetNextKfTime_Proxy( 
    IRsAnimAttrRecord * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtTime *ptNextKf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_IsEmpty_Proxy( 
    IRsAnimAttrRecord * This,
    /* [in] */ RtBool *pbIsEmpty);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_GetAttrId_Proxy( 
    IRsAnimAttrRecord * This,
    /* [retval][out] */ BSTR *pbszAttrId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_GetInterpolator_Proxy( 
    IRsAnimAttrRecord * This,
    /* [retval][out] */ IRsDataInterpolator **ppInterpolator);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_Initialize_Proxy( 
    IRsAnimAttrRecord * This,
    /* [in] */ BSTR bszAttrId,
    /* [in] */ IRsDataInterpolator *pInterpolator);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_EnumerateAnimDataStreams_Proxy( 
    IRsAnimAttrRecord * This,
    /* [retval][out] */ IRsEnumAnimDataStream **ppEnum);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_DataStreamCount_Proxy( 
    IRsAnimAttrRecord * This,
    /* [retval][out] */ RtUlong *pulCount);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_CreateDelegate_Proxy( 
    IRsAnimAttrRecord * This,
    /* [out] */ IRsAnimAttrRecord **ppNewObj);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimAttrRecord_ResolveObjectId_Proxy( 
    IRsAnimAttrRecord * This,
    /* [in] */ IRsNode *pAnimSpaceRoot,
    /* [retval][out] */ IRsConnector **pAnimAttrObj);


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



#endif 	/* __IRsAnimAttrRecord_INTERFACE_DEFINED__ */


#ifndef __IRsEnumAttrRec_INTERFACE_DEFINED__
#define __IRsEnumAttrRec_INTERFACE_DEFINED__

/* interface IRsEnumAttrRec */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumAttrRec;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("796A4294-AFD4-46c3-B4F4-D7C14BFC0A50")
    IRsEnumAttrRec : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsAnimAttrRecord **ppArrayAttr,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNumCmds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumAttrRec **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumAttrRecVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumAttrRec * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumAttrRec * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumAttrRec * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumAttrRec * This,
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsAnimAttrRecord **ppArrayAttr,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumAttrRec * This,
            /* [in] */ ULONG cNumCmds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumAttrRec * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumAttrRec * This,
            /* [out] */ IRsEnumAttrRec **ppEnum);
        
        END_INTERFACE
    } IRsEnumAttrRecVtbl;

    interface IRsEnumAttrRec
    {
        CONST_VTBL struct IRsEnumAttrRecVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsEnumAttrRec_Next(This,cNumCmds,ppArrayAttr,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNumCmds,ppArrayAttr,pcFetched)

#define IRsEnumAttrRec_Skip(This,cNumCmds)	\
    (This)->lpVtbl -> Skip(This,cNumCmds)

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

#define IRsEnumAttrRec_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAttrRec_Next_Proxy( 
    IRsEnumAttrRec * This,
    /* [in] */ ULONG cNumCmds,
    /* [out] */ IRsAnimAttrRecord **ppArrayAttr,
    /* [out] */ ULONG *pcFetched);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAttrRec_Skip_Proxy( 
    IRsEnumAttrRec * This,
    /* [in] */ ULONG cNumCmds);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAttrRec_Reset_Proxy( 
    IRsEnumAttrRec * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAttrRec_Clone_Proxy( 
    IRsEnumAttrRec * This,
    /* [out] */ IRsEnumAttrRec **ppEnum);


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



#endif 	/* __IRsEnumAttrRec_INTERFACE_DEFINED__ */


#ifndef __IRsTrackItem_INTERFACE_DEFINED__
#define __IRsTrackItem_INTERFACE_DEFINED__

/* interface IRsTrackItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsTrackItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1DA626EE-E636-44DB-A6FB-AA1EA5D48C7C")
    IRsTrackItem : public IRsObject
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ const BSTR newVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Disable( 
            /* [in] */ RtBool bDisable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsDisabled( 
            /* [out] */ RtBool *pbIsDisabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Editable( 
            /* [in] */ RtBool bEditable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEditable( 
            /* [out] */ RtBool *bIsEditable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBlendMode( 
            /* [in] */ RtTrackBlendMode eElendMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetBlendMode( 
            /* [out] */ RtTrackBlendMode *peElendMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPassThroughMode( 
            /* [in] */ RtBool bPassThroughStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPassThroughMode( 
            /* [out] */ RtBool *pbPassThroughStatus) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Weight( 
            /* [retval][out] */ RtFloat *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Weight( 
            /* [in] */ RtFloat newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsTrackItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsTrackItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsTrackItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsTrackItem * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsTrackItem * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsTrackItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IRsTrackItem * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IRsTrackItem * This,
            /* [in] */ const BSTR newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Disable )( 
            IRsTrackItem * This,
            /* [in] */ RtBool bDisable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDisabled )( 
            IRsTrackItem * This,
            /* [out] */ RtBool *pbIsDisabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Editable )( 
            IRsTrackItem * This,
            /* [in] */ RtBool bEditable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEditable )( 
            IRsTrackItem * This,
            /* [out] */ RtBool *bIsEditable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBlendMode )( 
            IRsTrackItem * This,
            /* [in] */ RtTrackBlendMode eElendMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetBlendMode )( 
            IRsTrackItem * This,
            /* [out] */ RtTrackBlendMode *peElendMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPassThroughMode )( 
            IRsTrackItem * This,
            /* [in] */ RtBool bPassThroughStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPassThroughMode )( 
            IRsTrackItem * This,
            /* [out] */ RtBool *pbPassThroughStatus);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Weight )( 
            IRsTrackItem * This,
            /* [retval][out] */ RtFloat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Weight )( 
            IRsTrackItem * This,
            /* [in] */ RtFloat newVal);
        
        END_INTERFACE
    } IRsTrackItemVtbl;

    interface IRsTrackItem
    {
        CONST_VTBL struct IRsTrackItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsTrackItem_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsTrackItem_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsTrackItem_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IRsTrackItem_put_Name(This,newVal)	\
    (This)->lpVtbl -> put_Name(This,newVal)

#define IRsTrackItem_Disable(This,bDisable)	\
    (This)->lpVtbl -> Disable(This,bDisable)

#define IRsTrackItem_IsDisabled(This,pbIsDisabled)	\
    (This)->lpVtbl -> IsDisabled(This,pbIsDisabled)

#define IRsTrackItem_Editable(This,bEditable)	\
    (This)->lpVtbl -> Editable(This,bEditable)

#define IRsTrackItem_IsEditable(This,bIsEditable)	\
    (This)->lpVtbl -> IsEditable(This,bIsEditable)

#define IRsTrackItem_SetBlendMode(This,eElendMode)	\
    (This)->lpVtbl -> SetBlendMode(This,eElendMode)

#define IRsTrackItem_GetBlendMode(This,peElendMode)	\
    (This)->lpVtbl -> GetBlendMode(This,peElendMode)

#define IRsTrackItem_SetPassThroughMode(This,bPassThroughStatus)	\
    (This)->lpVtbl -> SetPassThroughMode(This,bPassThroughStatus)

#define IRsTrackItem_GetPassThroughMode(This,pbPassThroughStatus)	\
    (This)->lpVtbl -> GetPassThroughMode(This,pbPassThroughStatus)

#define IRsTrackItem_get_Weight(This,pVal)	\
    (This)->lpVtbl -> get_Weight(This,pVal)

#define IRsTrackItem_put_Weight(This,newVal)	\
    (This)->lpVtbl -> put_Weight(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_get_Name_Proxy( 
    IRsTrackItem * This,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_put_Name_Proxy( 
    IRsTrackItem * This,
    /* [in] */ const BSTR newVal);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_Disable_Proxy( 
    IRsTrackItem * This,
    /* [in] */ RtBool bDisable);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_IsDisabled_Proxy( 
    IRsTrackItem * This,
    /* [out] */ RtBool *pbIsDisabled);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_Editable_Proxy( 
    IRsTrackItem * This,
    /* [in] */ RtBool bEditable);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_IsEditable_Proxy( 
    IRsTrackItem * This,
    /* [out] */ RtBool *bIsEditable);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_SetBlendMode_Proxy( 
    IRsTrackItem * This,
    /* [in] */ RtTrackBlendMode eElendMode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_GetBlendMode_Proxy( 
    IRsTrackItem * This,
    /* [out] */ RtTrackBlendMode *peElendMode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_SetPassThroughMode_Proxy( 
    IRsTrackItem * This,
    /* [in] */ RtBool bPassThroughStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_GetPassThroughMode_Proxy( 
    IRsTrackItem * This,
    /* [out] */ RtBool *pbPassThroughStatus);


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


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_get_Weight_Proxy( 
    IRsTrackItem * This,
    /* [retval][out] */ RtFloat *pVal);


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


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IRsTrackItem_put_Weight_Proxy( 
    IRsTrackItem * This,
    /* [in] */ RtFloat newVal);


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



#endif 	/* __IRsTrackItem_INTERFACE_DEFINED__ */


#ifndef __IRsEnumTracks_INTERFACE_DEFINED__
#define __IRsEnumTracks_INTERFACE_DEFINED__

/* interface IRsEnumTracks */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumTracks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6084BF68-7F0B-4046-BAAA-D569B07CF613")
    IRsEnumTracks : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNumItems,
            /* [out] */ IRsTrackItem **ppArrayTracks,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNumItems) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumTracks **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumTracksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumTracks * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumTracks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumTracks * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumTracks * This,
            /* [in] */ ULONG cNumItems,
            /* [out] */ IRsTrackItem **ppArrayTracks,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumTracks * This,
            /* [in] */ ULONG cNumItems);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumTracks * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumTracks * This,
            /* [out] */ IRsEnumTracks **ppEnum);
        
        END_INTERFACE
    } IRsEnumTracksVtbl;

    interface IRsEnumTracks
    {
        CONST_VTBL struct IRsEnumTracksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsEnumTracks_Next(This,cNumItems,ppArrayTracks,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNumItems,ppArrayTracks,pcFetched)

#define IRsEnumTracks_Skip(This,cNumItems)	\
    (This)->lpVtbl -> Skip(This,cNumItems)

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

#define IRsEnumTracks_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumTracks_Next_Proxy( 
    IRsEnumTracks * This,
    /* [in] */ ULONG cNumItems,
    /* [out] */ IRsTrackItem **ppArrayTracks,
    /* [out] */ ULONG *pcFetched);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumTracks_Skip_Proxy( 
    IRsEnumTracks * This,
    /* [in] */ ULONG cNumItems);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumTracks_Reset_Proxy( 
    IRsEnumTracks * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumTracks_Clone_Proxy( 
    IRsEnumTracks * This,
    /* [out] */ IRsEnumTracks **ppEnum);


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



#endif 	/* __IRsEnumTracks_INTERFACE_DEFINED__ */


#ifndef __IRdAnimData_INTERFACE_DEFINED__
#define __IRdAnimData_INTERFACE_DEFINED__

/* interface IRdAnimData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdAnimData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2E902674-5234-42C4-B0C2-436BE732037E")
    IRdAnimData : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddNewAttrRec( 
            /* [in] */ IRsAnimAttrRecord *pAnimRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddAttrRec( 
            /* [in] */ BSTR bszAttrId,
            /* [in] */ IRsConnector *pCon,
            /* [retval][out] */ IRsAnimAttrRecord **ppAnimRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAttrRec( 
            /* [in] */ BSTR bszAttrId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttrRecCount( 
            /* [out] */ RtUlong *pulCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindAttrRec( 
            /* [in] */ BSTR bszAttrId,
            /* [retval][out] */ IRsAnimAttrRecord **ppAnimRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumAttrRecords( 
            /* [retval][out] */ IRsEnumAttrRec **ppEnumAnimRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMinMaxKeyFrame( 
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNextKfTime( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptNextKf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPrevKfTime( 
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptPrevKf) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMinRegion( 
            /* [out] */ RtAnimRegion *pRegion) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdAnimDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdAnimData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdAnimData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdAnimData * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdAnimData * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdAnimData * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdAnimData * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddNewAttrRec )( 
            IRdAnimData * This,
            /* [in] */ IRsAnimAttrRecord *pAnimRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddAttrRec )( 
            IRdAnimData * This,
            /* [in] */ BSTR bszAttrId,
            /* [in] */ IRsConnector *pCon,
            /* [retval][out] */ IRsAnimAttrRecord **ppAnimRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttrRec )( 
            IRdAnimData * This,
            /* [in] */ BSTR bszAttrId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttrRecCount )( 
            IRdAnimData * This,
            /* [out] */ RtUlong *pulCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindAttrRec )( 
            IRdAnimData * This,
            /* [in] */ BSTR bszAttrId,
            /* [retval][out] */ IRsAnimAttrRecord **ppAnimRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumAttrRecords )( 
            IRdAnimData * This,
            /* [retval][out] */ IRsEnumAttrRec **ppEnumAnimRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMinMaxKeyFrame )( 
            IRdAnimData * This,
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNextKfTime )( 
            IRdAnimData * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptNextKf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPrevKfTime )( 
            IRdAnimData * This,
            /* [in] */ RtTime tTime,
            /* [out] */ RtTime *ptPrevKf);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMinRegion )( 
            IRdAnimData * This,
            /* [out] */ RtAnimRegion *pRegion);
        
        END_INTERFACE
    } IRdAnimDataVtbl;

    interface IRdAnimData
    {
        CONST_VTBL struct IRdAnimDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRdAnimData_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdAnimData_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdAnimData_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdAnimData_AddNewAttrRec(This,pAnimRec)	\
    (This)->lpVtbl -> AddNewAttrRec(This,pAnimRec)

#define IRdAnimData_AddAttrRec(This,bszAttrId,pCon,ppAnimRec)	\
    (This)->lpVtbl -> AddAttrRec(This,bszAttrId,pCon,ppAnimRec)

#define IRdAnimData_RemoveAttrRec(This,bszAttrId)	\
    (This)->lpVtbl -> RemoveAttrRec(This,bszAttrId)

#define IRdAnimData_AttrRecCount(This,pulCount)	\
    (This)->lpVtbl -> AttrRecCount(This,pulCount)

#define IRdAnimData_FindAttrRec(This,bszAttrId,ppAnimRec)	\
    (This)->lpVtbl -> FindAttrRec(This,bszAttrId,ppAnimRec)

#define IRdAnimData_EnumAttrRecords(This,ppEnumAnimRec)	\
    (This)->lpVtbl -> EnumAttrRecords(This,ppEnumAnimRec)

#define IRdAnimData_GetMinMaxKeyFrame(This,ptMinTime,ptMaxTime)	\
    (This)->lpVtbl -> GetMinMaxKeyFrame(This,ptMinTime,ptMaxTime)

#define IRdAnimData_GetNextKfTime(This,tTime,ptNextKf)	\
    (This)->lpVtbl -> GetNextKfTime(This,tTime,ptNextKf)

#define IRdAnimData_GetPrevKfTime(This,tTime,ptPrevKf)	\
    (This)->lpVtbl -> GetPrevKfTime(This,tTime,ptPrevKf)

#define IRdAnimData_GetMinRegion(This,pRegion)	\
    (This)->lpVtbl -> GetMinRegion(This,pRegion)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_AddNewAttrRec_Proxy( 
    IRdAnimData * This,
    /* [in] */ IRsAnimAttrRecord *pAnimRec);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_AddAttrRec_Proxy( 
    IRdAnimData * This,
    /* [in] */ BSTR bszAttrId,
    /* [in] */ IRsConnector *pCon,
    /* [retval][out] */ IRsAnimAttrRecord **ppAnimRec);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_RemoveAttrRec_Proxy( 
    IRdAnimData * This,
    /* [in] */ BSTR bszAttrId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_AttrRecCount_Proxy( 
    IRdAnimData * This,
    /* [out] */ RtUlong *pulCount);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_FindAttrRec_Proxy( 
    IRdAnimData * This,
    /* [in] */ BSTR bszAttrId,
    /* [retval][out] */ IRsAnimAttrRecord **ppAnimRec);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_EnumAttrRecords_Proxy( 
    IRdAnimData * This,
    /* [retval][out] */ IRsEnumAttrRec **ppEnumAnimRec);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_GetMinMaxKeyFrame_Proxy( 
    IRdAnimData * This,
    /* [out] */ RtTime *ptMinTime,
    /* [out] */ RtTime *ptMaxTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_GetNextKfTime_Proxy( 
    IRdAnimData * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtTime *ptNextKf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_GetPrevKfTime_Proxy( 
    IRdAnimData * This,
    /* [in] */ RtTime tTime,
    /* [out] */ RtTime *ptPrevKf);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimData_GetMinRegion_Proxy( 
    IRdAnimData * This,
    /* [out] */ RtAnimRegion *pRegion);


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



#endif 	/* __IRdAnimData_INTERFACE_DEFINED__ */


#ifndef __IRdAnimTrack_INTERFACE_DEFINED__
#define __IRdAnimTrack_INTERFACE_DEFINED__

/* interface IRdAnimTrack */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdAnimTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0C9A69AA-2729-49FD-A363-EB35D001D2C2")
    IRdAnimTrack : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindTrack( 
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRsTrackItem **ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTrack( 
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRsTrackItem **ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveTrack( 
            /* [in] */ BSTR bszTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenameTrack( 
            /* [in] */ BSTR bszTrackName,
            /* [in] */ BSTR bszNewTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NumTracks( 
            /* [retval][out] */ RtUlong *pulNumTracks) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrackAt( 
            /* [in] */ RtUlong ulTrackIndex,
            /* [retval][out] */ IRsTrackItem **ppItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertTrackAt( 
            /* [in] */ RtUlong ulTrackIndex,
            /* [in] */ IRsTrackItem *pItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEditableTrack( 
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bEditableStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableTrack( 
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bDisableStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsTrackEditable( 
            /* [in] */ BSTR bszTrackName,
            /* [out] */ RtBool *pbIsEditable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsTrackDisabled( 
            /* [in] */ BSTR bszTrackName,
            /* [out] */ RtBool *pbIsDisabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditableTrack( 
            /* [retval][out] */ IRsTrackItem **ppTrackItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTrackBlendMode( 
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtTrackBlendMode eBlendMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPassThroughMode( 
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bPassThroughStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPassThroughMode( 
            /* [in] */ BSTR bszTrackName,
            /* [out] */ RtBool *pbPassThroughStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumTracks( 
            /* [retval][out] */ IRsEnumTracks **ppEnumAnimRec) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdAnimTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdAnimTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdAnimTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdAnimTrack * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdAnimTrack * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdAnimTrack * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdAnimTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindTrack )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRsTrackItem **ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateTrack )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRsTrackItem **ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveTrack )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenameTrack )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ BSTR bszNewTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NumTracks )( 
            IRdAnimTrack * This,
            /* [retval][out] */ RtUlong *pulNumTracks);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrackAt )( 
            IRdAnimTrack * This,
            /* [in] */ RtUlong ulTrackIndex,
            /* [retval][out] */ IRsTrackItem **ppItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertTrackAt )( 
            IRdAnimTrack * This,
            /* [in] */ RtUlong ulTrackIndex,
            /* [in] */ IRsTrackItem *pItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetEditableTrack )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bEditableStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisableTrack )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bDisableStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsTrackEditable )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [out] */ RtBool *pbIsEditable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsTrackDisabled )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [out] */ RtBool *pbIsDisabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditableTrack )( 
            IRdAnimTrack * This,
            /* [retval][out] */ IRsTrackItem **ppTrackItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTrackBlendMode )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtTrackBlendMode eBlendMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPassThroughMode )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bPassThroughStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPassThroughMode )( 
            IRdAnimTrack * This,
            /* [in] */ BSTR bszTrackName,
            /* [out] */ RtBool *pbPassThroughStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumTracks )( 
            IRdAnimTrack * This,
            /* [retval][out] */ IRsEnumTracks **ppEnumAnimRec);
        
        END_INTERFACE
    } IRdAnimTrackVtbl;

    interface IRdAnimTrack
    {
        CONST_VTBL struct IRdAnimTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRdAnimTrack_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdAnimTrack_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdAnimTrack_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdAnimTrack_FindTrack(This,bszTrackName,ppItem)	\
    (This)->lpVtbl -> FindTrack(This,bszTrackName,ppItem)

#define IRdAnimTrack_CreateTrack(This,bszTrackName,ppItem)	\
    (This)->lpVtbl -> CreateTrack(This,bszTrackName,ppItem)

#define IRdAnimTrack_RemoveTrack(This,bszTrackName)	\
    (This)->lpVtbl -> RemoveTrack(This,bszTrackName)

#define IRdAnimTrack_RenameTrack(This,bszTrackName,bszNewTrackName)	\
    (This)->lpVtbl -> RenameTrack(This,bszTrackName,bszNewTrackName)

#define IRdAnimTrack_NumTracks(This,pulNumTracks)	\
    (This)->lpVtbl -> NumTracks(This,pulNumTracks)

#define IRdAnimTrack_GetTrackAt(This,ulTrackIndex,ppItem)	\
    (This)->lpVtbl -> GetTrackAt(This,ulTrackIndex,ppItem)

#define IRdAnimTrack_InsertTrackAt(This,ulTrackIndex,pItem)	\
    (This)->lpVtbl -> InsertTrackAt(This,ulTrackIndex,pItem)

#define IRdAnimTrack_SetEditableTrack(This,bszTrackName,bEditableStatus)	\
    (This)->lpVtbl -> SetEditableTrack(This,bszTrackName,bEditableStatus)

#define IRdAnimTrack_DisableTrack(This,bszTrackName,bDisableStatus)	\
    (This)->lpVtbl -> DisableTrack(This,bszTrackName,bDisableStatus)

#define IRdAnimTrack_IsTrackEditable(This,bszTrackName,pbIsEditable)	\
    (This)->lpVtbl -> IsTrackEditable(This,bszTrackName,pbIsEditable)

#define IRdAnimTrack_IsTrackDisabled(This,bszTrackName,pbIsDisabled)	\
    (This)->lpVtbl -> IsTrackDisabled(This,bszTrackName,pbIsDisabled)

#define IRdAnimTrack_GetEditableTrack(This,ppTrackItem)	\
    (This)->lpVtbl -> GetEditableTrack(This,ppTrackItem)

#define IRdAnimTrack_SetTrackBlendMode(This,bszTrackName,eBlendMode)	\
    (This)->lpVtbl -> SetTrackBlendMode(This,bszTrackName,eBlendMode)

#define IRdAnimTrack_SetPassThroughMode(This,bszTrackName,bPassThroughStatus)	\
    (This)->lpVtbl -> SetPassThroughMode(This,bszTrackName,bPassThroughStatus)

#define IRdAnimTrack_GetPassThroughMode(This,bszTrackName,pbPassThroughStatus)	\
    (This)->lpVtbl -> GetPassThroughMode(This,bszTrackName,pbPassThroughStatus)

#define IRdAnimTrack_EnumTracks(This,ppEnumAnimRec)	\
    (This)->lpVtbl -> EnumTracks(This,ppEnumAnimRec)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_FindTrack_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [retval][out] */ IRsTrackItem **ppItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_CreateTrack_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [retval][out] */ IRsTrackItem **ppItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_RemoveTrack_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_RenameTrack_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ BSTR bszNewTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_NumTracks_Proxy( 
    IRdAnimTrack * This,
    /* [retval][out] */ RtUlong *pulNumTracks);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_GetTrackAt_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ RtUlong ulTrackIndex,
    /* [retval][out] */ IRsTrackItem **ppItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_InsertTrackAt_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ RtUlong ulTrackIndex,
    /* [in] */ IRsTrackItem *pItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_SetEditableTrack_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtBool bEditableStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_DisableTrack_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtBool bDisableStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_IsTrackEditable_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [out] */ RtBool *pbIsEditable);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_IsTrackDisabled_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [out] */ RtBool *pbIsDisabled);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_GetEditableTrack_Proxy( 
    IRdAnimTrack * This,
    /* [retval][out] */ IRsTrackItem **ppTrackItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_SetTrackBlendMode_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtTrackBlendMode eBlendMode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_SetPassThroughMode_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtBool bPassThroughStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_GetPassThroughMode_Proxy( 
    IRdAnimTrack * This,
    /* [in] */ BSTR bszTrackName,
    /* [out] */ RtBool *pbPassThroughStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimTrack_EnumTracks_Proxy( 
    IRdAnimTrack * This,
    /* [retval][out] */ IRsEnumTracks **ppEnumAnimRec);


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



#endif 	/* __IRdAnimTrack_INTERFACE_DEFINED__ */


#ifndef __IRdAnimSel_INTERFACE_DEFINED__
#define __IRdAnimSel_INTERFACE_DEFINED__

/* interface IRdAnimSel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdAnimSel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D9E199D0-47CA-4068-B35B-69AC558BA169")
    IRdAnimSel : public IRsBaseSelection
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsAnimAttrRecord *pRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [in] */ RtUlong *pSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsAnimAttrRecord **ppAttrRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [out] */ RtBool *pbIsEmpty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindItem( 
            /* [in] */ IRsAnimAttrRecord *pSourceRec,
            /* [out] */ IRsAnimAttrRecord **ppRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectionChanged( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdAnimSelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdAnimSel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdAnimSel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdAnimSel * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdAnimSel * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdAnimSel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdAnimSel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRdAnimSel * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IUnknown *pManager);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Deinitialize )( 
            IRdAnimSel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectionID )( 
            IRdAnimSel * This,
            /* [retval][out] */ GUID *SelectionID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IRdAnimSel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRdAnimSel * This,
            /* [in] */ IRsAnimAttrRecord *pRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRdAnimSel * This,
            /* [in] */ RtUlong *pSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRdAnimSel * This,
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsAnimAttrRecord **ppAttrRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            IRdAnimSel * This,
            /* [out] */ RtBool *pbIsEmpty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindItem )( 
            IRdAnimSel * This,
            /* [in] */ IRsAnimAttrRecord *pSourceRec,
            /* [out] */ IRsAnimAttrRecord **ppRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SelectionChanged )( 
            IRdAnimSel * This);
        
        END_INTERFACE
    } IRdAnimSelVtbl;

    interface IRdAnimSel
    {
        CONST_VTBL struct IRdAnimSelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRdAnimSel_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdAnimSel_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdAnimSel_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdAnimSel_Initialize(This,SelectionID,pManager)	\
    (This)->lpVtbl -> Initialize(This,SelectionID,pManager)

#define IRdAnimSel_Deinitialize(This)	\
    (This)->lpVtbl -> Deinitialize(This)

#define IRdAnimSel_GetSelectionID(This,SelectionID)	\
    (This)->lpVtbl -> GetSelectionID(This,SelectionID)


#define IRdAnimSel_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IRdAnimSel_Add(This,pRec)	\
    (This)->lpVtbl -> Add(This,pRec)

#define IRdAnimSel_GetCount(This,pSize)	\
    (This)->lpVtbl -> GetCount(This,pSize)

#define IRdAnimSel_GetAt(This,pos,ppAttrRec)	\
    (This)->lpVtbl -> GetAt(This,pos,ppAttrRec)

#define IRdAnimSel_IsEmpty(This,pbIsEmpty)	\
    (This)->lpVtbl -> IsEmpty(This,pbIsEmpty)

#define IRdAnimSel_FindItem(This,pSourceRec,ppRec)	\
    (This)->lpVtbl -> FindItem(This,pSourceRec,ppRec)

#define IRdAnimSel_SelectionChanged(This)	\
    (This)->lpVtbl -> SelectionChanged(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimSel_RemoveAll_Proxy( 
    IRdAnimSel * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimSel_Add_Proxy( 
    IRdAnimSel * This,
    /* [in] */ IRsAnimAttrRecord *pRec);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimSel_GetCount_Proxy( 
    IRdAnimSel * This,
    /* [in] */ RtUlong *pSize);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimSel_GetAt_Proxy( 
    IRdAnimSel * This,
    /* [in] */ RtUlong pos,
    /* [retval][out] */ IRsAnimAttrRecord **ppAttrRec);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimSel_IsEmpty_Proxy( 
    IRdAnimSel * This,
    /* [out] */ RtBool *pbIsEmpty);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimSel_FindItem_Proxy( 
    IRdAnimSel * This,
    /* [in] */ IRsAnimAttrRecord *pSourceRec,
    /* [out] */ IRsAnimAttrRecord **ppRec);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimSel_SelectionChanged_Proxy( 
    IRdAnimSel * This);


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



#endif 	/* __IRdAnimSel_INTERFACE_DEFINED__ */


#ifndef __IRdAnimClipSel_INTERFACE_DEFINED__
#define __IRdAnimClipSel_INTERFACE_DEFINED__

/* interface IRdAnimClipSel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdAnimClipSel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5EDE3EBD-9390-4572-B250-3A43EF737FD2")
    IRdAnimClipSel : public IRsBaseSelection
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ IRsNode *pAnimClip) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCount( 
            /* [in] */ RtUlong *pSize) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAt( 
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsNode **ppAnimClip) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [out] */ RtBool *pbIsEmpty) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsInSelection( 
            /* [in] */ IRsNode *spClipNode,
            /* [out] */ RtBool *pbIsInSelection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdAnimClipSelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdAnimClipSel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdAnimClipSel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdAnimClipSel * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdAnimClipSel * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdAnimClipSel * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdAnimClipSel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IRdAnimClipSel * This,
            /* [in] */ GUID SelectionID,
            /* [in] */ IUnknown *pManager);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Deinitialize )( 
            IRdAnimClipSel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectionID )( 
            IRdAnimClipSel * This,
            /* [retval][out] */ GUID *SelectionID);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            IRdAnimClipSel * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IRdAnimClipSel * This,
            /* [in] */ IRsNode *pAnimClip);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCount )( 
            IRdAnimClipSel * This,
            /* [in] */ RtUlong *pSize);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAt )( 
            IRdAnimClipSel * This,
            /* [in] */ RtUlong pos,
            /* [retval][out] */ IRsNode **ppAnimClip);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            IRdAnimClipSel * This,
            /* [out] */ RtBool *pbIsEmpty);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsInSelection )( 
            IRdAnimClipSel * This,
            /* [in] */ IRsNode *spClipNode,
            /* [out] */ RtBool *pbIsInSelection);
        
        END_INTERFACE
    } IRdAnimClipSelVtbl;

    interface IRdAnimClipSel
    {
        CONST_VTBL struct IRdAnimClipSelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRdAnimClipSel_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdAnimClipSel_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdAnimClipSel_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdAnimClipSel_Initialize(This,SelectionID,pManager)	\
    (This)->lpVtbl -> Initialize(This,SelectionID,pManager)

#define IRdAnimClipSel_Deinitialize(This)	\
    (This)->lpVtbl -> Deinitialize(This)

#define IRdAnimClipSel_GetSelectionID(This,SelectionID)	\
    (This)->lpVtbl -> GetSelectionID(This,SelectionID)


#define IRdAnimClipSel_RemoveAll(This)	\
    (This)->lpVtbl -> RemoveAll(This)

#define IRdAnimClipSel_Add(This,pAnimClip)	\
    (This)->lpVtbl -> Add(This,pAnimClip)

#define IRdAnimClipSel_GetCount(This,pSize)	\
    (This)->lpVtbl -> GetCount(This,pSize)

#define IRdAnimClipSel_GetAt(This,pos,ppAnimClip)	\
    (This)->lpVtbl -> GetAt(This,pos,ppAnimClip)

#define IRdAnimClipSel_IsEmpty(This,pbIsEmpty)	\
    (This)->lpVtbl -> IsEmpty(This,pbIsEmpty)

#define IRdAnimClipSel_IsInSelection(This,spClipNode,pbIsInSelection)	\
    (This)->lpVtbl -> IsInSelection(This,spClipNode,pbIsInSelection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimClipSel_RemoveAll_Proxy( 
    IRdAnimClipSel * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimClipSel_Add_Proxy( 
    IRdAnimClipSel * This,
    /* [in] */ IRsNode *pAnimClip);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimClipSel_GetCount_Proxy( 
    IRdAnimClipSel * This,
    /* [in] */ RtUlong *pSize);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimClipSel_GetAt_Proxy( 
    IRdAnimClipSel * This,
    /* [in] */ RtUlong pos,
    /* [retval][out] */ IRsNode **ppAnimClip);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimClipSel_IsEmpty_Proxy( 
    IRdAnimClipSel * This,
    /* [out] */ RtBool *pbIsEmpty);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimClipSel_IsInSelection_Proxy( 
    IRdAnimClipSel * This,
    /* [in] */ IRsNode *spClipNode,
    /* [out] */ RtBool *pbIsInSelection);


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



#endif 	/* __IRdAnimClipSel_INTERFACE_DEFINED__ */


#ifndef __IRnAnimClip_INTERFACE_DEFINED__
#define __IRnAnimClip_INTERFACE_DEFINED__

/* interface IRnAnimClip */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnAnimClip;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("27E11B03-6471-4649-8271-C6FC7C093906")
    IRnAnimClip : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWeight( 
            /* [in] */ RtFloat fWeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWeight( 
            /* [retval][out] */ RtFloat *pfWeight) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetLocalTime( 
            /* [in] */ RtTime tLocalTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLocalTime( 
            /* [retval][out] */ RtTime *ptLocalTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimDataRef( 
            /* [retval][out] */ IRdAnimData **ppAnimData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimData( 
            /* [retval][out] */ IRdAnimData **ppAnimData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimData( 
            /* [in] */ IRdAnimData *pAnimData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ClearAnimData( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsDisabled( 
            /* [retval][out] */ RtBool *pbDisabled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDisabled( 
            /* [in] */ RtBool bState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrackId( 
            /* [retval][out] */ BSTR *pbszTrackId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTrackId( 
            /* [in] */ BSTR bszTrackId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipPosition( 
            /* [out] */ RtTime *ptClipStart,
            /* [out] */ RtTime *ptClipEnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetClipPosition( 
            /* [in] */ RtTime tClipStart,
            /* [in] */ RtTime tClipEnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsProcedural( 
            /* [retval][out] */ RtBool *pbState) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetProcedural( 
            /* [in] */ RtBool bState) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnAnimClipVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnAnimClip * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnAnimClip * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnAnimClip * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWeight )( 
            IRnAnimClip * This,
            /* [in] */ RtFloat fWeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWeight )( 
            IRnAnimClip * This,
            /* [retval][out] */ RtFloat *pfWeight);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetLocalTime )( 
            IRnAnimClip * This,
            /* [in] */ RtTime tLocalTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLocalTime )( 
            IRnAnimClip * This,
            /* [retval][out] */ RtTime *ptLocalTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimDataRef )( 
            IRnAnimClip * This,
            /* [retval][out] */ IRdAnimData **ppAnimData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimData )( 
            IRnAnimClip * This,
            /* [retval][out] */ IRdAnimData **ppAnimData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimData )( 
            IRnAnimClip * This,
            /* [in] */ IRdAnimData *pAnimData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearAnimData )( 
            IRnAnimClip * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDisabled )( 
            IRnAnimClip * This,
            /* [retval][out] */ RtBool *pbDisabled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDisabled )( 
            IRnAnimClip * This,
            /* [in] */ RtBool bState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrackId )( 
            IRnAnimClip * This,
            /* [retval][out] */ BSTR *pbszTrackId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTrackId )( 
            IRnAnimClip * This,
            /* [in] */ BSTR bszTrackId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipPosition )( 
            IRnAnimClip * This,
            /* [out] */ RtTime *ptClipStart,
            /* [out] */ RtTime *ptClipEnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetClipPosition )( 
            IRnAnimClip * This,
            /* [in] */ RtTime tClipStart,
            /* [in] */ RtTime tClipEnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsProcedural )( 
            IRnAnimClip * This,
            /* [retval][out] */ RtBool *pbState);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetProcedural )( 
            IRnAnimClip * This,
            /* [in] */ RtBool bState);
        
        END_INTERFACE
    } IRnAnimClipVtbl;

    interface IRnAnimClip
    {
        CONST_VTBL struct IRnAnimClipVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRnAnimClip_SetWeight(This,fWeight)	\
    (This)->lpVtbl -> SetWeight(This,fWeight)

#define IRnAnimClip_GetWeight(This,pfWeight)	\
    (This)->lpVtbl -> GetWeight(This,pfWeight)

#define IRnAnimClip_SetLocalTime(This,tLocalTime)	\
    (This)->lpVtbl -> SetLocalTime(This,tLocalTime)

#define IRnAnimClip_GetLocalTime(This,ptLocalTime)	\
    (This)->lpVtbl -> GetLocalTime(This,ptLocalTime)

#define IRnAnimClip_GetAnimDataRef(This,ppAnimData)	\
    (This)->lpVtbl -> GetAnimDataRef(This,ppAnimData)

#define IRnAnimClip_GetAnimData(This,ppAnimData)	\
    (This)->lpVtbl -> GetAnimData(This,ppAnimData)

#define IRnAnimClip_SetAnimData(This,pAnimData)	\
    (This)->lpVtbl -> SetAnimData(This,pAnimData)

#define IRnAnimClip_ClearAnimData(This)	\
    (This)->lpVtbl -> ClearAnimData(This)

#define IRnAnimClip_IsDisabled(This,pbDisabled)	\
    (This)->lpVtbl -> IsDisabled(This,pbDisabled)

#define IRnAnimClip_SetDisabled(This,bState)	\
    (This)->lpVtbl -> SetDisabled(This,bState)

#define IRnAnimClip_GetTrackId(This,pbszTrackId)	\
    (This)->lpVtbl -> GetTrackId(This,pbszTrackId)

#define IRnAnimClip_SetTrackId(This,bszTrackId)	\
    (This)->lpVtbl -> SetTrackId(This,bszTrackId)

#define IRnAnimClip_GetClipPosition(This,ptClipStart,ptClipEnd)	\
    (This)->lpVtbl -> GetClipPosition(This,ptClipStart,ptClipEnd)

#define IRnAnimClip_SetClipPosition(This,tClipStart,tClipEnd)	\
    (This)->lpVtbl -> SetClipPosition(This,tClipStart,tClipEnd)

#define IRnAnimClip_IsProcedural(This,pbState)	\
    (This)->lpVtbl -> IsProcedural(This,pbState)

#define IRnAnimClip_SetProcedural(This,bState)	\
    (This)->lpVtbl -> SetProcedural(This,bState)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_SetWeight_Proxy( 
    IRnAnimClip * This,
    /* [in] */ RtFloat fWeight);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_GetWeight_Proxy( 
    IRnAnimClip * This,
    /* [retval][out] */ RtFloat *pfWeight);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_SetLocalTime_Proxy( 
    IRnAnimClip * This,
    /* [in] */ RtTime tLocalTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_GetLocalTime_Proxy( 
    IRnAnimClip * This,
    /* [retval][out] */ RtTime *ptLocalTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_GetAnimDataRef_Proxy( 
    IRnAnimClip * This,
    /* [retval][out] */ IRdAnimData **ppAnimData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_GetAnimData_Proxy( 
    IRnAnimClip * This,
    /* [retval][out] */ IRdAnimData **ppAnimData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_SetAnimData_Proxy( 
    IRnAnimClip * This,
    /* [in] */ IRdAnimData *pAnimData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_ClearAnimData_Proxy( 
    IRnAnimClip * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_IsDisabled_Proxy( 
    IRnAnimClip * This,
    /* [retval][out] */ RtBool *pbDisabled);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_SetDisabled_Proxy( 
    IRnAnimClip * This,
    /* [in] */ RtBool bState);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_GetTrackId_Proxy( 
    IRnAnimClip * This,
    /* [retval][out] */ BSTR *pbszTrackId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_SetTrackId_Proxy( 
    IRnAnimClip * This,
    /* [in] */ BSTR bszTrackId);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_GetClipPosition_Proxy( 
    IRnAnimClip * This,
    /* [out] */ RtTime *ptClipStart,
    /* [out] */ RtTime *ptClipEnd);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_SetClipPosition_Proxy( 
    IRnAnimClip * This,
    /* [in] */ RtTime tClipStart,
    /* [in] */ RtTime tClipEnd);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_IsProcedural_Proxy( 
    IRnAnimClip * This,
    /* [retval][out] */ RtBool *pbState);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimClip_SetProcedural_Proxy( 
    IRnAnimClip * This,
    /* [in] */ RtBool bState);


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



#endif 	/* __IRnAnimClip_INTERFACE_DEFINED__ */


#ifndef __IRsAnimSimTarget_INTERFACE_DEFINED__
#define __IRsAnimSimTarget_INTERFACE_DEFINED__

/* interface IRsAnimSimTarget */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimSimTarget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5A666F31-47E5-43c3-8199-D726F7D99C44")
    IRsAnimSimTarget : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnSimulationStep( 
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FinishSimulation( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimSimTargetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimSimTarget * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimSimTarget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimSimTarget * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnSimulationStep )( 
            IRsAnimSimTarget * This,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FinishSimulation )( 
            IRsAnimSimTarget * This);
        
        END_INTERFACE
    } IRsAnimSimTargetVtbl;

    interface IRsAnimSimTarget
    {
        CONST_VTBL struct IRsAnimSimTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimSimTarget_OnSimulationStep(This,tTime)	\
    (This)->lpVtbl -> OnSimulationStep(This,tTime)

#define IRsAnimSimTarget_FinishSimulation(This)	\
    (This)->lpVtbl -> FinishSimulation(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimTarget_OnSimulationStep_Proxy( 
    IRsAnimSimTarget * This,
    /* [in] */ RtTime tTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimTarget_FinishSimulation_Proxy( 
    IRsAnimSimTarget * This);


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



#endif 	/* __IRsAnimSimTarget_INTERFACE_DEFINED__ */


#ifndef __IRcAnimSimStep_INTERFACE_DEFINED__
#define __IRcAnimSimStep_INTERFACE_DEFINED__

/* interface IRcAnimSimStep */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAnimSimStep;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5FCC9EEB-883A-42f4-BA7E-2251599FC6C6")
    IRcAnimSimStep : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSimulationTarget( 
            /* [in] */ IRsAnimSimTarget *pTarget) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSimulationTime( 
            /* [in] */ RtTime tTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcAnimSimStepVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAnimSimStep * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAnimSimStep * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAnimSimStep * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSimulationTarget )( 
            IRcAnimSimStep * This,
            /* [in] */ IRsAnimSimTarget *pTarget);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSimulationTime )( 
            IRcAnimSimStep * This,
            /* [in] */ RtTime tTime);
        
        END_INTERFACE
    } IRcAnimSimStepVtbl;

    interface IRcAnimSimStep
    {
        CONST_VTBL struct IRcAnimSimStepVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRcAnimSimStep_SetSimulationTarget(This,pTarget)	\
    (This)->lpVtbl -> SetSimulationTarget(This,pTarget)

#define IRcAnimSimStep_SetSimulationTime(This,tTime)	\
    (This)->lpVtbl -> SetSimulationTime(This,tTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcAnimSimStep_SetSimulationTarget_Proxy( 
    IRcAnimSimStep * This,
    /* [in] */ IRsAnimSimTarget *pTarget);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcAnimSimStep_SetSimulationTime_Proxy( 
    IRcAnimSimStep * This,
    /* [in] */ RtTime tTime);


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



#endif 	/* __IRcAnimSimStep_INTERFACE_DEFINED__ */


#ifndef __IRfAnimAttrFn_INTERFACE_DEFINED__
#define __IRfAnimAttrFn_INTERFACE_DEFINED__

/* interface IRfAnimAttrFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfAnimAttrFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("101E73B5-D52E-492A-98D5-E36A59C46501")
    IRfAnimAttrFn : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRfAnimAttrFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfAnimAttrFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfAnimAttrFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfAnimAttrFn * This);
        
        END_INTERFACE
    } IRfAnimAttrFnVtbl;

    interface IRfAnimAttrFn
    {
        CONST_VTBL struct IRfAnimAttrFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRfAnimAttrFn_INTERFACE_DEFINED__ */


#ifndef __IRsAnimSimEngine_INTERFACE_DEFINED__
#define __IRsAnimSimEngine_INTERFACE_DEFINED__

/* interface IRsAnimSimEngine */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimSimEngine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C257092E-1591-4053-86CA-11DAA9ABEF78")
    IRsAnimSimEngine : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BeginSimulation( 
            /* [in] */ RtTime tStart,
            /* [in] */ RtTime tEnd,
            /* [in] */ RtFloat fFrameRate) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnStep( 
            /* [in] */ RtTime tKfTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EndSimulation( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimSimEngineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimSimEngine * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimSimEngine * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimSimEngine * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BeginSimulation )( 
            IRsAnimSimEngine * This,
            /* [in] */ RtTime tStart,
            /* [in] */ RtTime tEnd,
            /* [in] */ RtFloat fFrameRate);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnStep )( 
            IRsAnimSimEngine * This,
            /* [in] */ RtTime tKfTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EndSimulation )( 
            IRsAnimSimEngine * This);
        
        END_INTERFACE
    } IRsAnimSimEngineVtbl;

    interface IRsAnimSimEngine
    {
        CONST_VTBL struct IRsAnimSimEngineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimSimEngine_BeginSimulation(This,tStart,tEnd,fFrameRate)	\
    (This)->lpVtbl -> BeginSimulation(This,tStart,tEnd,fFrameRate)

#define IRsAnimSimEngine_OnStep(This,tKfTime)	\
    (This)->lpVtbl -> OnStep(This,tKfTime)

#define IRsAnimSimEngine_EndSimulation(This)	\
    (This)->lpVtbl -> EndSimulation(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimEngine_BeginSimulation_Proxy( 
    IRsAnimSimEngine * This,
    /* [in] */ RtTime tStart,
    /* [in] */ RtTime tEnd,
    /* [in] */ RtFloat fFrameRate);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimEngine_OnStep_Proxy( 
    IRsAnimSimEngine * This,
    /* [in] */ RtTime tKfTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimEngine_EndSimulation_Proxy( 
    IRsAnimSimEngine * This);


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



#endif 	/* __IRsAnimSimEngine_INTERFACE_DEFINED__ */


#ifndef __IRsEnumAnimSimEngine_INTERFACE_DEFINED__
#define __IRsEnumAnimSimEngine_INTERFACE_DEFINED__

/* interface IRsEnumAnimSimEngine */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsEnumAnimSimEngine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("993A0F72-7B2F-41d4-B54F-C7AC986A71A1")
    IRsEnumAnimSimEngine : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Next( 
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsAnimSimEngine **ppArrayAttr,
            /* [out] */ ULONG *pcFetched) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Skip( 
            /* [in] */ ULONG cNumCmds) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Clone( 
            /* [out] */ IRsEnumAnimSimEngine **ppEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsEnumAnimSimEngineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsEnumAnimSimEngine * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsEnumAnimSimEngine * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsEnumAnimSimEngine * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
            IRsEnumAnimSimEngine * This,
            /* [in] */ ULONG cNumCmds,
            /* [out] */ IRsAnimSimEngine **ppArrayAttr,
            /* [out] */ ULONG *pcFetched);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
            IRsEnumAnimSimEngine * This,
            /* [in] */ ULONG cNumCmds);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRsEnumAnimSimEngine * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clone )( 
            IRsEnumAnimSimEngine * This,
            /* [out] */ IRsEnumAnimSimEngine **ppEnum);
        
        END_INTERFACE
    } IRsEnumAnimSimEngineVtbl;

    interface IRsEnumAnimSimEngine
    {
        CONST_VTBL struct IRsEnumAnimSimEngineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsEnumAnimSimEngine_Next(This,cNumCmds,ppArrayAttr,pcFetched)	\
    (This)->lpVtbl -> Next(This,cNumCmds,ppArrayAttr,pcFetched)

#define IRsEnumAnimSimEngine_Skip(This,cNumCmds)	\
    (This)->lpVtbl -> Skip(This,cNumCmds)

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

#define IRsEnumAnimSimEngine_Clone(This,ppEnum)	\
    (This)->lpVtbl -> Clone(This,ppEnum)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimSimEngine_Next_Proxy( 
    IRsEnumAnimSimEngine * This,
    /* [in] */ ULONG cNumCmds,
    /* [out] */ IRsAnimSimEngine **ppArrayAttr,
    /* [out] */ ULONG *pcFetched);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimSimEngine_Skip_Proxy( 
    IRsEnumAnimSimEngine * This,
    /* [in] */ ULONG cNumCmds);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimSimEngine_Reset_Proxy( 
    IRsEnumAnimSimEngine * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsEnumAnimSimEngine_Clone_Proxy( 
    IRsEnumAnimSimEngine * This,
    /* [out] */ IRsEnumAnimSimEngine **ppEnum);


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



#endif 	/* __IRsEnumAnimSimEngine_INTERFACE_DEFINED__ */


#ifndef __IRsAnimSimulationMng_INTERFACE_DEFINED__
#define __IRsAnimSimulationMng_INTERFACE_DEFINED__

/* interface IRsAnimSimulationMng */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimSimulationMng;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8CF25BD1-234C-49a8-9DDA-25013F872B08")
    IRsAnimSimulationMng : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterEngine( 
            /* [in] */ IRsAnimSimEngine *pSimEngine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnRegisterEngine( 
            /* [in] */ IRsAnimSimEngine *pSimEngine) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumEngines( 
            /* [in] */ IRsEnumAnimSimEngine **pEnum) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddClipToSimulation( 
            /* [in] */ IRnAnimClip *pClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RunSimulation( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimSimulationMngVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimSimulationMng * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimSimulationMng * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimSimulationMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterEngine )( 
            IRsAnimSimulationMng * This,
            /* [in] */ IRsAnimSimEngine *pSimEngine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnRegisterEngine )( 
            IRsAnimSimulationMng * This,
            /* [in] */ IRsAnimSimEngine *pSimEngine);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumEngines )( 
            IRsAnimSimulationMng * This,
            /* [in] */ IRsEnumAnimSimEngine **pEnum);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddClipToSimulation )( 
            IRsAnimSimulationMng * This,
            /* [in] */ IRnAnimClip *pClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RunSimulation )( 
            IRsAnimSimulationMng * This);
        
        END_INTERFACE
    } IRsAnimSimulationMngVtbl;

    interface IRsAnimSimulationMng
    {
        CONST_VTBL struct IRsAnimSimulationMngVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsAnimSimulationMng_RegisterEngine(This,pSimEngine)	\
    (This)->lpVtbl -> RegisterEngine(This,pSimEngine)

#define IRsAnimSimulationMng_UnRegisterEngine(This,pSimEngine)	\
    (This)->lpVtbl -> UnRegisterEngine(This,pSimEngine)

#define IRsAnimSimulationMng_EnumEngines(This,pEnum)	\
    (This)->lpVtbl -> EnumEngines(This,pEnum)

#define IRsAnimSimulationMng_AddClipToSimulation(This,pClipNode)	\
    (This)->lpVtbl -> AddClipToSimulation(This,pClipNode)

#define IRsAnimSimulationMng_RunSimulation(This)	\
    (This)->lpVtbl -> RunSimulation(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimulationMng_RegisterEngine_Proxy( 
    IRsAnimSimulationMng * This,
    /* [in] */ IRsAnimSimEngine *pSimEngine);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimulationMng_UnRegisterEngine_Proxy( 
    IRsAnimSimulationMng * This,
    /* [in] */ IRsAnimSimEngine *pSimEngine);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimulationMng_EnumEngines_Proxy( 
    IRsAnimSimulationMng * This,
    /* [in] */ IRsEnumAnimSimEngine **pEnum);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimulationMng_AddClipToSimulation_Proxy( 
    IRsAnimSimulationMng * This,
    /* [in] */ IRnAnimClip *pClipNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsAnimSimulationMng_RunSimulation_Proxy( 
    IRsAnimSimulationMng * This);


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



#endif 	/* __IRsAnimSimulationMng_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Anim_1765 */
/* [local] */ 

typedef 
enum _tagRtAnimAction
    {	ANIM_STOP	= 1,
	ANIM_PLAY	= 2,
	ANIM_START	= 3,
	ANIM_END	= 4,
	ANIM_NEXT_FRAME	= 5,
	ANIM_PREV_FRAME	= 6,
	ANIM_NEXT_KEYFRAME	= 7,
	ANIM_PREV_KEYFRAME	= 8,
	ANIM_GETTIME	= 9,
	ANIM_SETTIME	= 10,
	ANIM_SETANIMSTART	= 11,
	ANIM_SETANIMEND	= 12,
	ANIM_GETANIMSTART	= 13,
	ANIM_GETANIMEND	= 14,
	ANIM_EVALANIMSTART	= 15,
	ANIM_EVALANIMEND	= 16
    } 	RtAnimAction;

typedef 
enum _tagRtAnimViewAction
    {	ANIMVIEW_FIT_TO_SELECTION	= 1,
	ANIMVIEW_ALL	= 2
    } 	RtAnimViewAction;

typedef 
enum _tagRtAnimSelOp
    {	ANIM_SEL_COPY	= 1,
	ANIM_SEL_CUT	= 2,
	ANIM_SEL_PASTE	= 3,
	ANIM_SEL_DELETE	= 4,
	ANIM_SEL_CLEAR	= 5,
	ANIM_SEL_ALL	= 6,
	ANIM_SEL_INVERT	= 7,
	ANIM_SEL_RAZOR	= 8
    } 	RtAnimSelOp;

typedef 
enum _tagRtKeyingAction
    {	ANIM_KEYING_ADD	= 1,
	ANIM_KEYING_REMOVE	= 2,
	ANIM_KEYING_RESET_TEMPLATE	= 3
    } 	RtKeyingAction;



extern RPC_IF_HANDLE __MIDL_itf__Anim_1765_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_1765_v0_0_s_ifspec;

#ifndef __IRnAnimMng_INTERFACE_DEFINED__
#define __IRnAnimMng_INTERFACE_DEFINED__

/* interface IRnAnimMng */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnAnimMng;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6788591D-5B05-435C-A81F-D1AFE24C5DE6")
    IRnAnimMng : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimTime( 
            /* [in] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimTime( 
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimStart( 
            /* [in] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimStart( 
            /* [in] */ RtTime tStartTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimEnd( 
            /* [in] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimEnd( 
            /* [in] */ RtTime tEndTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRegion( 
            /* [in] */ RtSelAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRegion( 
            /* [retval][out] */ RtSelAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateAnimSelRegion( 
            /* [in] */ IRdAnimSel *pAnimSel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRegion2( 
            /* [in] */ RtAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRegion2( 
            /* [retval][out] */ RtAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateAnimSelRegion2( 
            /* [in] */ IRdAnimSel *pAnimSel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Play( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKeyFrameBuffer( 
            /* [out] */ IRdAnimSel **ppBufferSel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKeyFrameBuffer( 
            /* [in] */ IRdAnimSel *pBufferSel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipSelBuffer( 
            /* [out] */ IRdAnimClipSel **ppBufferSel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetClipSelBuffer( 
            /* [in] */ IRdAnimClipSel *pBufferSel) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKeyingData( 
            /* [out] */ IRdAnimData **ppKeyingData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddKeyingAttr( 
            /* [in] */ BSTR bszNewAttr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveKeyingAttr( 
            /* [in] */ BSTR bszAttr) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ResetKeyingTemplate( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvalidatePreferences( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPreferences( 
            /* [retval][out] */ IRdAnimPref **ppPreferences) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSimulationMng( 
            /* [retval][out] */ IRsAnimSimulationMng **ppSimulationManager) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnAnimMngVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnAnimMng * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnAnimMng * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnAnimMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimTime )( 
            IRnAnimMng * This,
            /* [in] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimTime )( 
            IRnAnimMng * This,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimStart )( 
            IRnAnimMng * This,
            /* [in] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimStart )( 
            IRnAnimMng * This,
            /* [in] */ RtTime tStartTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimEnd )( 
            IRnAnimMng * This,
            /* [in] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimEnd )( 
            IRnAnimMng * This,
            /* [in] */ RtTime tEndTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRegion )( 
            IRnAnimMng * This,
            /* [in] */ RtSelAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRegion )( 
            IRnAnimMng * This,
            /* [retval][out] */ RtSelAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateAnimSelRegion )( 
            IRnAnimMng * This,
            /* [in] */ IRdAnimSel *pAnimSel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRegion2 )( 
            IRnAnimMng * This,
            /* [in] */ RtAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRegion2 )( 
            IRnAnimMng * This,
            /* [retval][out] */ RtAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateAnimSelRegion2 )( 
            IRnAnimMng * This,
            /* [in] */ IRdAnimSel *pAnimSel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
            IRnAnimMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IRnAnimMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKeyFrameBuffer )( 
            IRnAnimMng * This,
            /* [out] */ IRdAnimSel **ppBufferSel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKeyFrameBuffer )( 
            IRnAnimMng * This,
            /* [in] */ IRdAnimSel *pBufferSel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipSelBuffer )( 
            IRnAnimMng * This,
            /* [out] */ IRdAnimClipSel **ppBufferSel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetClipSelBuffer )( 
            IRnAnimMng * This,
            /* [in] */ IRdAnimClipSel *pBufferSel);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKeyingData )( 
            IRnAnimMng * This,
            /* [out] */ IRdAnimData **ppKeyingData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddKeyingAttr )( 
            IRnAnimMng * This,
            /* [in] */ BSTR bszNewAttr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveKeyingAttr )( 
            IRnAnimMng * This,
            /* [in] */ BSTR bszAttr);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ResetKeyingTemplate )( 
            IRnAnimMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvalidatePreferences )( 
            IRnAnimMng * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPreferences )( 
            IRnAnimMng * This,
            /* [retval][out] */ IRdAnimPref **ppPreferences);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSimulationMng )( 
            IRnAnimMng * This,
            /* [retval][out] */ IRsAnimSimulationMng **ppSimulationManager);
        
        END_INTERFACE
    } IRnAnimMngVtbl;

    interface IRnAnimMng
    {
        CONST_VTBL struct IRnAnimMngVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRnAnimMng_GetAnimTime(This,ptTime)	\
    (This)->lpVtbl -> GetAnimTime(This,ptTime)

#define IRnAnimMng_SetAnimTime(This,tTime)	\
    (This)->lpVtbl -> SetAnimTime(This,tTime)

#define IRnAnimMng_GetAnimStart(This,ptTime)	\
    (This)->lpVtbl -> GetAnimStart(This,ptTime)

#define IRnAnimMng_SetAnimStart(This,tStartTime)	\
    (This)->lpVtbl -> SetAnimStart(This,tStartTime)

#define IRnAnimMng_GetAnimEnd(This,ptTime)	\
    (This)->lpVtbl -> GetAnimEnd(This,ptTime)

#define IRnAnimMng_SetAnimEnd(This,tEndTime)	\
    (This)->lpVtbl -> SetAnimEnd(This,tEndTime)

#define IRnAnimMng_SetAnimRegion(This,selRegion)	\
    (This)->lpVtbl -> SetAnimRegion(This,selRegion)

#define IRnAnimMng_GetAnimRegion(This,pSelRegion)	\
    (This)->lpVtbl -> GetAnimRegion(This,pSelRegion)

#define IRnAnimMng_UpdateAnimSelRegion(This,pAnimSel)	\
    (This)->lpVtbl -> UpdateAnimSelRegion(This,pAnimSel)

#define IRnAnimMng_SetAnimRegion2(This,selRegion)	\
    (This)->lpVtbl -> SetAnimRegion2(This,selRegion)

#define IRnAnimMng_GetAnimRegion2(This,pSelRegion)	\
    (This)->lpVtbl -> GetAnimRegion2(This,pSelRegion)

#define IRnAnimMng_UpdateAnimSelRegion2(This,pAnimSel)	\
    (This)->lpVtbl -> UpdateAnimSelRegion2(This,pAnimSel)

#define IRnAnimMng_Play(This)	\
    (This)->lpVtbl -> Play(This)

#define IRnAnimMng_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IRnAnimMng_GetKeyFrameBuffer(This,ppBufferSel)	\
    (This)->lpVtbl -> GetKeyFrameBuffer(This,ppBufferSel)

#define IRnAnimMng_SetKeyFrameBuffer(This,pBufferSel)	\
    (This)->lpVtbl -> SetKeyFrameBuffer(This,pBufferSel)

#define IRnAnimMng_GetClipSelBuffer(This,ppBufferSel)	\
    (This)->lpVtbl -> GetClipSelBuffer(This,ppBufferSel)

#define IRnAnimMng_SetClipSelBuffer(This,pBufferSel)	\
    (This)->lpVtbl -> SetClipSelBuffer(This,pBufferSel)

#define IRnAnimMng_GetKeyingData(This,ppKeyingData)	\
    (This)->lpVtbl -> GetKeyingData(This,ppKeyingData)

#define IRnAnimMng_AddKeyingAttr(This,bszNewAttr)	\
    (This)->lpVtbl -> AddKeyingAttr(This,bszNewAttr)

#define IRnAnimMng_RemoveKeyingAttr(This,bszAttr)	\
    (This)->lpVtbl -> RemoveKeyingAttr(This,bszAttr)

#define IRnAnimMng_ResetKeyingTemplate(This)	\
    (This)->lpVtbl -> ResetKeyingTemplate(This)

#define IRnAnimMng_InvalidatePreferences(This)	\
    (This)->lpVtbl -> InvalidatePreferences(This)

#define IRnAnimMng_GetPreferences(This,ppPreferences)	\
    (This)->lpVtbl -> GetPreferences(This,ppPreferences)

#define IRnAnimMng_GetSimulationMng(This,ppSimulationManager)	\
    (This)->lpVtbl -> GetSimulationMng(This,ppSimulationManager)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetAnimTime_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_SetAnimTime_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtTime tTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetAnimStart_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_SetAnimStart_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtTime tStartTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetAnimEnd_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtTime *ptTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_SetAnimEnd_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtTime tEndTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_SetAnimRegion_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtSelAnimRegion selRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetAnimRegion_Proxy( 
    IRnAnimMng * This,
    /* [retval][out] */ RtSelAnimRegion *pSelRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_UpdateAnimSelRegion_Proxy( 
    IRnAnimMng * This,
    /* [in] */ IRdAnimSel *pAnimSel);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_SetAnimRegion2_Proxy( 
    IRnAnimMng * This,
    /* [in] */ RtAnimRegion selRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetAnimRegion2_Proxy( 
    IRnAnimMng * This,
    /* [retval][out] */ RtAnimRegion *pSelRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_UpdateAnimSelRegion2_Proxy( 
    IRnAnimMng * This,
    /* [in] */ IRdAnimSel *pAnimSel);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_Play_Proxy( 
    IRnAnimMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_Stop_Proxy( 
    IRnAnimMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetKeyFrameBuffer_Proxy( 
    IRnAnimMng * This,
    /* [out] */ IRdAnimSel **ppBufferSel);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_SetKeyFrameBuffer_Proxy( 
    IRnAnimMng * This,
    /* [in] */ IRdAnimSel *pBufferSel);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetClipSelBuffer_Proxy( 
    IRnAnimMng * This,
    /* [out] */ IRdAnimClipSel **ppBufferSel);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_SetClipSelBuffer_Proxy( 
    IRnAnimMng * This,
    /* [in] */ IRdAnimClipSel *pBufferSel);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetKeyingData_Proxy( 
    IRnAnimMng * This,
    /* [out] */ IRdAnimData **ppKeyingData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_AddKeyingAttr_Proxy( 
    IRnAnimMng * This,
    /* [in] */ BSTR bszNewAttr);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_RemoveKeyingAttr_Proxy( 
    IRnAnimMng * This,
    /* [in] */ BSTR bszAttr);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_ResetKeyingTemplate_Proxy( 
    IRnAnimMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_InvalidatePreferences_Proxy( 
    IRnAnimMng * This);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetPreferences_Proxy( 
    IRnAnimMng * This,
    /* [retval][out] */ IRdAnimPref **ppPreferences);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimMng_GetSimulationMng_Proxy( 
    IRnAnimMng * This,
    /* [retval][out] */ IRsAnimSimulationMng **ppSimulationManager);


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



#endif 	/* __IRnAnimMng_INTERFACE_DEFINED__ */


#ifndef __IRfTrackFn_INTERFACE_DEFINED__
#define __IRfTrackFn_INTERFACE_DEFINED__

/* interface IRfTrackFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfTrackFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("308C4B56-7120-48FE-8E6A-1FB85AB021B3")
    IRfTrackFn : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTrack( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddNewTrack( 
            /* [in] */ IRsBaseNode *spNode,
            /* [out] */ BSTR *pbszNewTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveTrack( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RenameTrack( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ BSTR bszNewTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MergeTracks( 
            /* [in] */ IRsBaseNode *spNode,
            /* [out] */ BSTR *pbszNewTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EditableTrack( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bEditable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DisableTrack( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bDisable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PassThroughStatus( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditableTrackName( 
            /* [in] */ IRsBaseNode *spNode,
            /* [out] */ BSTR *pbszTrackName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrackCon( 
            /* [in] */ IRsBaseNode *spNode,
            /* [retval][out] */ IRsConnector **ppTrackCon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrackObj( 
            /* [in] */ IRsNode *spNode,
            /* [out] */ IRdAnimTrack **ppTrackDataObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumTracks( 
            /* [in] */ IRsNode *spNode,
            /* [in] */ IRsEnumTracks **ppEnumAnimTrack) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumAnimClips( 
            /* [in] */ IRsNode *spNode,
            /* [retval][out] */ IRsEnumNodes **ppEnumClips) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TrackEnumClips( 
            /* [in] */ IRsNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRsEnumNodes **ppEnumClips) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddClipToTrack( 
            /* [in] */ BSTR bszTrackName,
            /* [in] */ IRsNode *spClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetBlendMode( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtTrackBlendMode eBlendMode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfTrackFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfTrackFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfTrackFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfTrackFn * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateTrack )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddNewTrack )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [out] */ BSTR *pbszNewTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveTrack )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RenameTrack )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ BSTR bszNewTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *MergeTracks )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [out] */ BSTR *pbszNewTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EditableTrack )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bEditable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DisableTrack )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bDisable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PassThroughStatus )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtBool bStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditableTrackName )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [out] */ BSTR *pbszTrackName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrackCon )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [retval][out] */ IRsConnector **ppTrackCon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrackObj )( 
            IRfTrackFn * This,
            /* [in] */ IRsNode *spNode,
            /* [out] */ IRdAnimTrack **ppTrackDataObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumTracks )( 
            IRfTrackFn * This,
            /* [in] */ IRsNode *spNode,
            /* [in] */ IRsEnumTracks **ppEnumAnimTrack);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumAnimClips )( 
            IRfTrackFn * This,
            /* [in] */ IRsNode *spNode,
            /* [retval][out] */ IRsEnumNodes **ppEnumClips);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *TrackEnumClips )( 
            IRfTrackFn * This,
            /* [in] */ IRsNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRsEnumNodes **ppEnumClips);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddClipToTrack )( 
            IRfTrackFn * This,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ IRsNode *spClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetBlendMode )( 
            IRfTrackFn * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ RtTrackBlendMode eBlendMode);
        
        END_INTERFACE
    } IRfTrackFnVtbl;

    interface IRfTrackFn
    {
        CONST_VTBL struct IRfTrackFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfTrackFn_CreateTrack(This,spNode,bszTrackName)	\
    (This)->lpVtbl -> CreateTrack(This,spNode,bszTrackName)

#define IRfTrackFn_AddNewTrack(This,spNode,pbszNewTrackName)	\
    (This)->lpVtbl -> AddNewTrack(This,spNode,pbszNewTrackName)

#define IRfTrackFn_RemoveTrack(This,spNode,bszTrackName)	\
    (This)->lpVtbl -> RemoveTrack(This,spNode,bszTrackName)

#define IRfTrackFn_RenameTrack(This,spNode,bszTrackName,bszNewTrackName)	\
    (This)->lpVtbl -> RenameTrack(This,spNode,bszTrackName,bszNewTrackName)

#define IRfTrackFn_MergeTracks(This,spNode,pbszNewTrackName)	\
    (This)->lpVtbl -> MergeTracks(This,spNode,pbszNewTrackName)

#define IRfTrackFn_EditableTrack(This,spNode,bszTrackName,bEditable)	\
    (This)->lpVtbl -> EditableTrack(This,spNode,bszTrackName,bEditable)

#define IRfTrackFn_DisableTrack(This,spNode,bszTrackName,bDisable)	\
    (This)->lpVtbl -> DisableTrack(This,spNode,bszTrackName,bDisable)

#define IRfTrackFn_PassThroughStatus(This,spNode,bszTrackName,bStatus)	\
    (This)->lpVtbl -> PassThroughStatus(This,spNode,bszTrackName,bStatus)

#define IRfTrackFn_GetEditableTrackName(This,spNode,pbszTrackName)	\
    (This)->lpVtbl -> GetEditableTrackName(This,spNode,pbszTrackName)

#define IRfTrackFn_GetTrackCon(This,spNode,ppTrackCon)	\
    (This)->lpVtbl -> GetTrackCon(This,spNode,ppTrackCon)

#define IRfTrackFn_GetTrackObj(This,spNode,ppTrackDataObj)	\
    (This)->lpVtbl -> GetTrackObj(This,spNode,ppTrackDataObj)

#define IRfTrackFn_EnumTracks(This,spNode,ppEnumAnimTrack)	\
    (This)->lpVtbl -> EnumTracks(This,spNode,ppEnumAnimTrack)

#define IRfTrackFn_EnumAnimClips(This,spNode,ppEnumClips)	\
    (This)->lpVtbl -> EnumAnimClips(This,spNode,ppEnumClips)

#define IRfTrackFn_TrackEnumClips(This,spNode,bszTrackName,ppEnumClips)	\
    (This)->lpVtbl -> TrackEnumClips(This,spNode,bszTrackName,ppEnumClips)

#define IRfTrackFn_AddClipToTrack(This,bszTrackName,spClipNode)	\
    (This)->lpVtbl -> AddClipToTrack(This,bszTrackName,spClipNode)

#define IRfTrackFn_SetBlendMode(This,spNode,bszTrackName,eBlendMode)	\
    (This)->lpVtbl -> SetBlendMode(This,spNode,bszTrackName,eBlendMode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_CreateTrack_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_AddNewTrack_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [out] */ BSTR *pbszNewTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_RemoveTrack_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_RenameTrack_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ BSTR bszNewTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_MergeTracks_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [out] */ BSTR *pbszNewTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_EditableTrack_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtBool bEditable);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_DisableTrack_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtBool bDisable);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_PassThroughStatus_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtBool bStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_GetEditableTrackName_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [out] */ BSTR *pbszTrackName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_GetTrackCon_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [retval][out] */ IRsConnector **ppTrackCon);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_GetTrackObj_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsNode *spNode,
    /* [out] */ IRdAnimTrack **ppTrackDataObj);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_EnumTracks_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsNode *spNode,
    /* [in] */ IRsEnumTracks **ppEnumAnimTrack);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_EnumAnimClips_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsNode *spNode,
    /* [retval][out] */ IRsEnumNodes **ppEnumClips);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_TrackEnumClips_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsNode *spNode,
    /* [in] */ BSTR bszTrackName,
    /* [retval][out] */ IRsEnumNodes **ppEnumClips);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_AddClipToTrack_Proxy( 
    IRfTrackFn * This,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ IRsNode *spClipNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfTrackFn_SetBlendMode_Proxy( 
    IRfTrackFn * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ RtTrackBlendMode eBlendMode);


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



#endif 	/* __IRfTrackFn_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Anim_1767 */
/* [local] */ 

typedef 
enum tagRtExpandStatus
    {	TI_EXPAND_DEFAULT	= 0,
	TI_EXPAND_ALWAYS	= 1,
	TI_EXPAND_NEVER	= 2
    } 	RtExpandStatus;



extern RPC_IF_HANDLE __MIDL_itf__Anim_1767_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_1767_v0_0_s_ifspec;

#ifndef __IRsStTreeItem_INTERFACE_DEFINED__
#define __IRsStTreeItem_INTERFACE_DEFINED__

/* interface IRsStTreeItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStTreeItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5EC0EBEF-3D39-412e-98C9-2555DCA455A7")
    IRsStTreeItem : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ BSTR bszItemName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ BSTR *pbszItemName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDataItemRef( 
            /* [in] */ IRsAnimRenderNode *pTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataItemRef( 
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [in] */ RtBool bSelect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsSelected( 
            /* [out] */ RtBool *pbIsSelected) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Expand( 
            /* [in] */ RtBool bExpand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsExpanded( 
            /* [out] */ RtBool *pbIsExpanded) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExpandStatus( 
            /* [in] */ RtExpandStatus eExpandStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnAction( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pAnimView) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStTreeItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStTreeItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStTreeItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStTreeItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsStTreeItem * This,
            /* [in] */ BSTR bszItemName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsStTreeItem * This,
            /* [out] */ BSTR *pbszItemName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDataItemRef )( 
            IRsStTreeItem * This,
            /* [in] */ IRsAnimRenderNode *pTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataItemRef )( 
            IRsStTreeItem * This,
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IRsStTreeItem * This,
            /* [in] */ RtBool bSelect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsSelected )( 
            IRsStTreeItem * This,
            /* [out] */ RtBool *pbIsSelected);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Expand )( 
            IRsStTreeItem * This,
            /* [in] */ RtBool bExpand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsExpanded )( 
            IRsStTreeItem * This,
            /* [out] */ RtBool *pbIsExpanded);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExpandStatus )( 
            IRsStTreeItem * This,
            /* [in] */ RtExpandStatus eExpandStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnAction )( 
            IRsStTreeItem * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pAnimView);
        
        END_INTERFACE
    } IRsStTreeItemVtbl;

    interface IRsStTreeItem
    {
        CONST_VTBL struct IRsStTreeItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsStTreeItem_SetData(This,bszItemName)	\
    (This)->lpVtbl -> SetData(This,bszItemName)

#define IRsStTreeItem_GetData(This,pbszItemName)	\
    (This)->lpVtbl -> GetData(This,pbszItemName)

#define IRsStTreeItem_SetDataItemRef(This,pTreeItemNode)	\
    (This)->lpVtbl -> SetDataItemRef(This,pTreeItemNode)

#define IRsStTreeItem_GetDataItemRef(This,ppTreeItemNode)	\
    (This)->lpVtbl -> GetDataItemRef(This,ppTreeItemNode)

#define IRsStTreeItem_Select(This,bSelect)	\
    (This)->lpVtbl -> Select(This,bSelect)

#define IRsStTreeItem_IsSelected(This,pbIsSelected)	\
    (This)->lpVtbl -> IsSelected(This,pbIsSelected)

#define IRsStTreeItem_Expand(This,bExpand)	\
    (This)->lpVtbl -> Expand(This,bExpand)

#define IRsStTreeItem_IsExpanded(This,pbIsExpanded)	\
    (This)->lpVtbl -> IsExpanded(This,pbIsExpanded)

#define IRsStTreeItem_ExpandStatus(This,eExpandStatus)	\
    (This)->lpVtbl -> ExpandStatus(This,eExpandStatus)

#define IRsStTreeItem_OnAction(This,pEvent,pAnimView)	\
    (This)->lpVtbl -> OnAction(This,pEvent,pAnimView)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_SetData_Proxy( 
    IRsStTreeItem * This,
    /* [in] */ BSTR bszItemName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_GetData_Proxy( 
    IRsStTreeItem * This,
    /* [out] */ BSTR *pbszItemName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_SetDataItemRef_Proxy( 
    IRsStTreeItem * This,
    /* [in] */ IRsAnimRenderNode *pTreeItemNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_GetDataItemRef_Proxy( 
    IRsStTreeItem * This,
    /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_Select_Proxy( 
    IRsStTreeItem * This,
    /* [in] */ RtBool bSelect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_IsSelected_Proxy( 
    IRsStTreeItem * This,
    /* [out] */ RtBool *pbIsSelected);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_Expand_Proxy( 
    IRsStTreeItem * This,
    /* [in] */ RtBool bExpand);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_IsExpanded_Proxy( 
    IRsStTreeItem * This,
    /* [out] */ RtBool *pbIsExpanded);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_ExpandStatus_Proxy( 
    IRsStTreeItem * This,
    /* [in] */ RtExpandStatus eExpandStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItem_OnAction_Proxy( 
    IRsStTreeItem * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pAnimView);


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



#endif 	/* __IRsStTreeItem_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Anim_1768 */
/* [local] */ 

typedef 
enum tagRtTreeItemEventType
    {	TI_EVENT_SELECT	= 0,
	TI_EVENT_ADDTOSELECTION	= 1,
	TI_EXPAND_EXPAND	= 2
    } 	RtTreeItemEventType;



extern RPC_IF_HANDLE __MIDL_itf__Anim_1768_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_1768_v0_0_s_ifspec;

#ifndef __IRsStTreeItemNotify_INTERFACE_DEFINED__
#define __IRsStTreeItemNotify_INTERFACE_DEFINED__

/* interface IRsStTreeItemNotify */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStTreeItemNotify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7CC44DEC-9322-4050-BD6E-C52AC1F06E45")
    IRsStTreeItemNotify : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnNotifyEvent( 
            /* [in] */ IRsAnimRenderNode *pSource,
            /* [in] */ RtTreeItemEventType eventType,
            /* [out] */ RtBool *pbHandled) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStTreeItemNotifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStTreeItemNotify * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStTreeItemNotify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStTreeItemNotify * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnNotifyEvent )( 
            IRsStTreeItemNotify * This,
            /* [in] */ IRsAnimRenderNode *pSource,
            /* [in] */ RtTreeItemEventType eventType,
            /* [out] */ RtBool *pbHandled);
        
        END_INTERFACE
    } IRsStTreeItemNotifyVtbl;

    interface IRsStTreeItemNotify
    {
        CONST_VTBL struct IRsStTreeItemNotifyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsStTreeItemNotify_OnNotifyEvent(This,pSource,eventType,pbHandled)	\
    (This)->lpVtbl -> OnNotifyEvent(This,pSource,eventType,pbHandled)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeItemNotify_OnNotifyEvent_Proxy( 
    IRsStTreeItemNotify * This,
    /* [in] */ IRsAnimRenderNode *pSource,
    /* [in] */ RtTreeItemEventType eventType,
    /* [out] */ RtBool *pbHandled);


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



#endif 	/* __IRsStTreeItemNotify_INTERFACE_DEFINED__ */


#ifndef __IRsStTrack_INTERFACE_DEFINED__
#define __IRsStTrack_INTERFACE_DEFINED__

/* interface IRsStTrack */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC8720F1-1165-4f9d-B179-0CD5AC79A788")
    IRsStTrack : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTrackData( 
            /* [in] */ BSTR bszObjName,
            /* [in] */ IRsTrackItem *pTrackItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrackData( 
            /* [out] */ BSTR *pbszObjName,
            /* [out] */ IRsTrackItem **ppTrackItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTreeItemRef( 
            /* [in] */ IRsAnimRenderNode *pTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTreeItemRef( 
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimationInterval( 
            /* [out] */ RtTime *pStartAnim,
            /* [out] */ RtTime *pEndAnim) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTrackData )( 
            IRsStTrack * This,
            /* [in] */ BSTR bszObjName,
            /* [in] */ IRsTrackItem *pTrackItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrackData )( 
            IRsStTrack * This,
            /* [out] */ BSTR *pbszObjName,
            /* [out] */ IRsTrackItem **ppTrackItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTreeItemRef )( 
            IRsStTrack * This,
            /* [in] */ IRsAnimRenderNode *pTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTreeItemRef )( 
            IRsStTrack * This,
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimationInterval )( 
            IRsStTrack * This,
            /* [out] */ RtTime *pStartAnim,
            /* [out] */ RtTime *pEndAnim);
        
        END_INTERFACE
    } IRsStTrackVtbl;

    interface IRsStTrack
    {
        CONST_VTBL struct IRsStTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsStTrack_SetTrackData(This,bszObjName,pTrackItem)	\
    (This)->lpVtbl -> SetTrackData(This,bszObjName,pTrackItem)

#define IRsStTrack_GetTrackData(This,pbszObjName,ppTrackItem)	\
    (This)->lpVtbl -> GetTrackData(This,pbszObjName,ppTrackItem)

#define IRsStTrack_SetTreeItemRef(This,pTreeItemNode)	\
    (This)->lpVtbl -> SetTreeItemRef(This,pTreeItemNode)

#define IRsStTrack_GetTreeItemRef(This,ppTreeItemNode)	\
    (This)->lpVtbl -> GetTreeItemRef(This,ppTreeItemNode)

#define IRsStTrack_GetAnimationInterval(This,pStartAnim,pEndAnim)	\
    (This)->lpVtbl -> GetAnimationInterval(This,pStartAnim,pEndAnim)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTrack_SetTrackData_Proxy( 
    IRsStTrack * This,
    /* [in] */ BSTR bszObjName,
    /* [in] */ IRsTrackItem *pTrackItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTrack_GetTrackData_Proxy( 
    IRsStTrack * This,
    /* [out] */ BSTR *pbszObjName,
    /* [out] */ IRsTrackItem **ppTrackItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTrack_SetTreeItemRef_Proxy( 
    IRsStTrack * This,
    /* [in] */ IRsAnimRenderNode *pTreeItemNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTrack_GetTreeItemRef_Proxy( 
    IRsStTrack * This,
    /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTrack_GetAnimationInterval_Proxy( 
    IRsStTrack * This,
    /* [out] */ RtTime *pStartAnim,
    /* [out] */ RtTime *pEndAnim);


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



#endif 	/* __IRsStTrack_INTERFACE_DEFINED__ */


#ifndef __IRfAnimRender_INTERFACE_DEFINED__
#define __IRfAnimRender_INTERFACE_DEFINED__

/* interface IRfAnimRender */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfAnimRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E8249698-EBCE-419E-896F-F4E37D867CB7")
    IRfAnimRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FillGraph( 
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachAttrTreeFilter( 
            /* [in] */ IRsAnimRenderNode *pRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachAttrTreeFilter( 
            /* [in] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateRenderNode( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTimeLineRenderNode( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTimeRenderNode( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfAnimRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfAnimRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfAnimRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfAnimRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FillGraph )( 
            IRfAnimRender * This,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachAttrTreeFilter )( 
            IRfAnimRender * This,
            /* [in] */ IRsAnimRenderNode *pRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachAttrTreeFilter )( 
            IRfAnimRender * This,
            /* [in] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateRenderNode )( 
            IRfAnimRender * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateTimeLineRenderNode )( 
            IRfAnimRender * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateTimeRenderNode )( 
            IRfAnimRender * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        END_INTERFACE
    } IRfAnimRenderVtbl;

    interface IRfAnimRender
    {
        CONST_VTBL struct IRfAnimRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfAnimRender_FillGraph(This,pRenderGraph,pRoot)	\
    (This)->lpVtbl -> FillGraph(This,pRenderGraph,pRoot)

#define IRfAnimRender_AttachAttrTreeFilter(This,pRenderNode)	\
    (This)->lpVtbl -> AttachAttrTreeFilter(This,pRenderNode)

#define IRfAnimRender_DetachAttrTreeFilter(This,ppRenderNode)	\
    (This)->lpVtbl -> DetachAttrTreeFilter(This,ppRenderNode)

#define IRfAnimRender_CreateRenderNode(This,ppRenderNode)	\
    (This)->lpVtbl -> CreateRenderNode(This,ppRenderNode)

#define IRfAnimRender_CreateTimeLineRenderNode(This,ppRenderNode)	\
    (This)->lpVtbl -> CreateTimeLineRenderNode(This,ppRenderNode)

#define IRfAnimRender_CreateTimeRenderNode(This,ppRenderNode)	\
    (This)->lpVtbl -> CreateTimeRenderNode(This,ppRenderNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimRender_FillGraph_Proxy( 
    IRfAnimRender * This,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph,
    /* [in] */ IRsNode *pRoot);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimRender_AttachAttrTreeFilter_Proxy( 
    IRfAnimRender * This,
    /* [in] */ IRsAnimRenderNode *pRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimRender_DetachAttrTreeFilter_Proxy( 
    IRfAnimRender * This,
    /* [in] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimRender_CreateRenderNode_Proxy( 
    IRfAnimRender * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimRender_CreateTimeLineRenderNode_Proxy( 
    IRfAnimRender * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimRender_CreateTimeRenderNode_Proxy( 
    IRfAnimRender * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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



#endif 	/* __IRfAnimRender_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Anim_1771 */
/* [local] */ 

typedef 
enum tagReFcEditId
    {	FC_EDITTYPE_MINVALUE	= 1,
	FC_EDITTYPE_MAXVALUE	= 2,
	FC_EDITTYPE_SHARPNESS	= 3,
	FC_EDITTYPE_ANGLE	= 4,
	FC_EDITTYPE_SHARPNESS_LEFT	= 5,
	FC_EDITTYPE_SHARPNESS_RIGHT	= 6,
	FC_EDITTYPE_ANGLE_LEFT	= 7,
	FC_EDITTYPE_ANGLE_RIGHT	= 8
    } 	ReFcEditId;



extern RPC_IF_HANDLE __MIDL_itf__Anim_1771_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_1771_v0_0_s_ifspec;

#ifndef __IRsFcEditValue_INTERFACE_DEFINED__
#define __IRsFcEditValue_INTERFACE_DEFINED__

/* interface IRsFcEditValue */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcEditValue;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("342ACEC1-3873-483d-812E-F8487DD827DA")
    IRsFcEditValue : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEditId( 
            /* [in] */ ReFcEditId bValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditId( 
            /* [out] */ ReFcEditId *pbValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetInitialValue( 
            /* [in] */ RtFloat fInitalValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcEditValueVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcEditValue * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcEditValue * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcEditValue * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetEditId )( 
            IRsFcEditValue * This,
            /* [in] */ ReFcEditId bValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditId )( 
            IRsFcEditValue * This,
            /* [out] */ ReFcEditId *pbValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetInitialValue )( 
            IRsFcEditValue * This,
            /* [in] */ RtFloat fInitalValue);
        
        END_INTERFACE
    } IRsFcEditValueVtbl;

    interface IRsFcEditValue
    {
        CONST_VTBL struct IRsFcEditValueVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsFcEditValue_SetEditId(This,bValue)	\
    (This)->lpVtbl -> SetEditId(This,bValue)

#define IRsFcEditValue_GetEditId(This,pbValue)	\
    (This)->lpVtbl -> GetEditId(This,pbValue)

#define IRsFcEditValue_SetInitialValue(This,fInitalValue)	\
    (This)->lpVtbl -> SetInitialValue(This,fInitalValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcEditValue_SetEditId_Proxy( 
    IRsFcEditValue * This,
    /* [in] */ ReFcEditId bValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcEditValue_GetEditId_Proxy( 
    IRsFcEditValue * This,
    /* [out] */ ReFcEditId *pbValue);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcEditValue_SetInitialValue_Proxy( 
    IRsFcEditValue * This,
    /* [in] */ RtFloat fInitalValue);


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



#endif 	/* __IRsFcEditValue_INTERFACE_DEFINED__ */


#ifndef __IRfFcAnimRender_INTERFACE_DEFINED__
#define __IRfFcAnimRender_INTERFACE_DEFINED__

/* interface IRfFcAnimRender */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfFcAnimRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("704439D2-16C0-4737-BFB7-D3ABC733317A")
    IRfFcAnimRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachAttrTreeFilter( 
            /* [in] */ IRsAnimRenderNode *pRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachAttrTreeFilter( 
            /* [in] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FillGraph( 
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfFcAnimRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfFcAnimRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfFcAnimRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfFcAnimRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachAttrTreeFilter )( 
            IRfFcAnimRender * This,
            /* [in] */ IRsAnimRenderNode *pRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachAttrTreeFilter )( 
            IRfFcAnimRender * This,
            /* [in] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FillGraph )( 
            IRfFcAnimRender * This,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot);
        
        END_INTERFACE
    } IRfFcAnimRenderVtbl;

    interface IRfFcAnimRender
    {
        CONST_VTBL struct IRfFcAnimRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfFcAnimRender_AttachAttrTreeFilter(This,pRenderNode)	\
    (This)->lpVtbl -> AttachAttrTreeFilter(This,pRenderNode)

#define IRfFcAnimRender_DetachAttrTreeFilter(This,ppRenderNode)	\
    (This)->lpVtbl -> DetachAttrTreeFilter(This,ppRenderNode)

#define IRfFcAnimRender_FillGraph(This,pRenderGraph,pRoot)	\
    (This)->lpVtbl -> FillGraph(This,pRenderGraph,pRoot)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFcAnimRender_AttachAttrTreeFilter_Proxy( 
    IRfFcAnimRender * This,
    /* [in] */ IRsAnimRenderNode *pRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFcAnimRender_DetachAttrTreeFilter_Proxy( 
    IRfFcAnimRender * This,
    /* [in] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfFcAnimRender_FillGraph_Proxy( 
    IRfFcAnimRender * This,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph,
    /* [in] */ IRsNode *pRoot);


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



#endif 	/* __IRfFcAnimRender_INTERFACE_DEFINED__ */


#ifndef __IRfStAnimRender_INTERFACE_DEFINED__
#define __IRfStAnimRender_INTERFACE_DEFINED__

/* interface IRfStAnimRender */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfStAnimRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8F68D76E-0CEF-4d84-B36B-9AFB0D21A41F")
    IRfStAnimRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttachAttrTreeFilter( 
            /* [in] */ IRsAnimRenderNode *pRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DetachAttrTreeFilter( 
            /* [in] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FillGraph( 
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfStAnimRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfStAnimRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfStAnimRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfStAnimRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttachAttrTreeFilter )( 
            IRfStAnimRender * This,
            /* [in] */ IRsAnimRenderNode *pRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DetachAttrTreeFilter )( 
            IRfStAnimRender * This,
            /* [in] */ IRsAnimRenderNode **ppRenderNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FillGraph )( 
            IRfStAnimRender * This,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot);
        
        END_INTERFACE
    } IRfStAnimRenderVtbl;

    interface IRfStAnimRender
    {
        CONST_VTBL struct IRfStAnimRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfStAnimRender_AttachAttrTreeFilter(This,pRenderNode)	\
    (This)->lpVtbl -> AttachAttrTreeFilter(This,pRenderNode)

#define IRfStAnimRender_DetachAttrTreeFilter(This,ppRenderNode)	\
    (This)->lpVtbl -> DetachAttrTreeFilter(This,ppRenderNode)

#define IRfStAnimRender_FillGraph(This,pRenderGraph,pRoot)	\
    (This)->lpVtbl -> FillGraph(This,pRenderGraph,pRoot)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfStAnimRender_AttachAttrTreeFilter_Proxy( 
    IRfStAnimRender * This,
    /* [in] */ IRsAnimRenderNode *pRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfStAnimRender_DetachAttrTreeFilter_Proxy( 
    IRfStAnimRender * This,
    /* [in] */ IRsAnimRenderNode **ppRenderNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfStAnimRender_FillGraph_Proxy( 
    IRfStAnimRender * This,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph,
    /* [in] */ IRsNode *pRoot);


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



#endif 	/* __IRfStAnimRender_INTERFACE_DEFINED__ */


#ifndef __IRfAnim_INTERFACE_DEFINED__
#define __IRfAnim_INTERFACE_DEFINED__

/* interface IRfAnim */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfAnim;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1F70C0F4-6D97-41D1-AECF-93DC2207D708")
    IRfAnim : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PutFrame( 
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [in] */ RtTime timeT) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKeyFrame( 
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [in] */ BSTR bszAnimAttrName,
            /* [in] */ RtTime timeT) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateClip( 
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRnAnimClip **ppClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataInterpolator( 
            /* [in] */ IRsConnector *pCon,
            /* [retval][out] */ IRsDataInterpolator **ppDataInterpolator) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsObjectAnimated( 
            /* [in] */ IRsNode *pNode,
            /* [out] */ RtBool *pbAnimated) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EvalStartEnd( 
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [out] */ RtTime *ptStart,
            /* [out] */ RtTime *ptEnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAnimMng( 
            /* [retval][out] */ IRnAnimMng **ppAnimMng) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindAnimMng( 
            /* [retval][out] */ IRnAnimMng **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAnimPreferences( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindAnimPreferences( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfAnimVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfAnim * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfAnim * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfAnim * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *PutFrame )( 
            IRfAnim * This,
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [in] */ RtTime timeT);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKeyFrame )( 
            IRfAnim * This,
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [in] */ BSTR bszAnimAttrName,
            /* [in] */ RtTime timeT);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateClip )( 
            IRfAnim * This,
            /* [in] */ IRsBaseNode *spNode,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ IRnAnimClip **ppClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataInterpolator )( 
            IRfAnim * This,
            /* [in] */ IRsConnector *pCon,
            /* [retval][out] */ IRsDataInterpolator **ppDataInterpolator);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsObjectAnimated )( 
            IRfAnim * This,
            /* [in] */ IRsNode *pNode,
            /* [out] */ RtBool *pbAnimated);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EvalStartEnd )( 
            IRfAnim * This,
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [out] */ RtTime *ptStart,
            /* [out] */ RtTime *ptEnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAnimMng )( 
            IRfAnim * This,
            /* [retval][out] */ IRnAnimMng **ppAnimMng);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindAnimMng )( 
            IRfAnim * This,
            /* [retval][out] */ IRnAnimMng **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAnimPreferences )( 
            IRfAnim * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FindAnimPreferences )( 
            IRfAnim * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        END_INTERFACE
    } IRfAnimVtbl;

    interface IRfAnim
    {
        CONST_VTBL struct IRfAnimVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfAnim_PutFrame(This,pAnimSpaceRoot,timeT)	\
    (This)->lpVtbl -> PutFrame(This,pAnimSpaceRoot,timeT)

#define IRfAnim_SetKeyFrame(This,pAnimSpaceRoot,bszAnimAttrName,timeT)	\
    (This)->lpVtbl -> SetKeyFrame(This,pAnimSpaceRoot,bszAnimAttrName,timeT)

#define IRfAnim_CreateClip(This,spNode,bszTrackName,ppClipNode)	\
    (This)->lpVtbl -> CreateClip(This,spNode,bszTrackName,ppClipNode)

#define IRfAnim_GetDataInterpolator(This,pCon,ppDataInterpolator)	\
    (This)->lpVtbl -> GetDataInterpolator(This,pCon,ppDataInterpolator)

#define IRfAnim_IsObjectAnimated(This,pNode,pbAnimated)	\
    (This)->lpVtbl -> IsObjectAnimated(This,pNode,pbAnimated)

#define IRfAnim_EvalStartEnd(This,pAnimSpaceRoot,ptStart,ptEnd)	\
    (This)->lpVtbl -> EvalStartEnd(This,pAnimSpaceRoot,ptStart,ptEnd)

#define IRfAnim_CreateAnimMng(This,ppAnimMng)	\
    (This)->lpVtbl -> CreateAnimMng(This,ppAnimMng)

#define IRfAnim_FindAnimMng(This,ppNode)	\
    (This)->lpVtbl -> FindAnimMng(This,ppNode)

#define IRfAnim_CreateAnimPreferences(This,ppNode)	\
    (This)->lpVtbl -> CreateAnimPreferences(This,ppNode)

#define IRfAnim_FindAnimPreferences(This,ppNode)	\
    (This)->lpVtbl -> FindAnimPreferences(This,ppNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_PutFrame_Proxy( 
    IRfAnim * This,
    /* [in] */ IRsNode *pAnimSpaceRoot,
    /* [in] */ RtTime timeT);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_SetKeyFrame_Proxy( 
    IRfAnim * This,
    /* [in] */ IRsNode *pAnimSpaceRoot,
    /* [in] */ BSTR bszAnimAttrName,
    /* [in] */ RtTime timeT);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_CreateClip_Proxy( 
    IRfAnim * This,
    /* [in] */ IRsBaseNode *spNode,
    /* [in] */ BSTR bszTrackName,
    /* [retval][out] */ IRnAnimClip **ppClipNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_GetDataInterpolator_Proxy( 
    IRfAnim * This,
    /* [in] */ IRsConnector *pCon,
    /* [retval][out] */ IRsDataInterpolator **ppDataInterpolator);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_IsObjectAnimated_Proxy( 
    IRfAnim * This,
    /* [in] */ IRsNode *pNode,
    /* [out] */ RtBool *pbAnimated);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_EvalStartEnd_Proxy( 
    IRfAnim * This,
    /* [in] */ IRsNode *pAnimSpaceRoot,
    /* [out] */ RtTime *ptStart,
    /* [out] */ RtTime *ptEnd);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_CreateAnimMng_Proxy( 
    IRfAnim * This,
    /* [retval][out] */ IRnAnimMng **ppAnimMng);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_FindAnimMng_Proxy( 
    IRfAnim * This,
    /* [retval][out] */ IRnAnimMng **ppNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_CreateAnimPreferences_Proxy( 
    IRfAnim * This,
    /* [retval][out] */ IRsNode **ppNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnim_FindAnimPreferences_Proxy( 
    IRfAnim * This,
    /* [retval][out] */ IRsNode **ppNode);


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



#endif 	/* __IRfAnim_INTERFACE_DEFINED__ */


#ifndef __IRcAEOp_INTERFACE_DEFINED__
#define __IRcAEOp_INTERFACE_DEFINED__

/* interface IRcAEOp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAEOp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("56673D4D-80BF-42a7-8669-5A1A85575F18")
    IRcAEOp : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAEOpVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAEOp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAEOp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAEOp * This);
        
        END_INTERFACE
    } IRcAEOpVtbl;

    interface IRcAEOp
    {
        CONST_VTBL struct IRcAEOpVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAEOp_INTERFACE_DEFINED__ */


#ifndef __IRfClipFn_INTERFACE_DEFINED__
#define __IRfClipFn_INTERFACE_DEFINED__

/* interface IRfClipFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfClipFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7E6568E7-0B24-40af-BF89-947F077B3C5B")
    IRfClipFn : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKeyFrame( 
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [in] */ IRnAnimClip *pAnimClip,
            /* [in] */ BSTR bszAnimAttrName,
            /* [in] */ RtTime timeT) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipNode( 
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ BSTR bszClipName,
            /* [retval][out] */ IRnAnimClip **ppClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddClip( 
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ IRnAnimClip *pClip,
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddClipToTrack( 
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ IRnAnimClip *pClip,
            /* [in] */ BSTR bszTrackId,
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveClips( 
            /* [in] */ IRdAnimClipSel *spClipSelection) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveClip( 
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ BSTR bszClipName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfClipFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfClipFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfClipFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfClipFn * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKeyFrame )( 
            IRfClipFn * This,
            /* [in] */ IRsNode *pAnimSpaceRoot,
            /* [in] */ IRnAnimClip *pAnimClip,
            /* [in] */ BSTR bszAnimAttrName,
            /* [in] */ RtTime timeT);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipNode )( 
            IRfClipFn * This,
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ BSTR bszClipName,
            /* [retval][out] */ IRnAnimClip **ppClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddClip )( 
            IRfClipFn * This,
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ IRnAnimClip *pClip,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddClipToTrack )( 
            IRfClipFn * This,
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ IRnAnimClip *pClip,
            /* [in] */ BSTR bszTrackId,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveClips )( 
            IRfClipFn * This,
            /* [in] */ IRdAnimClipSel *spClipSelection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveClip )( 
            IRfClipFn * This,
            /* [in] */ IRsNode *pAnimSpace,
            /* [in] */ BSTR bszClipName);
        
        END_INTERFACE
    } IRfClipFnVtbl;

    interface IRfClipFn
    {
        CONST_VTBL struct IRfClipFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRfClipFn_SetKeyFrame(This,pAnimSpaceRoot,pAnimClip,bszAnimAttrName,timeT)	\
    (This)->lpVtbl -> SetKeyFrame(This,pAnimSpaceRoot,pAnimClip,bszAnimAttrName,timeT)

#define IRfClipFn_GetClipNode(This,pAnimSpace,bszClipName,ppClipNode)	\
    (This)->lpVtbl -> GetClipNode(This,pAnimSpace,bszClipName,ppClipNode)

#define IRfClipFn_AddClip(This,pAnimSpace,pClip,tTime)	\
    (This)->lpVtbl -> AddClip(This,pAnimSpace,pClip,tTime)

#define IRfClipFn_AddClipToTrack(This,pAnimSpace,pClip,bszTrackId,tTime)	\
    (This)->lpVtbl -> AddClipToTrack(This,pAnimSpace,pClip,bszTrackId,tTime)

#define IRfClipFn_RemoveClips(This,spClipSelection)	\
    (This)->lpVtbl -> RemoveClips(This,spClipSelection)

#define IRfClipFn_RemoveClip(This,pAnimSpace,bszClipName)	\
    (This)->lpVtbl -> RemoveClip(This,pAnimSpace,bszClipName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfClipFn_SetKeyFrame_Proxy( 
    IRfClipFn * This,
    /* [in] */ IRsNode *pAnimSpaceRoot,
    /* [in] */ IRnAnimClip *pAnimClip,
    /* [in] */ BSTR bszAnimAttrName,
    /* [in] */ RtTime timeT);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfClipFn_GetClipNode_Proxy( 
    IRfClipFn * This,
    /* [in] */ IRsNode *pAnimSpace,
    /* [in] */ BSTR bszClipName,
    /* [retval][out] */ IRnAnimClip **ppClipNode);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfClipFn_AddClip_Proxy( 
    IRfClipFn * This,
    /* [in] */ IRsNode *pAnimSpace,
    /* [in] */ IRnAnimClip *pClip,
    /* [in] */ RtTime tTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfClipFn_AddClipToTrack_Proxy( 
    IRfClipFn * This,
    /* [in] */ IRsNode *pAnimSpace,
    /* [in] */ IRnAnimClip *pClip,
    /* [in] */ BSTR bszTrackId,
    /* [in] */ RtTime tTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfClipFn_RemoveClips_Proxy( 
    IRfClipFn * This,
    /* [in] */ IRdAnimClipSel *spClipSelection);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfClipFn_RemoveClip_Proxy( 
    IRfClipFn * This,
    /* [in] */ IRsNode *pAnimSpace,
    /* [in] */ BSTR bszClipName);


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



#endif 	/* __IRfClipFn_INTERFACE_DEFINED__ */


#ifndef __IRpAnimPck_INTERFACE_DEFINED__
#define __IRpAnimPck_INTERFACE_DEFINED__

/* interface IRpAnimPck */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRpAnimPck;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14ACFB14-058E-4673-8343-AC0FF4C60DD1")
    IRpAnimPck : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAnimFnSet( 
            /* [retval][out] */ IRfAnim **ppAnimFnSet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAnimTrackFnSet( 
            /* [retval][out] */ IRfTrackFn **ppAnimTrackFnSet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAnimClipFnSet( 
            /* [retval][out] */ IRfClipFn **ppAnimClipFnSet) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRpAnimPckVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRpAnimPck * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRpAnimPck * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRpAnimPck * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAnimFnSet )( 
            IRpAnimPck * This,
            /* [retval][out] */ IRfAnim **ppAnimFnSet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAnimTrackFnSet )( 
            IRpAnimPck * This,
            /* [retval][out] */ IRfTrackFn **ppAnimTrackFnSet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAnimClipFnSet )( 
            IRpAnimPck * This,
            /* [retval][out] */ IRfClipFn **ppAnimClipFnSet);
        
        END_INTERFACE
    } IRpAnimPckVtbl;

    interface IRpAnimPck
    {
        CONST_VTBL struct IRpAnimPckVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRpAnimPck_CreateAnimFnSet(This,ppAnimFnSet)	\
    (This)->lpVtbl -> CreateAnimFnSet(This,ppAnimFnSet)

#define IRpAnimPck_CreateAnimTrackFnSet(This,ppAnimTrackFnSet)	\
    (This)->lpVtbl -> CreateAnimTrackFnSet(This,ppAnimTrackFnSet)

#define IRpAnimPck_CreateAnimClipFnSet(This,ppAnimClipFnSet)	\
    (This)->lpVtbl -> CreateAnimClipFnSet(This,ppAnimClipFnSet)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpAnimPck_CreateAnimFnSet_Proxy( 
    IRpAnimPck * This,
    /* [retval][out] */ IRfAnim **ppAnimFnSet);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpAnimPck_CreateAnimTrackFnSet_Proxy( 
    IRpAnimPck * This,
    /* [retval][out] */ IRfTrackFn **ppAnimTrackFnSet);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpAnimPck_CreateAnimClipFnSet_Proxy( 
    IRpAnimPck * This,
    /* [retval][out] */ IRfClipFn **ppAnimClipFnSet);


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



#endif 	/* __IRpAnimPck_INTERFACE_DEFINED__ */


#ifndef __IRsStClip_INTERFACE_DEFINED__
#define __IRsStClip_INTERFACE_DEFINED__

/* interface IRsStClip */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStClip;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("72598316-6FE0-4a54-A1AA-9DF8F7A139EE")
    IRsStClip : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTrackData( 
            /* [in] */ BSTR bszObjName,
            /* [in] */ IRsTrackItem *pTrackItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrackData( 
            /* [out] */ BSTR *pbszObjName,
            /* [out] */ IRsTrackItem **ppTrackItem) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetClipData( 
            /* [in] */ BSTR bszClipName,
            /* [in] */ RtTime tTimeStart,
            /* [in] */ RtTime tTimeEnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipData( 
            /* [out] */ RtTime *ptTimeStart,
            /* [in] */ RtTime *ptTimeEnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipName( 
            /* [out] */ BSTR *pbszClipName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipRect( 
            /* [out] */ RECT *pClipRect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSelected( 
            /* [in] */ RtBool bSetSelected) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetProcedural( 
            /* [in] */ RtBool bStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsProcedural( 
            /* [out] */ RtBool *pbStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDisabled( 
            /* [in] */ RtBool bDisbled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsDisabled( 
            /* [out] */ RtBool *pbDisbled) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKFInterval( 
            /* [in] */ RtTime tStart,
            /* [in] */ RtTime tEnd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStClipVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStClip * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStClip * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStClip * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTrackData )( 
            IRsStClip * This,
            /* [in] */ BSTR bszObjName,
            /* [in] */ IRsTrackItem *pTrackItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrackData )( 
            IRsStClip * This,
            /* [out] */ BSTR *pbszObjName,
            /* [out] */ IRsTrackItem **ppTrackItem);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetClipData )( 
            IRsStClip * This,
            /* [in] */ BSTR bszClipName,
            /* [in] */ RtTime tTimeStart,
            /* [in] */ RtTime tTimeEnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipData )( 
            IRsStClip * This,
            /* [out] */ RtTime *ptTimeStart,
            /* [in] */ RtTime *ptTimeEnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipName )( 
            IRsStClip * This,
            /* [out] */ BSTR *pbszClipName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipRect )( 
            IRsStClip * This,
            /* [out] */ RECT *pClipRect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSelected )( 
            IRsStClip * This,
            /* [in] */ RtBool bSetSelected);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetProcedural )( 
            IRsStClip * This,
            /* [in] */ RtBool bStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsProcedural )( 
            IRsStClip * This,
            /* [out] */ RtBool *pbStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDisabled )( 
            IRsStClip * This,
            /* [in] */ RtBool bDisbled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsDisabled )( 
            IRsStClip * This,
            /* [out] */ RtBool *pbDisbled);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKFInterval )( 
            IRsStClip * This,
            /* [in] */ RtTime tStart,
            /* [in] */ RtTime tEnd);
        
        END_INTERFACE
    } IRsStClipVtbl;

    interface IRsStClip
    {
        CONST_VTBL struct IRsStClipVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsStClip_SetTrackData(This,bszObjName,pTrackItem)	\
    (This)->lpVtbl -> SetTrackData(This,bszObjName,pTrackItem)

#define IRsStClip_GetTrackData(This,pbszObjName,ppTrackItem)	\
    (This)->lpVtbl -> GetTrackData(This,pbszObjName,ppTrackItem)

#define IRsStClip_SetClipData(This,bszClipName,tTimeStart,tTimeEnd)	\
    (This)->lpVtbl -> SetClipData(This,bszClipName,tTimeStart,tTimeEnd)

#define IRsStClip_GetClipData(This,ptTimeStart,ptTimeEnd)	\
    (This)->lpVtbl -> GetClipData(This,ptTimeStart,ptTimeEnd)

#define IRsStClip_GetClipName(This,pbszClipName)	\
    (This)->lpVtbl -> GetClipName(This,pbszClipName)

#define IRsStClip_GetClipRect(This,pClipRect)	\
    (This)->lpVtbl -> GetClipRect(This,pClipRect)

#define IRsStClip_SetSelected(This,bSetSelected)	\
    (This)->lpVtbl -> SetSelected(This,bSetSelected)

#define IRsStClip_SetProcedural(This,bStatus)	\
    (This)->lpVtbl -> SetProcedural(This,bStatus)

#define IRsStClip_IsProcedural(This,pbStatus)	\
    (This)->lpVtbl -> IsProcedural(This,pbStatus)

#define IRsStClip_SetDisabled(This,bDisbled)	\
    (This)->lpVtbl -> SetDisabled(This,bDisbled)

#define IRsStClip_IsDisabled(This,pbDisbled)	\
    (This)->lpVtbl -> IsDisabled(This,pbDisbled)

#define IRsStClip_SetKFInterval(This,tStart,tEnd)	\
    (This)->lpVtbl -> SetKFInterval(This,tStart,tEnd)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_SetTrackData_Proxy( 
    IRsStClip * This,
    /* [in] */ BSTR bszObjName,
    /* [in] */ IRsTrackItem *pTrackItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_GetTrackData_Proxy( 
    IRsStClip * This,
    /* [out] */ BSTR *pbszObjName,
    /* [out] */ IRsTrackItem **ppTrackItem);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_SetClipData_Proxy( 
    IRsStClip * This,
    /* [in] */ BSTR bszClipName,
    /* [in] */ RtTime tTimeStart,
    /* [in] */ RtTime tTimeEnd);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_GetClipData_Proxy( 
    IRsStClip * This,
    /* [out] */ RtTime *ptTimeStart,
    /* [in] */ RtTime *ptTimeEnd);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_GetClipName_Proxy( 
    IRsStClip * This,
    /* [out] */ BSTR *pbszClipName);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_GetClipRect_Proxy( 
    IRsStClip * This,
    /* [out] */ RECT *pClipRect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_SetSelected_Proxy( 
    IRsStClip * This,
    /* [in] */ RtBool bSetSelected);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_SetProcedural_Proxy( 
    IRsStClip * This,
    /* [in] */ RtBool bStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_IsProcedural_Proxy( 
    IRsStClip * This,
    /* [out] */ RtBool *pbStatus);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_SetDisabled_Proxy( 
    IRsStClip * This,
    /* [in] */ RtBool bDisbled);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_IsDisabled_Proxy( 
    IRsStClip * This,
    /* [out] */ RtBool *pbDisbled);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStClip_SetKFInterval_Proxy( 
    IRsStClip * This,
    /* [in] */ RtTime tStart,
    /* [in] */ RtTime tEnd);


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



#endif 	/* __IRsStClip_INTERFACE_DEFINED__ */


#ifndef __IRsDSView_INTERFACE_DEFINED__
#define __IRsDSView_INTERFACE_DEFINED__

/* interface IRsDSView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDSView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F203450D-D497-43AB-BB89-94A61786AD2E")
    IRsDSView : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderer( 
            /* [in] */ IRsDsGdiRender **ppRenderer) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDSViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDSView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDSView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDSView * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsDSView * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsDSView * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderer )( 
            IRsDSView * This,
            /* [in] */ IRsDsGdiRender **ppRenderer);
        
        END_INTERFACE
    } IRsDSViewVtbl;

    interface IRsDSView
    {
        CONST_VTBL struct IRsDSViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsDSView_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsDSView_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsDSView_GetRenderer(This,ppRenderer)	\
    (This)->lpVtbl -> GetRenderer(This,ppRenderer)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDSView_GetRenderer_Proxy( 
    IRsDSView * This,
    /* [in] */ IRsDsGdiRender **ppRenderer);


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



#endif 	/* __IRsDSView_INTERFACE_DEFINED__ */


#ifndef __IRnAnimView_INTERFACE_DEFINED__
#define __IRnAnimView_INTERFACE_DEFINED__

/* interface IRnAnimView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnAnimView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("62501AB0-02E7-49BA-BDA3-A96AE8D18509")
    IRnAnimView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetControl( 
            /* [in] */ IRsGenView **pControl) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ChangeAspect( 
            /* [in] */ BSTR bszNewAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetViewAspect( 
            /* [out] */ ReViewAspect *pViewAspect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVisibleInterval( 
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVisibleInterval( 
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetValueRenderData( 
            /* [in] */ RtValueRenderData sVRData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetValueRenderData( 
            /* [retval][out] */ RtValueRenderData *psVRData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateAttrFilter( 
            /* [in] */ RtBool bFullRebuild) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttrFilter( 
            /* [retval][out] */ IRsAnimRenderNode **ppFilterNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnAnimViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnAnimView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnAnimView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnAnimView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetControl )( 
            IRnAnimView * This,
            /* [in] */ IRsGenView **pControl);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ChangeAspect )( 
            IRnAnimView * This,
            /* [in] */ BSTR bszNewAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetViewAspect )( 
            IRnAnimView * This,
            /* [out] */ ReViewAspect *pViewAspect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVisibleInterval )( 
            IRnAnimView * This,
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVisibleInterval )( 
            IRnAnimView * This,
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetValueRenderData )( 
            IRnAnimView * This,
            /* [in] */ RtValueRenderData sVRData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetValueRenderData )( 
            IRnAnimView * This,
            /* [retval][out] */ RtValueRenderData *psVRData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateAttrFilter )( 
            IRnAnimView * This,
            /* [in] */ RtBool bFullRebuild);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttrFilter )( 
            IRnAnimView * This,
            /* [retval][out] */ IRsAnimRenderNode **ppFilterNode);
        
        END_INTERFACE
    } IRnAnimViewVtbl;

    interface IRnAnimView
    {
        CONST_VTBL struct IRnAnimViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRnAnimView_GetControl(This,pControl)	\
    (This)->lpVtbl -> GetControl(This,pControl)

#define IRnAnimView_ChangeAspect(This,bszNewAspect)	\
    (This)->lpVtbl -> ChangeAspect(This,bszNewAspect)

#define IRnAnimView_GetViewAspect(This,pViewAspect)	\
    (This)->lpVtbl -> GetViewAspect(This,pViewAspect)

#define IRnAnimView_SetVisibleInterval(This,tMinTime,tMaxTime)	\
    (This)->lpVtbl -> SetVisibleInterval(This,tMinTime,tMaxTime)

#define IRnAnimView_GetVisibleInterval(This,ptMinTime,ptMaxTime)	\
    (This)->lpVtbl -> GetVisibleInterval(This,ptMinTime,ptMaxTime)

#define IRnAnimView_SetValueRenderData(This,sVRData)	\
    (This)->lpVtbl -> SetValueRenderData(This,sVRData)

#define IRnAnimView_GetValueRenderData(This,psVRData)	\
    (This)->lpVtbl -> GetValueRenderData(This,psVRData)

#define IRnAnimView_UpdateAttrFilter(This,bFullRebuild)	\
    (This)->lpVtbl -> UpdateAttrFilter(This,bFullRebuild)

#define IRnAnimView_GetAttrFilter(This,ppFilterNode)	\
    (This)->lpVtbl -> GetAttrFilter(This,ppFilterNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_GetControl_Proxy( 
    IRnAnimView * This,
    /* [in] */ IRsGenView **pControl);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_ChangeAspect_Proxy( 
    IRnAnimView * This,
    /* [in] */ BSTR bszNewAspect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_GetViewAspect_Proxy( 
    IRnAnimView * This,
    /* [out] */ ReViewAspect *pViewAspect);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_SetVisibleInterval_Proxy( 
    IRnAnimView * This,
    /* [in] */ RtTime tMinTime,
    /* [in] */ RtTime tMaxTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_GetVisibleInterval_Proxy( 
    IRnAnimView * This,
    /* [out] */ RtTime *ptMinTime,
    /* [out] */ RtTime *ptMaxTime);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_SetValueRenderData_Proxy( 
    IRnAnimView * This,
    /* [in] */ RtValueRenderData sVRData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_GetValueRenderData_Proxy( 
    IRnAnimView * This,
    /* [retval][out] */ RtValueRenderData *psVRData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_UpdateAttrFilter_Proxy( 
    IRnAnimView * This,
    /* [in] */ RtBool bFullRebuild);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimView_GetAttrFilter_Proxy( 
    IRnAnimView * This,
    /* [retval][out] */ IRsAnimRenderNode **ppFilterNode);


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



#endif 	/* __IRnAnimView_INTERFACE_DEFINED__ */


#ifndef __IRfAnimSelFn_INTERFACE_DEFINED__
#define __IRfAnimSelFn_INTERFACE_DEFINED__

/* interface IRfAnimSelFn */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfAnimSelFn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("201E6A41-AB83-493B-80F1-8628ED717973")
    IRfAnimSelFn : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRfAnimSelFnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfAnimSelFn * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfAnimSelFn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfAnimSelFn * This);
        
        END_INTERFACE
    } IRfAnimSelFnVtbl;

    interface IRfAnimSelFn
    {
        CONST_VTBL struct IRfAnimSelFnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRfAnimSelFn_INTERFACE_DEFINED__ */


#ifndef __IRcAnimAction_INTERFACE_DEFINED__
#define __IRcAnimAction_INTERFACE_DEFINED__

/* interface IRcAnimAction */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAnimAction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2A73E246-D9CA-4E48-91F3-C27EAF71E6D8")
    IRcAnimAction : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAnimActionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAnimAction * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAnimAction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAnimAction * This);
        
        END_INTERFACE
    } IRcAnimActionVtbl;

    interface IRcAnimAction
    {
        CONST_VTBL struct IRcAnimActionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAnimAction_INTERFACE_DEFINED__ */


#ifndef __IRnAnimPreferences_INTERFACE_DEFINED__
#define __IRnAnimPreferences_INTERFACE_DEFINED__

/* interface IRnAnimPreferences */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnAnimPreferences;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07C6E566-A21B-435a-86C7-41F3757370B2")
    IRnAnimPreferences : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetStartPlayRange( 
            /* [in] */ RtTime tStartPlayRange) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetEndPlayRange( 
            /* [in] */ RtTime tEndPlayRange) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnAnimPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnAnimPreferences * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnAnimPreferences * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnAnimPreferences * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetStartPlayRange )( 
            IRnAnimPreferences * This,
            /* [in] */ RtTime tStartPlayRange);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetEndPlayRange )( 
            IRnAnimPreferences * This,
            /* [in] */ RtTime tEndPlayRange);
        
        END_INTERFACE
    } IRnAnimPreferencesVtbl;

    interface IRnAnimPreferences
    {
        CONST_VTBL struct IRnAnimPreferencesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRnAnimPreferences_SetStartPlayRange(This,tStartPlayRange)	\
    (This)->lpVtbl -> SetStartPlayRange(This,tStartPlayRange)

#define IRnAnimPreferences_SetEndPlayRange(This,tEndPlayRange)	\
    (This)->lpVtbl -> SetEndPlayRange(This,tEndPlayRange)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimPreferences_SetStartPlayRange_Proxy( 
    IRnAnimPreferences * This,
    /* [in] */ RtTime tStartPlayRange);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnAnimPreferences_SetEndPlayRange_Proxy( 
    IRnAnimPreferences * This,
    /* [in] */ RtTime tEndPlayRange);


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



#endif 	/* __IRnAnimPreferences_INTERFACE_DEFINED__ */


#ifndef __IRcAnimRefresh_INTERFACE_DEFINED__
#define __IRcAnimRefresh_INTERFACE_DEFINED__

/* interface IRcAnimRefresh */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAnimRefresh;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4C8BCFC3-30A6-4242-9C5B-01B94877E2E4")
    IRcAnimRefresh : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRefreshTarget( 
            /* [in] */ IRsNode *spViewRefreshTarget) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcAnimRefreshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAnimRefresh * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAnimRefresh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAnimRefresh * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRefreshTarget )( 
            IRcAnimRefresh * This,
            /* [in] */ IRsNode *spViewRefreshTarget);
        
        END_INTERFACE
    } IRcAnimRefreshVtbl;

    interface IRcAnimRefresh
    {
        CONST_VTBL struct IRcAnimRefreshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRcAnimRefresh_SetRefreshTarget(This,spViewRefreshTarget)	\
    (This)->lpVtbl -> SetRefreshTarget(This,spViewRefreshTarget)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcAnimRefresh_SetRefreshTarget_Proxy( 
    IRcAnimRefresh * This,
    /* [in] */ IRsNode *spViewRefreshTarget);


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



#endif 	/* __IRcAnimRefresh_INTERFACE_DEFINED__ */


#ifndef __IRcAnimSelOp_INTERFACE_DEFINED__
#define __IRcAnimSelOp_INTERFACE_DEFINED__

/* interface IRcAnimSelOp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAnimSelOp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4DAD7377-5DF5-43e0-BBAD-EF90ABC9A27B")
    IRcAnimSelOp : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAnimSelOpVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAnimSelOp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAnimSelOp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAnimSelOp * This);
        
        END_INTERFACE
    } IRcAnimSelOpVtbl;

    interface IRcAnimSelOp
    {
        CONST_VTBL struct IRcAnimSelOpVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAnimSelOp_INTERFACE_DEFINED__ */


#ifndef __IRcAnimSetAspect_INTERFACE_DEFINED__
#define __IRcAnimSetAspect_INTERFACE_DEFINED__

/* interface IRcAnimSetAspect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAnimSetAspect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1CC61674-81E1-45b0-84C5-C2EDF14002C8")
    IRcAnimSetAspect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAnimSetAspectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAnimSetAspect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAnimSetAspect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAnimSetAspect * This);
        
        END_INTERFACE
    } IRcAnimSetAspectVtbl;

    interface IRcAnimSetAspect
    {
        CONST_VTBL struct IRcAnimSetAspectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAnimSetAspect_INTERFACE_DEFINED__ */


#ifndef __IRcAnimTool_INTERFACE_DEFINED__
#define __IRcAnimTool_INTERFACE_DEFINED__

/* interface IRcAnimTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAnimTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("33CACAEB-9042-44d7-A289-7FDC0D1D0B9F")
    IRcAnimTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAnimToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAnimTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAnimTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAnimTool * This);
        
        END_INTERFACE
    } IRcAnimToolVtbl;

    interface IRcAnimTool
    {
        CONST_VTBL struct IRcAnimToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAnimTool_INTERFACE_DEFINED__ */


#ifndef __IRcCreateAnimView_INTERFACE_DEFINED__
#define __IRcCreateAnimView_INTERFACE_DEFINED__

/* interface IRcCreateAnimView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCreateAnimView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2AC03C8B-9654-4BB3-AB45-852C988B203A")
    IRcCreateAnimView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCreateAnimViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCreateAnimView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCreateAnimView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCreateAnimView * This);
        
        END_INTERFACE
    } IRcCreateAnimViewVtbl;

    interface IRcCreateAnimView
    {
        CONST_VTBL struct IRcCreateAnimViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCreateAnimView_INTERFACE_DEFINED__ */


#ifndef __IRcCreateTrack_INTERFACE_DEFINED__
#define __IRcCreateTrack_INTERFACE_DEFINED__

/* interface IRcCreateTrack */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCreateTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DE0B47B9-EDBA-4A95-BF5D-FEA9C7E615E5")
    IRcCreateTrack : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCreateTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCreateTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCreateTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCreateTrack * This);
        
        END_INTERFACE
    } IRcCreateTrackVtbl;

    interface IRcCreateTrack
    {
        CONST_VTBL struct IRcCreateTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCreateTrack_INTERFACE_DEFINED__ */


#ifndef __IRcKeyingOp_INTERFACE_DEFINED__
#define __IRcKeyingOp_INTERFACE_DEFINED__

/* interface IRcKeyingOp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcKeyingOp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2F38083D-1BB8-4dbf-915F-107EABC479E8")
    IRcKeyingOp : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcKeyingOpVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcKeyingOp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcKeyingOp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcKeyingOp * This);
        
        END_INTERFACE
    } IRcKeyingOpVtbl;

    interface IRcKeyingOp
    {
        CONST_VTBL struct IRcKeyingOpVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcKeyingOp_INTERFACE_DEFINED__ */


#ifndef __IRcKfProp_INTERFACE_DEFINED__
#define __IRcKfProp_INTERFACE_DEFINED__

/* interface IRcKfProp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcKfProp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DAF72CE9-5D0E-406a-B1BB-EF57ACFC04C5")
    IRcKfProp : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcKfPropVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcKfProp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcKfProp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcKfProp * This);
        
        END_INTERFACE
    } IRcKfPropVtbl;

    interface IRcKfProp
    {
        CONST_VTBL struct IRcKfPropVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcKfProp_INTERFACE_DEFINED__ */


#ifndef __IRcOpenAnimToolbar_INTERFACE_DEFINED__
#define __IRcOpenAnimToolbar_INTERFACE_DEFINED__

/* interface IRcOpenAnimToolbar */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcOpenAnimToolbar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4D7473E1-6666-420A-84BE-35EA447B2D75")
    IRcOpenAnimToolbar : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateAspectToolbar( 
            /* [in] */ IRsNode *pViewNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcOpenAnimToolbarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcOpenAnimToolbar * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcOpenAnimToolbar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcOpenAnimToolbar * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateAspectToolbar )( 
            IRcOpenAnimToolbar * This,
            /* [in] */ IRsNode *pViewNode);
        
        END_INTERFACE
    } IRcOpenAnimToolbarVtbl;

    interface IRcOpenAnimToolbar
    {
        CONST_VTBL struct IRcOpenAnimToolbarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRcOpenAnimToolbar_CreateAspectToolbar(This,pViewNode)	\
    (This)->lpVtbl -> CreateAspectToolbar(This,pViewNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRcOpenAnimToolbar_CreateAspectToolbar_Proxy( 
    IRcOpenAnimToolbar * This,
    /* [in] */ IRsNode *pViewNode);


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



#endif 	/* __IRcOpenAnimToolbar_INTERFACE_DEFINED__ */


#ifndef __IRcPrefAction_INTERFACE_DEFINED__
#define __IRcPrefAction_INTERFACE_DEFINED__

/* interface IRcPrefAction */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcPrefAction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5DB73C22-74A9-421f-8815-AFF00A14AA77")
    IRcPrefAction : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcPrefActionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcPrefAction * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcPrefAction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcPrefAction * This);
        
        END_INTERFACE
    } IRcPrefActionVtbl;

    interface IRcPrefAction
    {
        CONST_VTBL struct IRcPrefActionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcPrefAction_INTERFACE_DEFINED__ */


#ifndef __IRcPutFrame_INTERFACE_DEFINED__
#define __IRcPutFrame_INTERFACE_DEFINED__

/* interface IRcPutFrame */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcPutFrame;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C45D28EC-70F1-4921-B140-C53163EA55AA")
    IRcPutFrame : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcPutFrameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcPutFrame * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcPutFrame * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcPutFrame * This);
        
        END_INTERFACE
    } IRcPutFrameVtbl;

    interface IRcPutFrame
    {
        CONST_VTBL struct IRcPutFrameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcPutFrame_INTERFACE_DEFINED__ */


#ifndef __IRcSetKeyFrame_INTERFACE_DEFINED__
#define __IRcSetKeyFrame_INTERFACE_DEFINED__

/* interface IRcSetKeyFrame */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSetKeyFrame;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC5FE112-2CFA-4506-BB14-1AB02C85C162")
    IRcSetKeyFrame : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSetKeyFrameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSetKeyFrame * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSetKeyFrame * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSetKeyFrame * This);
        
        END_INTERFACE
    } IRcSetKeyFrameVtbl;

    interface IRcSetKeyFrame
    {
        CONST_VTBL struct IRcSetKeyFrameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSetKeyFrame_INTERFACE_DEFINED__ */


#ifndef __IRcAnimViewAction_INTERFACE_DEFINED__
#define __IRcAnimViewAction_INTERFACE_DEFINED__

/* interface IRcAnimViewAction */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAnimViewAction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B97C8D61-17BD-480c-8806-0ED450DF2136")
    IRcAnimViewAction : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAnimViewActionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAnimViewAction * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAnimViewAction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAnimViewAction * This);
        
        END_INTERFACE
    } IRcAnimViewActionVtbl;

    interface IRcAnimViewAction
    {
        CONST_VTBL struct IRcAnimViewActionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAnimViewAction_INTERFACE_DEFINED__ */


#ifndef __IRsMatrixITRComponents_INTERFACE_DEFINED__
#define __IRsMatrixITRComponents_INTERFACE_DEFINED__

/* interface IRsMatrixITRComponents */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsMatrixITRComponents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9FF67A30-AE12-4c98-A7D0-4A742581E259")
    IRsMatrixITRComponents : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTranslateComp( 
            /* [in] */ RtFloat x,
            /* [in] */ RtFloat y,
            /* [in] */ RtFloat z) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRotateComp( 
            /* [in] */ RtQuatf rot) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsMatrixITRComponentsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsMatrixITRComponents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsMatrixITRComponents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsMatrixITRComponents * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTranslateComp )( 
            IRsMatrixITRComponents * This,
            /* [in] */ RtFloat x,
            /* [in] */ RtFloat y,
            /* [in] */ RtFloat z);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRotateComp )( 
            IRsMatrixITRComponents * This,
            /* [in] */ RtQuatf rot);
        
        END_INTERFACE
    } IRsMatrixITRComponentsVtbl;

    interface IRsMatrixITRComponents
    {
        CONST_VTBL struct IRsMatrixITRComponentsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsMatrixITRComponents_SetTranslateComp(This,x,y,z)	\
    (This)->lpVtbl -> SetTranslateComp(This,x,y,z)

#define IRsMatrixITRComponents_SetRotateComp(This,rot)	\
    (This)->lpVtbl -> SetRotateComp(This,rot)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsMatrixITRComponents_SetTranslateComp_Proxy( 
    IRsMatrixITRComponents * This,
    /* [in] */ RtFloat x,
    /* [in] */ RtFloat y,
    /* [in] */ RtFloat z);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsMatrixITRComponents_SetRotateComp_Proxy( 
    IRsMatrixITRComponents * This,
    /* [in] */ RtQuatf rot);


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



#endif 	/* __IRsMatrixITRComponents_INTERFACE_DEFINED__ */


#ifndef __IRsMatrixInterpolator_INTERFACE_DEFINED__
#define __IRsMatrixInterpolator_INTERFACE_DEFINED__

/* interface IRsMatrixInterpolator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsMatrixInterpolator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3755DB2E-76C2-4F17-A5E8-0B6DECB92FCC")
    IRsMatrixInterpolator : public IRsObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsMatrixInterpolatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsMatrixInterpolator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsMatrixInterpolator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsMatrixInterpolator * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsMatrixInterpolator * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsMatrixInterpolator * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRsMatrixInterpolatorVtbl;

    interface IRsMatrixInterpolator
    {
        CONST_VTBL struct IRsMatrixInterpolatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsMatrixInterpolator_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsMatrixInterpolator_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsMatrixInterpolator_INTERFACE_DEFINED__ */


#ifndef __IRsMatrixInterpolator2_INTERFACE_DEFINED__
#define __IRsMatrixInterpolator2_INTERFACE_DEFINED__

/* interface IRsMatrixInterpolator2 */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsMatrixInterpolator2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0E75E0C5-28FE-4959-A692-D991EFDD78CC")
    IRsMatrixInterpolator2 : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Approximation( 
            /* [in] */ IRsAnimDataStream *spDataStream,
            /* [out] */ RtBool *pbApproximation) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsMatrixInterpolator2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsMatrixInterpolator2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsMatrixInterpolator2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsMatrixInterpolator2 * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsMatrixInterpolator2 * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsMatrixInterpolator2 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Approximation )( 
            IRsMatrixInterpolator2 * This,
            /* [in] */ IRsAnimDataStream *spDataStream,
            /* [out] */ RtBool *pbApproximation);
        
        END_INTERFACE
    } IRsMatrixInterpolator2Vtbl;

    interface IRsMatrixInterpolator2
    {
        CONST_VTBL struct IRsMatrixInterpolator2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsMatrixInterpolator2_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsMatrixInterpolator2_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsMatrixInterpolator2_Approximation(This,spDataStream,pbApproximation)	\
    (This)->lpVtbl -> Approximation(This,spDataStream,pbApproximation)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsMatrixInterpolator2_Approximation_Proxy( 
    IRsMatrixInterpolator2 * This,
    /* [in] */ IRsAnimDataStream *spDataStream,
    /* [out] */ RtBool *pbApproximation);


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



#endif 	/* __IRsMatrixInterpolator2_INTERFACE_DEFINED__ */


#ifndef __IRsDefaultInterpolator_INTERFACE_DEFINED__
#define __IRsDefaultInterpolator_INTERFACE_DEFINED__

/* interface IRsDefaultInterpolator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDefaultInterpolator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2E35CB17-E125-465a-A679-3AA04514AEDE")
    IRsDefaultInterpolator : public IRsObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsDefaultInterpolatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDefaultInterpolator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDefaultInterpolator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDefaultInterpolator * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsDefaultInterpolator * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsDefaultInterpolator * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRsDefaultInterpolatorVtbl;

    interface IRsDefaultInterpolator
    {
        CONST_VTBL struct IRsDefaultInterpolatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsDefaultInterpolator_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsDefaultInterpolator_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsDefaultInterpolator_INTERFACE_DEFINED__ */


#ifndef __IRsColorInterpolator_INTERFACE_DEFINED__
#define __IRsColorInterpolator_INTERFACE_DEFINED__

/* interface IRsColorInterpolator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsColorInterpolator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2A595886-2A2E-47e2-ADDA-33AC8F31993F")
    IRsColorInterpolator : public IRsObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsColorInterpolatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsColorInterpolator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsColorInterpolator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsColorInterpolator * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsColorInterpolator * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsColorInterpolator * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRsColorInterpolatorVtbl;

    interface IRsColorInterpolator
    {
        CONST_VTBL struct IRsColorInterpolatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsColorInterpolator_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsColorInterpolator_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsColorInterpolator_INTERFACE_DEFINED__ */


#ifndef __IRsFcView_INTERFACE_DEFINED__
#define __IRsFcView_INTERFACE_DEFINED__

/* interface IRsFcView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("87E7E3A7-ED9A-40fc-9091-7F6935423892")
    IRsFcView : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderer( 
            /* [in] */ IRsFcGdiRender **ppRenderer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderGraph( 
            /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastPickedObj( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcView * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsFcView * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsFcView * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderer )( 
            IRsFcView * This,
            /* [in] */ IRsFcGdiRender **ppRenderer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderGraph )( 
            IRsFcView * This,
            /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastPickedObj )( 
            IRsFcView * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        END_INTERFACE
    } IRsFcViewVtbl;

    interface IRsFcView
    {
        CONST_VTBL struct IRsFcViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsFcView_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsFcView_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsFcView_GetRenderer(This,ppRenderer)	\
    (This)->lpVtbl -> GetRenderer(This,ppRenderer)

#define IRsFcView_GetRenderGraph(This,ppRenderGraph)	\
    (This)->lpVtbl -> GetRenderGraph(This,ppRenderGraph)

#define IRsFcView_GetLastPickedObj(This,ppRenderNode)	\
    (This)->lpVtbl -> GetLastPickedObj(This,ppRenderNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcView_GetRenderer_Proxy( 
    IRsFcView * This,
    /* [in] */ IRsFcGdiRender **ppRenderer);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcView_GetRenderGraph_Proxy( 
    IRsFcView * This,
    /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcView_GetLastPickedObj_Proxy( 
    IRsFcView * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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



#endif 	/* __IRsFcView_INTERFACE_DEFINED__ */


#ifndef __IRsStView_INTERFACE_DEFINED__
#define __IRsStView_INTERFACE_DEFINED__

/* interface IRsStView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B5F9EE4D-9ED9-46f8-98CB-C790236AD8D9")
    IRsStView : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderer( 
            /* [retval][out] */ IRsStGdiRender **ppRenderer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderGraph( 
            /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastPickedObj( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStView * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsStView * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsStView * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderer )( 
            IRsStView * This,
            /* [retval][out] */ IRsStGdiRender **ppRenderer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderGraph )( 
            IRsStView * This,
            /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastPickedObj )( 
            IRsStView * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        END_INTERFACE
    } IRsStViewVtbl;

    interface IRsStView
    {
        CONST_VTBL struct IRsStViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsStView_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsStView_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsStView_GetRenderer(This,ppRenderer)	\
    (This)->lpVtbl -> GetRenderer(This,ppRenderer)

#define IRsStView_GetRenderGraph(This,ppRenderGraph)	\
    (This)->lpVtbl -> GetRenderGraph(This,ppRenderGraph)

#define IRsStView_GetLastPickedObj(This,ppRenderNode)	\
    (This)->lpVtbl -> GetLastPickedObj(This,ppRenderNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStView_GetRenderer_Proxy( 
    IRsStView * This,
    /* [retval][out] */ IRsStGdiRender **ppRenderer);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStView_GetRenderGraph_Proxy( 
    IRsStView * This,
    /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStView_GetLastPickedObj_Proxy( 
    IRsStView * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


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



#endif 	/* __IRsStView_INTERFACE_DEFINED__ */


#ifndef __IRsFcRoot_INTERFACE_DEFINED__
#define __IRsFcRoot_INTERFACE_DEFINED__

/* interface IRsFcRoot */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcRoot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C82A0446-AC4B-494f-A55A-8DF3187C41C6")
    IRsFcRoot : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetValueRenderData( 
            /* [in] */ RtValueRenderData sVRData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetValueRenderData( 
            /* [retval][out] */ RtValueRenderData *psVRData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSelAnimRegion( 
            /* [in] */ RtAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelAnimRegion( 
            /* [retval][out] */ RtAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSnappingGrid( 
            /* [retval][out] */ IRsAnimDataStream **ppGridStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcRootVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcRoot * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcRoot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcRoot * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetValueRenderData )( 
            IRsFcRoot * This,
            /* [in] */ RtValueRenderData sVRData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetValueRenderData )( 
            IRsFcRoot * This,
            /* [retval][out] */ RtValueRenderData *psVRData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSelAnimRegion )( 
            IRsFcRoot * This,
            /* [in] */ RtAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelAnimRegion )( 
            IRsFcRoot * This,
            /* [retval][out] */ RtAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSnappingGrid )( 
            IRsFcRoot * This,
            /* [retval][out] */ IRsAnimDataStream **ppGridStream);
        
        END_INTERFACE
    } IRsFcRootVtbl;

    interface IRsFcRoot
    {
        CONST_VTBL struct IRsFcRootVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsFcRoot_SetValueRenderData(This,sVRData)	\
    (This)->lpVtbl -> SetValueRenderData(This,sVRData)

#define IRsFcRoot_GetValueRenderData(This,psVRData)	\
    (This)->lpVtbl -> GetValueRenderData(This,psVRData)

#define IRsFcRoot_SetSelAnimRegion(This,selRegion)	\
    (This)->lpVtbl -> SetSelAnimRegion(This,selRegion)

#define IRsFcRoot_GetSelAnimRegion(This,pSelRegion)	\
    (This)->lpVtbl -> GetSelAnimRegion(This,pSelRegion)

#define IRsFcRoot_GetSnappingGrid(This,ppGridStream)	\
    (This)->lpVtbl -> GetSnappingGrid(This,ppGridStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcRoot_SetValueRenderData_Proxy( 
    IRsFcRoot * This,
    /* [in] */ RtValueRenderData sVRData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcRoot_GetValueRenderData_Proxy( 
    IRsFcRoot * This,
    /* [retval][out] */ RtValueRenderData *psVRData);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcRoot_SetSelAnimRegion_Proxy( 
    IRsFcRoot * This,
    /* [in] */ RtAnimRegion selRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcRoot_GetSelAnimRegion_Proxy( 
    IRsFcRoot * This,
    /* [retval][out] */ RtAnimRegion *pSelRegion);


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


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcRoot_GetSnappingGrid_Proxy( 
    IRsFcRoot * This,
    /* [retval][out] */ IRsAnimDataStream **ppGridStream);


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



#endif 	/* __IRsFcRoot_INTERFACE_DEFINED__ */


#ifndef __IRsStRoot_INTERFACE_DEFINED__
#define __IRsStRoot_INTERFACE_DEFINED__

/* interface IRsStRoot */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStRoot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DD1AFC3E-7E2F-4405-999C-FB1DECA451B8")
    IRsStRoot : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSnappingGrid( 
            /* [retval][out] */ IRsAnimDataStream **ppGridStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStRootVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStRoot * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStRoot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStRoot * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSnappingGrid )( 
            IRsStRoot * This,
            /* [retval][out] */ IRsAnimDataStream **ppGridStream);
        
        END_INTERFACE
    } IRsStRootVtbl;

    interface IRsStRoot
    {
        CONST_VTBL struct IRsStRootVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRsStRoot_GetSnappingGrid(This,ppGridStream)	\
    (This)->lpVtbl -> GetSnappingGrid(This,ppGridStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStRoot_GetSnappingGrid_Proxy( 
    IRsStRoot * This,
    /* [retval][out] */ IRsAnimDataStream **ppGridStream);


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



#endif 	/* __IRsStRoot_INTERFACE_DEFINED__ */


#ifndef __IRiAnim_INTERFACE_DEFINED__
#define __IRiAnim_INTERFACE_DEFINED__

/* interface IRiAnim */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiAnim;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7A4F22CE-B9ED-43F9-8672-76D263C01992")
    IRiAnim : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PutFrame( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ VARIANT time) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetKeyFrame( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ VARIANT time) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetAttrKeyFrame( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszAttr,
            /* [in] */ VARIANT time) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteKeyFrames( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyKeyFrames( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CutKeyFrames( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PasteKeyFrames( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClearSelection( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectAll( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InvertSelection( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopyClips( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CutClips( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PasteClips( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteClips( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteSelection( 
            /* [in] */ BSTR bszFrameId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CopySelection( 
            /* [in] */ BSTR bszFrameId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CutSelection( 
            /* [in] */ BSTR bszFrameId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PasteSelection( 
            /* [in] */ BSTR bszFrameId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiAnimVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiAnim * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiAnim * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiAnim * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiAnim * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiAnim * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiAnim * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiAnim * 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][id] */ HRESULT ( STDMETHODCALLTYPE *PutFrame )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ VARIANT time);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetKeyFrame )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ VARIANT time);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetAttrKeyFrame )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszAttr,
            /* [in] */ VARIANT time);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteKeyFrames )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyKeyFrames )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CutKeyFrames )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PasteKeyFrames )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClearSelection )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectAll )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InvertSelection )( 
            IRiAnim * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopyClips )( 
            IRiAnim * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CutClips )( 
            IRiAnim * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PasteClips )( 
            IRiAnim * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteClips )( 
            IRiAnim * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteSelection )( 
            IRiAnim * This,
            /* [in] */ BSTR bszFrameId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CopySelection )( 
            IRiAnim * This,
            /* [in] */ BSTR bszFrameId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CutSelection )( 
            IRiAnim * This,
            /* [in] */ BSTR bszFrameId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PasteSelection )( 
            IRiAnim * This,
            /* [in] */ BSTR bszFrameId);
        
        END_INTERFACE
    } IRiAnimVtbl;

    interface IRiAnim
    {
        CONST_VTBL struct IRiAnimVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiAnim_PutFrame(This,bszNodeName,time)	\
    (This)->lpVtbl -> PutFrame(This,bszNodeName,time)

#define IRiAnim_SetKeyFrame(This,bszNodeName,time)	\
    (This)->lpVtbl -> SetKeyFrame(This,bszNodeName,time)

#define IRiAnim_SetAttrKeyFrame(This,bszNodeName,bszAttr,time)	\
    (This)->lpVtbl -> SetAttrKeyFrame(This,bszNodeName,bszAttr,time)

#define IRiAnim_DeleteKeyFrames(This,bszNodeName)	\
    (This)->lpVtbl -> DeleteKeyFrames(This,bszNodeName)

#define IRiAnim_CopyKeyFrames(This,bszNodeName)	\
    (This)->lpVtbl -> CopyKeyFrames(This,bszNodeName)

#define IRiAnim_CutKeyFrames(This,bszNodeName)	\
    (This)->lpVtbl -> CutKeyFrames(This,bszNodeName)

#define IRiAnim_PasteKeyFrames(This,bszNodeName)	\
    (This)->lpVtbl -> PasteKeyFrames(This,bszNodeName)

#define IRiAnim_ClearSelection(This,bszNodeName)	\
    (This)->lpVtbl -> ClearSelection(This,bszNodeName)

#define IRiAnim_SelectAll(This,bszNodeName)	\
    (This)->lpVtbl -> SelectAll(This,bszNodeName)

#define IRiAnim_InvertSelection(This,bszNodeName)	\
    (This)->lpVtbl -> InvertSelection(This,bszNodeName)

#define IRiAnim_CopyClips(This)	\
    (This)->lpVtbl -> CopyClips(This)

#define IRiAnim_CutClips(This)	\
    (This)->lpVtbl -> CutClips(This)

#define IRiAnim_PasteClips(This)	\
    (This)->lpVtbl -> PasteClips(This)

#define IRiAnim_DeleteClips(This)	\
    (This)->lpVtbl -> DeleteClips(This)

#define IRiAnim_DeleteSelection(This,bszFrameId)	\
    (This)->lpVtbl -> DeleteSelection(This,bszFrameId)

#define IRiAnim_CopySelection(This,bszFrameId)	\
    (This)->lpVtbl -> CopySelection(This,bszFrameId)

#define IRiAnim_CutSelection(This,bszFrameId)	\
    (This)->lpVtbl -> CutSelection(This,bszFrameId)

#define IRiAnim_PasteSelection(This,bszFrameId)	\
    (This)->lpVtbl -> PasteSelection(This,bszFrameId)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_PutFrame_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ VARIANT time);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_SetKeyFrame_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ VARIANT time);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_SetAttrKeyFrame_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszAttr,
    /* [in] */ VARIANT time);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_DeleteKeyFrames_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_CopyKeyFrames_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_CutKeyFrames_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_PasteKeyFrames_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_ClearSelection_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_SelectAll_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_InvertSelection_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_CopyClips_Proxy( 
    IRiAnim * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_CutClips_Proxy( 
    IRiAnim * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_PasteClips_Proxy( 
    IRiAnim * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_DeleteClips_Proxy( 
    IRiAnim * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_DeleteSelection_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszFrameId);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_CopySelection_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszFrameId);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_CutSelection_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszFrameId);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnim_PasteSelection_Proxy( 
    IRiAnim * This,
    /* [in] */ BSTR bszFrameId);


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



#endif 	/* __IRiAnim_INTERFACE_DEFINED__ */


#ifndef __IRcCreateClip_INTERFACE_DEFINED__
#define __IRcCreateClip_INTERFACE_DEFINED__

/* interface IRcCreateClip */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCreateClip;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0C90E585-12EC-4f61-84D0-FF279D22799D")
    IRcCreateClip : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCreateClipVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCreateClip * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCreateClip * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCreateClip * This);
        
        END_INTERFACE
    } IRcCreateClipVtbl;

    interface IRcCreateClip
    {
        CONST_VTBL struct IRcCreateClipVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCreateClip_INTERFACE_DEFINED__ */


#ifndef __IRcClipSelOp_INTERFACE_DEFINED__
#define __IRcClipSelOp_INTERFACE_DEFINED__

/* interface IRcClipSelOp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcClipSelOp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("752070EA-4249-4262-9E92-84E8E83FF43C")
    IRcClipSelOp : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcClipSelOpVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcClipSelOp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcClipSelOp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcClipSelOp * This);
        
        END_INTERFACE
    } IRcClipSelOpVtbl;

    interface IRcClipSelOp
    {
        CONST_VTBL struct IRcClipSelOpVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcClipSelOp_INTERFACE_DEFINED__ */


#ifndef __IRiAnimClip_INTERFACE_DEFINED__
#define __IRiAnimClip_INTERFACE_DEFINED__

/* interface IRiAnimClip */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiAnimClip;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BD8AA9F2-CB90-4cba-971E-D9C356AB74B7")
    IRiAnimClip : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClipCreate( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackId,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClipRemove( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClipRename( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName,
            /* [in] */ BSTR bszNewClipName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableClip( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName,
            /* [in] */ VARIANT vDisableStatus) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetProceduralClip( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName,
            /* [in] */ VARIANT vProceduralStatus) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RazorClips( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClipReverse( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenerateKeyframes( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetKeyFrame( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszAnimClip,
            /* [in] */ BSTR bszAnimAttrName,
            /* [in] */ RtTime timeT) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiAnimClipVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiAnimClip * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiAnimClip * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiAnimClip * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiAnimClip * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiAnimClip * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiAnimClip * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiAnimClip * 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][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClipCreate )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackId,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClipRemove )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClipRename )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName,
            /* [in] */ BSTR bszNewClipName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableClip )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName,
            /* [in] */ VARIANT vDisableStatus);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetProceduralClip )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName,
            /* [in] */ VARIANT vProceduralStatus);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RazorClips )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ RtTime tTime);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClipReverse )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszClipName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateKeyframes )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetKeyFrame )( 
            IRiAnimClip * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszAnimClip,
            /* [in] */ BSTR bszAnimAttrName,
            /* [in] */ RtTime timeT);
        
        END_INTERFACE
    } IRiAnimClipVtbl;

    interface IRiAnimClip
    {
        CONST_VTBL struct IRiAnimClipVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiAnimClip_get_ClipCreate(This,bszNodeName,bszTrackId,pVal)	\
    (This)->lpVtbl -> get_ClipCreate(This,bszNodeName,bszTrackId,pVal)

#define IRiAnimClip_ClipRemove(This,bszNodeName,bszClipName)	\
    (This)->lpVtbl -> ClipRemove(This,bszNodeName,bszClipName)

#define IRiAnimClip_ClipRename(This,bszNodeName,bszClipName,bszNewClipName)	\
    (This)->lpVtbl -> ClipRename(This,bszNodeName,bszClipName,bszNewClipName)

#define IRiAnimClip_DisableClip(This,bszNodeName,bszClipName,vDisableStatus)	\
    (This)->lpVtbl -> DisableClip(This,bszNodeName,bszClipName,vDisableStatus)

#define IRiAnimClip_SetProceduralClip(This,bszNodeName,bszClipName,vProceduralStatus)	\
    (This)->lpVtbl -> SetProceduralClip(This,bszNodeName,bszClipName,vProceduralStatus)

#define IRiAnimClip_RazorClips(This,bszNodeName,tTime)	\
    (This)->lpVtbl -> RazorClips(This,bszNodeName,tTime)

#define IRiAnimClip_ClipReverse(This,bszNodeName,bszClipName)	\
    (This)->lpVtbl -> ClipReverse(This,bszNodeName,bszClipName)

#define IRiAnimClip_GenerateKeyframes(This,bszNodeName)	\
    (This)->lpVtbl -> GenerateKeyframes(This,bszNodeName)

#define IRiAnimClip_SetKeyFrame(This,bszNodeName,bszAnimClip,bszAnimAttrName,timeT)	\
    (This)->lpVtbl -> SetKeyFrame(This,bszNodeName,bszAnimClip,bszAnimAttrName,timeT)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_get_ClipCreate_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackId,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_ClipRemove_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszClipName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_ClipRename_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszClipName,
    /* [in] */ BSTR bszNewClipName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_DisableClip_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszClipName,
    /* [in] */ VARIANT vDisableStatus);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_SetProceduralClip_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszClipName,
    /* [in] */ VARIANT vProceduralStatus);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_RazorClips_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ RtTime tTime);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_ClipReverse_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszClipName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_GenerateKeyframes_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimClip_SetKeyFrame_Proxy( 
    IRiAnimClip * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszAnimClip,
    /* [in] */ BSTR bszAnimAttrName,
    /* [in] */ RtTime timeT);


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



#endif 	/* __IRiAnimClip_INTERFACE_DEFINED__ */


#ifndef __IRiAnimPref_INTERFACE_DEFINED__
#define __IRiAnimPref_INTERFACE_DEFINED__

/* interface IRiAnimPref */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiAnimPref;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B06B2D7B-8E1E-4224-91C8-F56AC42B0501")
    IRiAnimPref : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlayRangeStart( 
            /* [retval][out] */ VARIANT *ptStartFrame) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlayRangeStart( 
            /* [in] */ VARIANT tStartFrame) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlayRangeEnd( 
            /* [retval][out] */ VARIANT *pEndFrame) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlayRangeEnd( 
            /* [in] */ VARIANT tEndFrame) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiAnimPrefVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiAnimPref * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiAnimPref * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiAnimPref * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiAnimPref * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiAnimPref * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiAnimPref * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiAnimPref * 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][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayRangeStart )( 
            IRiAnimPref * This,
            /* [retval][out] */ VARIANT *ptStartFrame);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayRangeStart )( 
            IRiAnimPref * This,
            /* [in] */ VARIANT tStartFrame);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlayRangeEnd )( 
            IRiAnimPref * This,
            /* [retval][out] */ VARIANT *pEndFrame);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlayRangeEnd )( 
            IRiAnimPref * This,
            /* [in] */ VARIANT tEndFrame);
        
        END_INTERFACE
    } IRiAnimPrefVtbl;

    interface IRiAnimPref
    {
        CONST_VTBL struct IRiAnimPrefVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiAnimPref_get_PlayRangeStart(This,ptStartFrame)	\
    (This)->lpVtbl -> get_PlayRangeStart(This,ptStartFrame)

#define IRiAnimPref_put_PlayRangeStart(This,tStartFrame)	\
    (This)->lpVtbl -> put_PlayRangeStart(This,tStartFrame)

#define IRiAnimPref_get_PlayRangeEnd(This,pEndFrame)	\
    (This)->lpVtbl -> get_PlayRangeEnd(This,pEndFrame)

#define IRiAnimPref_put_PlayRangeEnd(This,tEndFrame)	\
    (This)->lpVtbl -> put_PlayRangeEnd(This,tEndFrame)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiAnimPref_get_PlayRangeStart_Proxy( 
    IRiAnimPref * This,
    /* [retval][out] */ VARIANT *ptStartFrame);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRiAnimPref_put_PlayRangeStart_Proxy( 
    IRiAnimPref * This,
    /* [in] */ VARIANT tStartFrame);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiAnimPref_get_PlayRangeEnd_Proxy( 
    IRiAnimPref * This,
    /* [retval][out] */ VARIANT *pEndFrame);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRiAnimPref_put_PlayRangeEnd_Proxy( 
    IRiAnimPref * This,
    /* [in] */ VARIANT tEndFrame);


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



#endif 	/* __IRiAnimPref_INTERFACE_DEFINED__ */


#ifndef __IRiAnimTrack_INTERFACE_DEFINED__
#define __IRiAnimTrack_INTERFACE_DEFINED__

/* interface IRiAnimTrack */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiAnimTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("731567E2-5170-421c-A1DD-51D1350AAAB5")
    IRiAnimTrack : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TrackCreate( 
            /* [in] */ BSTR bszNodeName,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TrackRemove( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TrackRename( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ BSTR bszNewTrackName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisableTrack( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vDisableStatus) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EditTrack( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vEditableStatus) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBlendMode( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vBlendMode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPassThroughMode( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vPassThrough) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MergeTracks( 
            /* [in] */ BSTR bszNodeName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreateEditableTrack( 
            /* [in] */ BSTR bszNodeName,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Weight( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ VARIANT *pfWeight) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Weight( 
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT fWeight) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiAnimTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiAnimTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiAnimTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiAnimTrack * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiAnimTrack * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiAnimTrack * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiAnimTrack * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiAnimTrack * 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][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackCreate )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *TrackRemove )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *TrackRename )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ BSTR bszNewTrackName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisableTrack )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vDisableStatus);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EditTrack )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vEditableStatus);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlendMode )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vBlendMode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPassThroughMode )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT vPassThrough);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MergeTracks )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreateEditableTrack )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Weight )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [retval][out] */ VARIANT *pfWeight);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Weight )( 
            IRiAnimTrack * This,
            /* [in] */ BSTR bszNodeName,
            /* [in] */ BSTR bszTrackName,
            /* [in] */ VARIANT fWeight);
        
        END_INTERFACE
    } IRiAnimTrackVtbl;

    interface IRiAnimTrack
    {
        CONST_VTBL struct IRiAnimTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiAnimTrack_get_TrackCreate(This,bszNodeName,pVal)	\
    (This)->lpVtbl -> get_TrackCreate(This,bszNodeName,pVal)

#define IRiAnimTrack_TrackRemove(This,bszNodeName,bszTrackName)	\
    (This)->lpVtbl -> TrackRemove(This,bszNodeName,bszTrackName)

#define IRiAnimTrack_TrackRename(This,bszNodeName,bszTrackName,bszNewTrackName)	\
    (This)->lpVtbl -> TrackRename(This,bszNodeName,bszTrackName,bszNewTrackName)

#define IRiAnimTrack_DisableTrack(This,bszNodeName,bszTrackName,vDisableStatus)	\
    (This)->lpVtbl -> DisableTrack(This,bszNodeName,bszTrackName,vDisableStatus)

#define IRiAnimTrack_EditTrack(This,bszNodeName,bszTrackName,vEditableStatus)	\
    (This)->lpVtbl -> EditTrack(This,bszNodeName,bszTrackName,vEditableStatus)

#define IRiAnimTrack_SetBlendMode(This,bszNodeName,bszTrackName,vBlendMode)	\
    (This)->lpVtbl -> SetBlendMode(This,bszNodeName,bszTrackName,vBlendMode)

#define IRiAnimTrack_SetPassThroughMode(This,bszNodeName,bszTrackName,vPassThrough)	\
    (This)->lpVtbl -> SetPassThroughMode(This,bszNodeName,bszTrackName,vPassThrough)

#define IRiAnimTrack_MergeTracks(This,bszNodeName)	\
    (This)->lpVtbl -> MergeTracks(This,bszNodeName)

#define IRiAnimTrack_get_CreateEditableTrack(This,bszNodeName,pVal)	\
    (This)->lpVtbl -> get_CreateEditableTrack(This,bszNodeName,pVal)

#define IRiAnimTrack_get_Weight(This,bszNodeName,bszTrackName,pfWeight)	\
    (This)->lpVtbl -> get_Weight(This,bszNodeName,bszTrackName,pfWeight)

#define IRiAnimTrack_put_Weight(This,bszNodeName,bszTrackName,fWeight)	\
    (This)->lpVtbl -> put_Weight(This,bszNodeName,bszTrackName,fWeight)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_get_TrackCreate_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_TrackRemove_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_TrackRename_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ BSTR bszNewTrackName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_DisableTrack_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ VARIANT vDisableStatus);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_EditTrack_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ VARIANT vEditableStatus);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_SetBlendMode_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ VARIANT vBlendMode);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_SetPassThroughMode_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ VARIANT vPassThrough);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_MergeTracks_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_get_CreateEditableTrack_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_get_Weight_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName,
    /* [retval][out] */ VARIANT *pfWeight);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRiAnimTrack_put_Weight_Proxy( 
    IRiAnimTrack * This,
    /* [in] */ BSTR bszNodeName,
    /* [in] */ BSTR bszTrackName,
    /* [in] */ VARIANT fWeight);


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



#endif 	/* __IRiAnimTrack_INTERFACE_DEFINED__ */


#ifndef __IRiAnimView_INTERFACE_DEFINED__
#define __IRiAnimView_INTERFACE_DEFINED__

/* interface IRiAnimView */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiAnimView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7647A96D-82F5-4097-A881-39E3D8DB4E60")
    IRiAnimView : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetViewAspect( 
            /* [in] */ BSTR bszViewName,
            /* [in] */ BSTR bszAspect) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenPreferences( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ZoomToFitSelection( 
            /* [in] */ BSTR bszViewName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ZoomToFitAll( 
            /* [in] */ BSTR bszViewName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiAnimViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiAnimView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiAnimView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiAnimView * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiAnimView * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiAnimView * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiAnimView * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiAnimView * 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][id] */ HRESULT ( STDMETHODCALLTYPE *SetViewAspect )( 
            IRiAnimView * This,
            /* [in] */ BSTR bszViewName,
            /* [in] */ BSTR bszAspect);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenPreferences )( 
            IRiAnimView * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomToFitSelection )( 
            IRiAnimView * This,
            /* [in] */ BSTR bszViewName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomToFitAll )( 
            IRiAnimView * This,
            /* [in] */ BSTR bszViewName);
        
        END_INTERFACE
    } IRiAnimViewVtbl;

    interface IRiAnimView
    {
        CONST_VTBL struct IRiAnimViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiAnimView_SetViewAspect(This,bszViewName,bszAspect)	\
    (This)->lpVtbl -> SetViewAspect(This,bszViewName,bszAspect)

#define IRiAnimView_OpenPreferences(This)	\
    (This)->lpVtbl -> OpenPreferences(This)

#define IRiAnimView_ZoomToFitSelection(This,bszViewName)	\
    (This)->lpVtbl -> ZoomToFitSelection(This,bszViewName)

#define IRiAnimView_ZoomToFitAll(This,bszViewName)	\
    (This)->lpVtbl -> ZoomToFitAll(This,bszViewName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimView_SetViewAspect_Proxy( 
    IRiAnimView * This,
    /* [in] */ BSTR bszViewName,
    /* [in] */ BSTR bszAspect);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimView_OpenPreferences_Proxy( 
    IRiAnimView * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimView_ZoomToFitSelection_Proxy( 
    IRiAnimView * This,
    /* [in] */ BSTR bszViewName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiAnimView_ZoomToFitAll_Proxy( 
    IRiAnimView * This,
    /* [in] */ BSTR bszViewName);


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



#endif 	/* __IRiAnimView_INTERFACE_DEFINED__ */


#ifndef __IRcOpenAnimPreference_INTERFACE_DEFINED__
#define __IRcOpenAnimPreference_INTERFACE_DEFINED__

/* interface IRcOpenAnimPreference */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcOpenAnimPreference;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("45F68653-D735-4ce0-B7D2-D2EF1B7B34BE")
    IRcOpenAnimPreference : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcOpenAnimPreferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcOpenAnimPreference * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcOpenAnimPreference * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcOpenAnimPreference * This);
        
        END_INTERFACE
    } IRcOpenAnimPreferenceVtbl;

    interface IRcOpenAnimPreference
    {
        CONST_VTBL struct IRcOpenAnimPreferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcOpenAnimPreference_INTERFACE_DEFINED__ */


#ifndef __IRiKeying_INTERFACE_DEFINED__
#define __IRiKeying_INTERFACE_DEFINED__

/* interface IRiKeying */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiKeying;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F3A38F62-C312-4cc0-AAF6-641E9A14163C")
    IRiKeying : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddAttribute( 
            /* [in] */ BSTR bszKeyingTemplate,
            /* [in] */ BSTR bszAttribute) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveAttribute( 
            /* [in] */ BSTR bszKeyingTemplate,
            /* [in] */ BSTR bszAttribute) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BrowseAttributes( 
            /* [in] */ BSTR bszKeyingTemplate,
            /* [in] */ BSTR bszObjectName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenView( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Interpolation( 
            /* [in] */ BSTR bszInterpolationType) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BezierSharpness( 
            /* [in] */ VARIANT vSharpnessValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BezierSharpnessLeft( 
            /* [in] */ VARIANT vLeftSharpnessValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BezierSharpnessRight( 
            /* [in] */ VARIANT vRightSharpnessValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BezierTangentAngle( 
            /* [in] */ VARIANT vAngleValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BezierTangentAngleLeft( 
            /* [in] */ VARIANT vAngleValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BezierTangentAngleRight( 
            /* [in] */ VARIANT vAngleValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResetKeyingTemplate( 
            /* [in] */ BSTR bszKeyingTemplate) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiKeyingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiKeying * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiKeying * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiKeying * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiKeying * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiKeying * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiKeying * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiKeying * 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][id] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IRiKeying * This,
            /* [in] */ BSTR bszKeyingTemplate,
            /* [in] */ BSTR bszAttribute);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAttribute )( 
            IRiKeying * This,
            /* [in] */ BSTR bszKeyingTemplate,
            /* [in] */ BSTR bszAttribute);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BrowseAttributes )( 
            IRiKeying * This,
            /* [in] */ BSTR bszKeyingTemplate,
            /* [in] */ BSTR bszObjectName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenView )( 
            IRiKeying * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Interpolation )( 
            IRiKeying * This,
            /* [in] */ BSTR bszInterpolationType);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BezierSharpness )( 
            IRiKeying * This,
            /* [in] */ VARIANT vSharpnessValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BezierSharpnessLeft )( 
            IRiKeying * This,
            /* [in] */ VARIANT vLeftSharpnessValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BezierSharpnessRight )( 
            IRiKeying * This,
            /* [in] */ VARIANT vRightSharpnessValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BezierTangentAngle )( 
            IRiKeying * This,
            /* [in] */ VARIANT vAngleValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BezierTangentAngleLeft )( 
            IRiKeying * This,
            /* [in] */ VARIANT vAngleValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BezierTangentAngleRight )( 
            IRiKeying * This,
            /* [in] */ VARIANT vAngleValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResetKeyingTemplate )( 
            IRiKeying * This,
            /* [in] */ BSTR bszKeyingTemplate);
        
        END_INTERFACE
    } IRiKeyingVtbl;

    interface IRiKeying
    {
        CONST_VTBL struct IRiKeyingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiKeying_AddAttribute(This,bszKeyingTemplate,bszAttribute)	\
    (This)->lpVtbl -> AddAttribute(This,bszKeyingTemplate,bszAttribute)

#define IRiKeying_RemoveAttribute(This,bszKeyingTemplate,bszAttribute)	\
    (This)->lpVtbl -> RemoveAttribute(This,bszKeyingTemplate,bszAttribute)

#define IRiKeying_BrowseAttributes(This,bszKeyingTemplate,bszObjectName)	\
    (This)->lpVtbl -> BrowseAttributes(This,bszKeyingTemplate,bszObjectName)

#define IRiKeying_OpenView(This)	\
    (This)->lpVtbl -> OpenView(This)

#define IRiKeying_Interpolation(This,bszInterpolationType)	\
    (This)->lpVtbl -> Interpolation(This,bszInterpolationType)

#define IRiKeying_BezierSharpness(This,vSharpnessValue)	\
    (This)->lpVtbl -> BezierSharpness(This,vSharpnessValue)

#define IRiKeying_BezierSharpnessLeft(This,vLeftSharpnessValue)	\
    (This)->lpVtbl -> BezierSharpnessLeft(This,vLeftSharpnessValue)

#define IRiKeying_BezierSharpnessRight(This,vRightSharpnessValue)	\
    (This)->lpVtbl -> BezierSharpnessRight(This,vRightSharpnessValue)

#define IRiKeying_BezierTangentAngle(This,vAngleValue)	\
    (This)->lpVtbl -> BezierTangentAngle(This,vAngleValue)

#define IRiKeying_BezierTangentAngleLeft(This,vAngleValue)	\
    (This)->lpVtbl -> BezierTangentAngleLeft(This,vAngleValue)

#define IRiKeying_BezierTangentAngleRight(This,vAngleValue)	\
    (This)->lpVtbl -> BezierTangentAngleRight(This,vAngleValue)

#define IRiKeying_ResetKeyingTemplate(This,bszKeyingTemplate)	\
    (This)->lpVtbl -> ResetKeyingTemplate(This,bszKeyingTemplate)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_AddAttribute_Proxy( 
    IRiKeying * This,
    /* [in] */ BSTR bszKeyingTemplate,
    /* [in] */ BSTR bszAttribute);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_RemoveAttribute_Proxy( 
    IRiKeying * This,
    /* [in] */ BSTR bszKeyingTemplate,
    /* [in] */ BSTR bszAttribute);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_BrowseAttributes_Proxy( 
    IRiKeying * This,
    /* [in] */ BSTR bszKeyingTemplate,
    /* [in] */ BSTR bszObjectName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_OpenView_Proxy( 
    IRiKeying * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_Interpolation_Proxy( 
    IRiKeying * This,
    /* [in] */ BSTR bszInterpolationType);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_BezierSharpness_Proxy( 
    IRiKeying * This,
    /* [in] */ VARIANT vSharpnessValue);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_BezierSharpnessLeft_Proxy( 
    IRiKeying * This,
    /* [in] */ VARIANT vLeftSharpnessValue);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_BezierSharpnessRight_Proxy( 
    IRiKeying * This,
    /* [in] */ VARIANT vRightSharpnessValue);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_BezierTangentAngle_Proxy( 
    IRiKeying * This,
    /* [in] */ VARIANT vAngleValue);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_BezierTangentAngleLeft_Proxy( 
    IRiKeying * This,
    /* [in] */ VARIANT vAngleValue);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_BezierTangentAngleRight_Proxy( 
    IRiKeying * This,
    /* [in] */ VARIANT vAngleValue);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiKeying_ResetKeyingTemplate_Proxy( 
    IRiKeying * This,
    /* [in] */ BSTR bszKeyingTemplate);


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



#endif 	/* __IRiKeying_INTERFACE_DEFINED__ */


#ifndef __IRcKeyCreateView_INTERFACE_DEFINED__
#define __IRcKeyCreateView_INTERFACE_DEFINED__

/* interface IRcKeyCreateView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcKeyCreateView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("222B2BDE-AD0F-4b0f-ADE2-98F7C4400F8F")
    IRcKeyCreateView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcKeyCreateViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcKeyCreateView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcKeyCreateView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcKeyCreateView * This);
        
        END_INTERFACE
    } IRcKeyCreateViewVtbl;

    interface IRcKeyCreateView
    {
        CONST_VTBL struct IRcKeyCreateViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcKeyCreateView_INTERFACE_DEFINED__ */


#ifndef __IRcAttrBrowser_INTERFACE_DEFINED__
#define __IRcAttrBrowser_INTERFACE_DEFINED__

/* interface IRcAttrBrowser */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAttrBrowser;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E28BE294-E5D8-4f76-88FC-FABD8BFC764C")
    IRcAttrBrowser : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAttrBrowserVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAttrBrowser * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAttrBrowser * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAttrBrowser * This);
        
        END_INTERFACE
    } IRcAttrBrowserVtbl;

    interface IRcAttrBrowser
    {
        CONST_VTBL struct IRcAttrBrowserVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAttrBrowser_INTERFACE_DEFINED__ */


#ifndef __IRiTime_INTERFACE_DEFINED__
#define __IRiTime_INTERFACE_DEFINED__

/* interface IRiTime */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiTime;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A6C33388-EC50-4DB6-AACB-E48A6D427A03")
    IRiTime : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentTime( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StartFrame( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndFrame( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Play( 
            /* [in] */ BSTR bszAnimSpace) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NextKeyFrame( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PrevKeyFrame( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NextFrame( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PrevFrame( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetTime( 
            /* [in] */ VARIANT time) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AnimStart( 
            /* [retval][out] */ VARIANT *pStartTime) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AnimStart( 
            /* [in] */ VARIANT tStartTime) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AnimEnd( 
            /* [retval][out] */ VARIANT *pEndTime) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AnimEnd( 
            /* [in] */ VARIANT tEndTime) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EvalAnimStart( 
            /* [in] */ BSTR bszAnimSpace,
            /* [retval][out] */ VARIANT *pStartTime) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EvalAnimEnd( 
            /* [in] */ BSTR bszAnimSpace,
            /* [retval][out] */ VARIANT *pEndTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiTimeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiTime * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiTime * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiTime * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiTime * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiTime * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiTime * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiTime * 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][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentTime )( 
            IRiTime * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StartFrame )( 
            IRiTime * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndFrame )( 
            IRiTime * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Play )( 
            IRiTime * This,
            /* [in] */ BSTR bszAnimSpace);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IRiTime * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NextKeyFrame )( 
            IRiTime * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PrevKeyFrame )( 
            IRiTime * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NextFrame )( 
            IRiTime * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PrevFrame )( 
            IRiTime * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetTime )( 
            IRiTime * This,
            /* [in] */ VARIANT time);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AnimStart )( 
            IRiTime * This,
            /* [retval][out] */ VARIANT *pStartTime);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AnimStart )( 
            IRiTime * This,
            /* [in] */ VARIANT tStartTime);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AnimEnd )( 
            IRiTime * This,
            /* [retval][out] */ VARIANT *pEndTime);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AnimEnd )( 
            IRiTime * This,
            /* [in] */ VARIANT tEndTime);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EvalAnimStart )( 
            IRiTime * This,
            /* [in] */ BSTR bszAnimSpace,
            /* [retval][out] */ VARIANT *pStartTime);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EvalAnimEnd )( 
            IRiTime * This,
            /* [in] */ BSTR bszAnimSpace,
            /* [retval][out] */ VARIANT *pEndTime);
        
        END_INTERFACE
    } IRiTimeVtbl;

    interface IRiTime
    {
        CONST_VTBL struct IRiTimeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IRiTime_get_CurrentTime(This,pVal)	\
    (This)->lpVtbl -> get_CurrentTime(This,pVal)

#define IRiTime_StartFrame(This)	\
    (This)->lpVtbl -> StartFrame(This)

#define IRiTime_EndFrame(This)	\
    (This)->lpVtbl -> EndFrame(This)

#define IRiTime_Play(This,bszAnimSpace)	\
    (This)->lpVtbl -> Play(This,bszAnimSpace)

#define IRiTime_Stop(This)	\
    (This)->lpVtbl -> Stop(This)

#define IRiTime_NextKeyFrame(This)	\
    (This)->lpVtbl -> NextKeyFrame(This)

#define IRiTime_PrevKeyFrame(This)	\
    (This)->lpVtbl -> PrevKeyFrame(This)

#define IRiTime_NextFrame(This)	\
    (This)->lpVtbl -> NextFrame(This)

#define IRiTime_PrevFrame(This)	\
    (This)->lpVtbl -> PrevFrame(This)

#define IRiTime_SetTime(This,time)	\
    (This)->lpVtbl -> SetTime(This,time)

#define IRiTime_get_AnimStart(This,pStartTime)	\
    (This)->lpVtbl -> get_AnimStart(This,pStartTime)

#define IRiTime_put_AnimStart(This,tStartTime)	\
    (This)->lpVtbl -> put_AnimStart(This,tStartTime)

#define IRiTime_get_AnimEnd(This,pEndTime)	\
    (This)->lpVtbl -> get_AnimEnd(This,pEndTime)

#define IRiTime_put_AnimEnd(This,tEndTime)	\
    (This)->lpVtbl -> put_AnimEnd(This,tEndTime)

#define IRiTime_get_EvalAnimStart(This,bszAnimSpace,pStartTime)	\
    (This)->lpVtbl -> get_EvalAnimStart(This,bszAnimSpace,pStartTime)

#define IRiTime_get_EvalAnimEnd(This,bszAnimSpace,pEndTime)	\
    (This)->lpVtbl -> get_EvalAnimEnd(This,bszAnimSpace,pEndTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiTime_get_CurrentTime_Proxy( 
    IRiTime * This,
    /* [retval][out] */ VARIANT *pVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_StartFrame_Proxy( 
    IRiTime * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_EndFrame_Proxy( 
    IRiTime * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_Play_Proxy( 
    IRiTime * This,
    /* [in] */ BSTR bszAnimSpace);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_Stop_Proxy( 
    IRiTime * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_NextKeyFrame_Proxy( 
    IRiTime * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_PrevKeyFrame_Proxy( 
    IRiTime * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_NextFrame_Proxy( 
    IRiTime * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_PrevFrame_Proxy( 
    IRiTime * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiTime_SetTime_Proxy( 
    IRiTime * This,
    /* [in] */ VARIANT time);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiTime_get_AnimStart_Proxy( 
    IRiTime * This,
    /* [retval][out] */ VARIANT *pStartTime);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRiTime_put_AnimStart_Proxy( 
    IRiTime * This,
    /* [in] */ VARIANT tStartTime);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiTime_get_AnimEnd_Proxy( 
    IRiTime * This,
    /* [retval][out] */ VARIANT *pEndTime);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IRiTime_put_AnimEnd_Proxy( 
    IRiTime * This,
    /* [in] */ VARIANT tEndTime);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiTime_get_EvalAnimStart_Proxy( 
    IRiTime * This,
    /* [in] */ BSTR bszAnimSpace,
    /* [retval][out] */ VARIANT *pStartTime);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IRiTime_get_EvalAnimEnd_Proxy( 
    IRiTime * This,
    /* [in] */ BSTR bszAnimSpace,
    /* [retval][out] */ VARIANT *pEndTime);


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



#endif 	/* __IRiTime_INTERFACE_DEFINED__ */


#ifndef __IRsAnimNodeFactory_INTERFACE_DEFINED__
#define __IRsAnimNodeFactory_INTERFACE_DEFINED__

/* interface IRsAnimNodeFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimNodeFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D0198DDA-8A24-495D-A1AD-26EE6BB683EC")
    IRsAnimNodeFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimNodeFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimNodeFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimNodeFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimNodeFactory * This);
        
        END_INTERFACE
    } IRsAnimNodeFactoryVtbl;

    interface IRsAnimNodeFactory
    {
        CONST_VTBL struct IRsAnimNodeFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsAnimNodeFactory_INTERFACE_DEFINED__ */


#ifndef __IRsAnimCmdFactory_INTERFACE_DEFINED__
#define __IRsAnimCmdFactory_INTERFACE_DEFINED__

/* interface IRsAnimCmdFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimCmdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9E826E2F-6E45-477C-AAB6-164FDE277AAC")
    IRsAnimCmdFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimCmdFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimCmdFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimCmdFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimCmdFactory * This);
        
        END_INTERFACE
    } IRsAnimCmdFactoryVtbl;

    interface IRsAnimCmdFactory
    {
        CONST_VTBL struct IRsAnimCmdFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsAnimCmdFactory_INTERFACE_DEFINED__ */


#ifndef __IRsAnimDataObjFactory_INTERFACE_DEFINED__
#define __IRsAnimDataObjFactory_INTERFACE_DEFINED__

/* interface IRsAnimDataObjFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsAnimDataObjFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9EB8729F-35B0-4724-A2A6-B61D803EBAE4")
    IRsAnimDataObjFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsAnimDataObjFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsAnimDataObjFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsAnimDataObjFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsAnimDataObjFactory * This);
        
        END_INTERFACE
    } IRsAnimDataObjFactoryVtbl;

    interface IRsAnimDataObjFactory
    {
        CONST_VTBL struct IRsAnimDataObjFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsAnimDataObjFactory_INTERFACE_DEFINED__ */


#ifndef __IRsFileTypeRsClip_INTERFACE_DEFINED__
#define __IRsFileTypeRsClip_INTERFACE_DEFINED__

/* interface IRsFileTypeRsClip */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFileTypeRsClip;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("239D8FC5-1DF4-4d29-95BF-15FD1F13FC87")
    IRsFileTypeRsClip : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsFileTypeRsClipVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFileTypeRsClip * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFileTypeRsClip * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFileTypeRsClip * This);
        
        END_INTERFACE
    } IRsFileTypeRsClipVtbl;

    interface IRsFileTypeRsClip
    {
        CONST_VTBL struct IRsFileTypeRsClipVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsFileTypeRsClip_INTERFACE_DEFINED__ */


#ifndef __IRcDsTimeMove_INTERFACE_DEFINED__
#define __IRcDsTimeMove_INTERFACE_DEFINED__

/* interface IRcDsTimeMove */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDsTimeMove;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A67F5158-BEFC-47C0-AAEA-14E02564F5C6")
    IRcDsTimeMove : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDsTimeMoveVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDsTimeMove * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDsTimeMove * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDsTimeMove * This);
        
        END_INTERFACE
    } IRcDsTimeMoveVtbl;

    interface IRcDsTimeMove
    {
        CONST_VTBL struct IRcDsTimeMoveVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDsTimeMove_INTERFACE_DEFINED__ */


#ifndef __IRcDsNavigation_INTERFACE_DEFINED__
#define __IRcDsNavigation_INTERFACE_DEFINED__

/* interface IRcDsNavigation */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDsNavigation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4DCFF545-E7EE-412E-84F4-E7AD994A40ED")
    IRcDsNavigation : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDsNavigationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDsNavigation * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDsNavigation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDsNavigation * This);
        
        END_INTERFACE
    } IRcDsNavigationVtbl;

    interface IRcDsNavigation
    {
        CONST_VTBL struct IRcDsNavigationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDsNavigation_INTERFACE_DEFINED__ */


#ifndef __IRcDsAreaSelect_INTERFACE_DEFINED__
#define __IRcDsAreaSelect_INTERFACE_DEFINED__

/* interface IRcDsAreaSelect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDsAreaSelect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7E827733-34B7-4CDC-A9C3-16C37CD151F4")
    IRcDsAreaSelect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDsAreaSelectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDsAreaSelect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDsAreaSelect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDsAreaSelect * This);
        
        END_INTERFACE
    } IRcDsAreaSelectVtbl;

    interface IRcDsAreaSelect
    {
        CONST_VTBL struct IRcDsAreaSelectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDsAreaSelect_INTERFACE_DEFINED__ */


#ifndef __IRcDsSelAction_INTERFACE_DEFINED__
#define __IRcDsSelAction_INTERFACE_DEFINED__

/* interface IRcDsSelAction */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDsSelAction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4AE6ACFE-45FB-41F0-BD63-4749F8723012")
    IRcDsSelAction : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDsSelActionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDsSelAction * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDsSelAction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDsSelAction * This);
        
        END_INTERFACE
    } IRcDsSelActionVtbl;

    interface IRcDsSelAction
    {
        CONST_VTBL struct IRcDsSelActionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDsSelAction_INTERFACE_DEFINED__ */


#ifndef __IRcFcYNav_INTERFACE_DEFINED__
#define __IRcFcYNav_INTERFACE_DEFINED__

/* interface IRcFcYNav */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFcYNav;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4A2338A2-12F5-407f-9699-D06182F6E3A8")
    IRcFcYNav : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFcYNavVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFcYNav * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFcYNav * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFcYNav * This);
        
        END_INTERFACE
    } IRcFcYNavVtbl;

    interface IRcFcYNav
    {
        CONST_VTBL struct IRcFcYNavVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFcYNav_INTERFACE_DEFINED__ */


#ifndef __IRcFcAreaSelect_INTERFACE_DEFINED__
#define __IRcFcAreaSelect_INTERFACE_DEFINED__

/* interface IRcFcAreaSelect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFcAreaSelect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("57B054D8-9DAF-4aff-80B3-5D918B341CBF")
    IRcFcAreaSelect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFcAreaSelectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFcAreaSelect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFcAreaSelect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFcAreaSelect * This);
        
        END_INTERFACE
    } IRcFcAreaSelectVtbl;

    interface IRcFcAreaSelect
    {
        CONST_VTBL struct IRcFcAreaSelectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFcAreaSelect_INTERFACE_DEFINED__ */


#ifndef __IRcFcSelAction_INTERFACE_DEFINED__
#define __IRcFcSelAction_INTERFACE_DEFINED__

/* interface IRcFcSelAction */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFcSelAction;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3B5F2123-EB8B-4356-89F0-91E0731291FF")
    IRcFcSelAction : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFcSelActionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFcSelAction * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFcSelAction * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFcSelAction * This);
        
        END_INTERFACE
    } IRcFcSelActionVtbl;

    interface IRcFcSelAction
    {
        CONST_VTBL struct IRcFcSelActionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFcSelAction_INTERFACE_DEFINED__ */


#ifndef __IRcKeyingTool_INTERFACE_DEFINED__
#define __IRcKeyingTool_INTERFACE_DEFINED__

/* interface IRcKeyingTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcKeyingTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A6271646-9895-4dcf-A6F6-EAA80667761D")
    IRcKeyingTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcKeyingToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcKeyingTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcKeyingTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcKeyingTool * This);
        
        END_INTERFACE
    } IRcKeyingToolVtbl;

    interface IRcKeyingTool
    {
        CONST_VTBL struct IRcKeyingToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcKeyingTool_INTERFACE_DEFINED__ */


#ifndef __IRcCmButtonTool_INTERFACE_DEFINED__
#define __IRcCmButtonTool_INTERFACE_DEFINED__

/* interface IRcCmButtonTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCmButtonTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A6E25F55-0822-40b4-9988-4148082856D0")
    IRcCmButtonTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCmButtonToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCmButtonTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCmButtonTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCmButtonTool * This);
        
        END_INTERFACE
    } IRcCmButtonToolVtbl;

    interface IRcCmButtonTool
    {
        CONST_VTBL struct IRcCmButtonToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

#define IRcCmButtonTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCmButtonTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCmButtonTool_INTERFACE_DEFINED__ */


#ifndef __IRcStClipNav_INTERFACE_DEFINED__
#define __IRcStClipNav_INTERFACE_DEFINED__

/* interface IRcStClipNav */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcStClipNav;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("33147E71-9587-437d-A0DE-B5EC1D214E26")
    IRcStClipNav : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcStClipNavVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcStClipNav * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcStClipNav * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcStClipNav * This);
        
        END_INTERFACE
    } IRcStClipNavVtbl;

    interface IRcStClipNav
    {
        CONST_VTBL struct IRcStClipNavVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcStClipNav_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcStClipNav_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcStClipNav_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcStClipNav_INTERFACE_DEFINED__ */


#ifndef __IRcCmSplitter_INTERFACE_DEFINED__
#define __IRcCmSplitter_INTERFACE_DEFINED__

/* interface IRcCmSplitter */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCmSplitter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4F610D95-C798-4a82-8CAF-AFB8FB24D65E")
    IRcCmSplitter : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCmSplitterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCmSplitter * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCmSplitter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCmSplitter * This);
        
        END_INTERFACE
    } IRcCmSplitterVtbl;

    interface IRcCmSplitter
    {
        CONST_VTBL struct IRcCmSplitterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCmSplitter_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCmSplitter_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCmSplitter_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCmSplitter_INTERFACE_DEFINED__ */


#ifndef __IRcCmTreeTool_INTERFACE_DEFINED__
#define __IRcCmTreeTool_INTERFACE_DEFINED__

/* interface IRcCmTreeTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCmTreeTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DD9F13ED-A2BB-4e94-A828-A9A528B47D35")
    IRcCmTreeTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCmTreeToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCmTreeTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCmTreeTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCmTreeTool * This);
        
        END_INTERFACE
    } IRcCmTreeToolVtbl;

    interface IRcCmTreeTool
    {
        CONST_VTBL struct IRcCmTreeToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCmTreeTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCmTreeTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCmTreeTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCmTreeTool_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__Anim_1834 */
/* [local] */ 

typedef 
enum tagRtPlayRangeNavAction
    {	NAV_PLAYRANGE_NONE	= 1,
	NAV_PLAYRANGE_MOVE	= 2,
	NAV_PLAYRANGE_RESIZE_START	= 3,
	NAV_PLAYRANGE_RESIZE_END	= 4
    } 	RtPlayRangeNavAction;



extern RPC_IF_HANDLE __MIDL_itf__Anim_1834_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__Anim_1834_v0_0_s_ifspec;

#ifndef __IRsCmPlayRange_INTERFACE_DEFINED__
#define __IRsCmPlayRange_INTERFACE_DEFINED__

/* interface IRsCmPlayRange */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmPlayRange;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F98AF74B-A794-4ffd-82C3-1C10B9E5BB9C")
    IRsCmPlayRange : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPlayRange( 
            /* [in] */ RtTime tTimeStart,
            /* [in] */ RtTime tTimeEnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPlayRange( 
            /* [out] */ RtTime *ptTimeStart,
            /* [in] */ RtTime *ptTimeEnd) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ActivateNavAction( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [out] */ RtPlayRangeNavAction *pAction) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmPlayRangeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmPlayRange * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmPlayRange * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmPlayRange * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPlayRange )( 
            IRsCmPlayRange * This,
            /* [in] */ RtTime tTimeStart,
            /* [in] */ RtTime tTimeEnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPlayRange )( 
            IRsCmPlayRange * This,
            /* [out] */ RtTime *ptTimeStart,
            /* [in] */ RtTime *ptTimeEnd);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ActivateNavAction )( 
            IRsCmPlayRange * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [out] */ RtPlayRangeNavAction *pAction);
        
        END_INTERFACE
    } IRsCmPlayRangeVtbl;

    interface IRsCmPlayRange
    {
        CONST_VTBL struct IRsCmPlayRangeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmPlayRange_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmPlayRange_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmPlayRange_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmPlayRange_SetPlayRange(This,tTimeStart,tTimeEnd)	\
    (This)->lpVtbl -> SetPlayRange(This,tTimeStart,tTimeEnd)

#define IRsCmPlayRange_GetPlayRange(This,ptTimeStart,ptTimeEnd)	\
    (This)->lpVtbl -> GetPlayRange(This,ptTimeStart,ptTimeEnd)

#define IRsCmPlayRange_ActivateNavAction(This,pEvent,pAction)	\
    (This)->lpVtbl -> ActivateNavAction(This,pEvent,pAction)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmPlayRange_SetPlayRange_Proxy( 
    IRsCmPlayRange * This,
    /* [in] */ RtTime tTimeStart,
    /* [in] */ RtTime tTimeEnd);


void __RPC_STUB IRsCmPlayRange_SetPlayRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmPlayRange_GetPlayRange_Proxy( 
    IRsCmPlayRange * This,
    /* [out] */ RtTime *ptTimeStart,
    /* [in] */ RtTime *ptTimeEnd);


void __RPC_STUB IRsCmPlayRange_GetPlayRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmPlayRange_ActivateNavAction_Proxy( 
    IRsCmPlayRange * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [out] */ RtPlayRangeNavAction *pAction);


void __RPC_STUB IRsCmPlayRange_ActivateNavAction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmPlayRange_INTERFACE_DEFINED__ */


#ifndef __IRcCmPlayRangeMove_INTERFACE_DEFINED__
#define __IRcCmPlayRangeMove_INTERFACE_DEFINED__

/* interface IRcCmPlayRangeMove */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCmPlayRangeMove;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2BEFC07A-AA1A-4bea-9B4E-BC0E3D40BF1E")
    IRcCmPlayRangeMove : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCmPlayRangeMoveVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCmPlayRangeMove * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCmPlayRangeMove * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCmPlayRangeMove * This);
        
        END_INTERFACE
    } IRcCmPlayRangeMoveVtbl;

    interface IRcCmPlayRangeMove
    {
        CONST_VTBL struct IRcCmPlayRangeMoveVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCmPlayRangeMove_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCmPlayRangeMove_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCmPlayRangeMove_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCmPlayRangeMove_INTERFACE_DEFINED__ */


#ifndef __IRcCmScrollBar_INTERFACE_DEFINED__
#define __IRcCmScrollBar_INTERFACE_DEFINED__

/* interface IRcCmScrollBar */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCmScrollBar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("338E7468-5747-439d-B0F2-99093F46CB07")
    IRcCmScrollBar : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCmScrollBarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCmScrollBar * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCmScrollBar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCmScrollBar * This);
        
        END_INTERFACE
    } IRcCmScrollBarVtbl;

    interface IRcCmScrollBar
    {
        CONST_VTBL struct IRcCmScrollBarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCmScrollBar_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCmScrollBar_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCmScrollBar_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCmScrollBar_INTERFACE_DEFINED__ */


#ifndef __IRcFcTangentTool_INTERFACE_DEFINED__
#define __IRcFcTangentTool_INTERFACE_DEFINED__

/* interface IRcFcTangentTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFcTangentTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E7D3F235-EE14-4ed3-8CBC-5288E2F22FE7")
    IRcFcTangentTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFcTangentToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFcTangentTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFcTangentTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFcTangentTool * This);
        
        END_INTERFACE
    } IRcFcTangentToolVtbl;

    interface IRcFcTangentTool
    {
        CONST_VTBL struct IRcFcTangentToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcFcTangentTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcFcTangentTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcFcTangentTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFcTangentTool_INTERFACE_DEFINED__ */


#ifndef __IRnKeyView_INTERFACE_DEFINED__
#define __IRnKeyView_INTERFACE_DEFINED__

/* interface IRnKeyView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnKeyView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DB98D471-6307-4457-9348-1963EB757D8B")
    IRnKeyView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetControl( 
            /* [in] */ IRsGenView **pControl) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnKeyViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnKeyView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnKeyView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnKeyView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetControl )( 
            IRnKeyView * This,
            /* [in] */ IRsGenView **pControl);
        
        END_INTERFACE
    } IRnKeyViewVtbl;

    interface IRnKeyView
    {
        CONST_VTBL struct IRnKeyViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnKeyView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnKeyView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnKeyView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnKeyView_GetControl(This,pControl)	\
    (This)->lpVtbl -> GetControl(This,pControl)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRnKeyView_GetControl_Proxy( 
    IRnKeyView * This,
    /* [in] */ IRsGenView **pControl);


void __RPC_STUB IRnKeyView_GetControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnKeyView_INTERFACE_DEFINED__ */


#ifndef __IRsTemplateView_INTERFACE_DEFINED__
#define __IRsTemplateView_INTERFACE_DEFINED__

/* interface IRsTemplateView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsTemplateView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("422E606D-F08B-4e9b-8332-6EC1801095A4")
    IRsTemplateView : public IRsObject
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsTemplateViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsTemplateView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsTemplateView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsTemplateView * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsTemplateView * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsTemplateView * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IRsTemplateViewVtbl;

    interface IRsTemplateView
    {
        CONST_VTBL struct IRsTemplateViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsTemplateView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsTemplateView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsTemplateView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsTemplateView_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsTemplateView_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsTemplateView_INTERFACE_DEFINED__ */


#ifndef __IRnTemplateView_INTERFACE_DEFINED__
#define __IRnTemplateView_INTERFACE_DEFINED__

/* interface IRnTemplateView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnTemplateView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9C4293D6-A70F-43e8-B57A-01D588D36ABE")
    IRnTemplateView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnTemplateViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnTemplateView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnTemplateView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnTemplateView * This);
        
        END_INTERFACE
    } IRnTemplateViewVtbl;

    interface IRnTemplateView
    {
        CONST_VTBL struct IRnTemplateViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnTemplateView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnTemplateView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnTemplateView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnTemplateView_INTERFACE_DEFINED__ */


#ifndef __IRsDsAttrKF_INTERFACE_DEFINED__
#define __IRsDsAttrKF_INTERFACE_DEFINED__

/* interface IRsDsAttrKF */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsAttrKF;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6608EE75-1A48-48E0-880F-B3765F8F45E0")
    IRsDsAttrKF : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRsAnimAttrRecord *pAttrRecord) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetClipNode( 
            /* [in] */ IRsNode *pClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipNode( 
            /* [in] */ IRsNode **ppClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRootName( 
            /* [in] */ BSTR bszAnimRootName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LastPickedKeyFrame( 
            /* [out] */ RtTime *pTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsAttrKFVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsAttrKF * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsAttrKF * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsAttrKF * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsDsAttrKF * This,
            /* [in] */ IRsAnimAttrRecord *pAttrRecord);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsDsAttrKF * This,
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetClipNode )( 
            IRsDsAttrKF * This,
            /* [in] */ IRsNode *pClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipNode )( 
            IRsDsAttrKF * This,
            /* [in] */ IRsNode **ppClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRootName )( 
            IRsDsAttrKF * This,
            /* [in] */ BSTR bszAnimRootName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LastPickedKeyFrame )( 
            IRsDsAttrKF * This,
            /* [out] */ RtTime *pTime);
        
        END_INTERFACE
    } IRsDsAttrKFVtbl;

    interface IRsDsAttrKF
    {
        CONST_VTBL struct IRsDsAttrKFVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsAttrKF_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsAttrKF_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsAttrKF_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsAttrKF_SetData(This,pAttrRecord)	\
    (This)->lpVtbl -> SetData(This,pAttrRecord)

#define IRsDsAttrKF_GetData(This,ppAttrRecord)	\
    (This)->lpVtbl -> GetData(This,ppAttrRecord)

#define IRsDsAttrKF_SetClipNode(This,pClipNode)	\
    (This)->lpVtbl -> SetClipNode(This,pClipNode)

#define IRsDsAttrKF_GetClipNode(This,ppClipNode)	\
    (This)->lpVtbl -> GetClipNode(This,ppClipNode)

#define IRsDsAttrKF_SetRootName(This,bszAnimRootName)	\
    (This)->lpVtbl -> SetRootName(This,bszAnimRootName)

#define IRsDsAttrKF_LastPickedKeyFrame(This,pTime)	\
    (This)->lpVtbl -> LastPickedKeyFrame(This,pTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrKF_SetData_Proxy( 
    IRsDsAttrKF * This,
    /* [in] */ IRsAnimAttrRecord *pAttrRecord);


void __RPC_STUB IRsDsAttrKF_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrKF_GetData_Proxy( 
    IRsDsAttrKF * This,
    /* [out] */ IRsAnimAttrRecord **ppAttrRecord);


void __RPC_STUB IRsDsAttrKF_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrKF_SetClipNode_Proxy( 
    IRsDsAttrKF * This,
    /* [in] */ IRsNode *pClipNode);


void __RPC_STUB IRsDsAttrKF_SetClipNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrKF_GetClipNode_Proxy( 
    IRsDsAttrKF * This,
    /* [in] */ IRsNode **ppClipNode);


void __RPC_STUB IRsDsAttrKF_GetClipNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrKF_SetRootName_Proxy( 
    IRsDsAttrKF * This,
    /* [in] */ BSTR bszAnimRootName);


void __RPC_STUB IRsDsAttrKF_SetRootName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrKF_LastPickedKeyFrame_Proxy( 
    IRsDsAttrKF * This,
    /* [out] */ RtTime *pTime);


void __RPC_STUB IRsDsAttrKF_LastPickedKeyFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsAttrKF_INTERFACE_DEFINED__ */


#ifndef __IRsDsStreamKF_INTERFACE_DEFINED__
#define __IRsDsStreamKF_INTERFACE_DEFINED__

/* interface IRsDsStreamKF */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsStreamKF;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("306D2204-5441-42A0-A411-DCE45AF02F16")
    IRsDsStreamKF : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRsAnimAttrRecord *pAttrRecord,
            /* [in] */ IRsAnimDataStream *pAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
            /* [out] */ IRsAnimDataStream **ppAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LastPickedKeyFrame( 
            /* [out] */ RtTime *pTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsStreamKFVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsStreamKF * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsStreamKF * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsStreamKF * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsDsStreamKF * This,
            /* [in] */ IRsAnimAttrRecord *pAttrRecord,
            /* [in] */ IRsAnimDataStream *pAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsDsStreamKF * This,
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
            /* [out] */ IRsAnimDataStream **ppAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LastPickedKeyFrame )( 
            IRsDsStreamKF * This,
            /* [out] */ RtTime *pTime);
        
        END_INTERFACE
    } IRsDsStreamKFVtbl;

    interface IRsDsStreamKF
    {
        CONST_VTBL struct IRsDsStreamKFVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsStreamKF_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsStreamKF_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsStreamKF_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsStreamKF_SetData(This,pAttrRecord,pAnimDataStream)	\
    (This)->lpVtbl -> SetData(This,pAttrRecord,pAnimDataStream)

#define IRsDsStreamKF_GetData(This,ppAttrRecord,ppAnimDataStream)	\
    (This)->lpVtbl -> GetData(This,ppAttrRecord,ppAnimDataStream)

#define IRsDsStreamKF_LastPickedKeyFrame(This,pTime)	\
    (This)->lpVtbl -> LastPickedKeyFrame(This,pTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsStreamKF_SetData_Proxy( 
    IRsDsStreamKF * This,
    /* [in] */ IRsAnimAttrRecord *pAttrRecord,
    /* [in] */ IRsAnimDataStream *pAnimDataStream);


void __RPC_STUB IRsDsStreamKF_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsStreamKF_GetData_Proxy( 
    IRsDsStreamKF * This,
    /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
    /* [out] */ IRsAnimDataStream **ppAnimDataStream);


void __RPC_STUB IRsDsStreamKF_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsStreamKF_LastPickedKeyFrame_Proxy( 
    IRsDsStreamKF * This,
    /* [out] */ RtTime *pTime);


void __RPC_STUB IRsDsStreamKF_LastPickedKeyFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsStreamKF_INTERFACE_DEFINED__ */


#ifndef __IRsDsKeyFrame_INTERFACE_DEFINED__
#define __IRsDsKeyFrame_INTERFACE_DEFINED__

/* interface IRsDsKeyFrame */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsKeyFrame;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D7BC5F69-7A34-44B9-9106-153342A39DF5")
    IRsDsKeyFrame : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRdAnimData *pAnimData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ IRdAnimData **pAnimData) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetClipNode( 
            /* [in] */ IRsNode *pClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetClipNode( 
            /* [in] */ IRsNode **ppClipNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetRootName( 
            /* [in] */ BSTR bszAnimRootName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LastPickedKeyFrame( 
            /* [out] */ RtTime *pTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMergedStream( 
            /* [out] */ IRsAnimDataStream **ppStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsKeyFrameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsKeyFrame * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsKeyFrame * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsKeyFrame * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsDsKeyFrame * This,
            /* [in] */ IRdAnimData *pAnimData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsDsKeyFrame * This,
            /* [out] */ IRdAnimData **pAnimData);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetClipNode )( 
            IRsDsKeyFrame * This,
            /* [in] */ IRsNode *pClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetClipNode )( 
            IRsDsKeyFrame * This,
            /* [in] */ IRsNode **ppClipNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetRootName )( 
            IRsDsKeyFrame * This,
            /* [in] */ BSTR bszAnimRootName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LastPickedKeyFrame )( 
            IRsDsKeyFrame * This,
            /* [out] */ RtTime *pTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMergedStream )( 
            IRsDsKeyFrame * This,
            /* [out] */ IRsAnimDataStream **ppStream);
        
        END_INTERFACE
    } IRsDsKeyFrameVtbl;

    interface IRsDsKeyFrame
    {
        CONST_VTBL struct IRsDsKeyFrameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsKeyFrame_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsKeyFrame_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsKeyFrame_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsKeyFrame_SetData(This,pAnimData)	\
    (This)->lpVtbl -> SetData(This,pAnimData)

#define IRsDsKeyFrame_GetData(This,pAnimData)	\
    (This)->lpVtbl -> GetData(This,pAnimData)

#define IRsDsKeyFrame_SetClipNode(This,pClipNode)	\
    (This)->lpVtbl -> SetClipNode(This,pClipNode)

#define IRsDsKeyFrame_GetClipNode(This,ppClipNode)	\
    (This)->lpVtbl -> GetClipNode(This,ppClipNode)

#define IRsDsKeyFrame_SetRootName(This,bszAnimRootName)	\
    (This)->lpVtbl -> SetRootName(This,bszAnimRootName)

#define IRsDsKeyFrame_LastPickedKeyFrame(This,pTime)	\
    (This)->lpVtbl -> LastPickedKeyFrame(This,pTime)

#define IRsDsKeyFrame_GetMergedStream(This,ppStream)	\
    (This)->lpVtbl -> GetMergedStream(This,ppStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsKeyFrame_SetData_Proxy( 
    IRsDsKeyFrame * This,
    /* [in] */ IRdAnimData *pAnimData);


void __RPC_STUB IRsDsKeyFrame_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsKeyFrame_GetData_Proxy( 
    IRsDsKeyFrame * This,
    /* [out] */ IRdAnimData **pAnimData);


void __RPC_STUB IRsDsKeyFrame_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsKeyFrame_SetClipNode_Proxy( 
    IRsDsKeyFrame * This,
    /* [in] */ IRsNode *pClipNode);


void __RPC_STUB IRsDsKeyFrame_SetClipNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsKeyFrame_GetClipNode_Proxy( 
    IRsDsKeyFrame * This,
    /* [in] */ IRsNode **ppClipNode);


void __RPC_STUB IRsDsKeyFrame_GetClipNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsKeyFrame_SetRootName_Proxy( 
    IRsDsKeyFrame * This,
    /* [in] */ BSTR bszAnimRootName);


void __RPC_STUB IRsDsKeyFrame_SetRootName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsKeyFrame_LastPickedKeyFrame_Proxy( 
    IRsDsKeyFrame * This,
    /* [out] */ RtTime *pTime);


void __RPC_STUB IRsDsKeyFrame_LastPickedKeyFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsKeyFrame_GetMergedStream_Proxy( 
    IRsDsKeyFrame * This,
    /* [out] */ IRsAnimDataStream **ppStream);


void __RPC_STUB IRsDsKeyFrame_GetMergedStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsKeyFrame_INTERFACE_DEFINED__ */


#ifndef __IRsDsNavigation_INTERFACE_DEFINED__
#define __IRsDsNavigation_INTERFACE_DEFINED__

/* interface IRsDsNavigation */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsNavigation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("94878FBA-81A1-4834-AD1D-2E3CC42C9BCC")
    IRsDsNavigation : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsDsNavigationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsNavigation * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsNavigation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsNavigation * This);
        
        END_INTERFACE
    } IRsDsNavigationVtbl;

    interface IRsDsNavigation
    {
        CONST_VTBL struct IRsDsNavigationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsNavigation_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsNavigation_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsNavigation_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsDsNavigation_INTERFACE_DEFINED__ */


#ifndef __IRsDsSelection_INTERFACE_DEFINED__
#define __IRsDsSelection_INTERFACE_DEFINED__

/* interface IRsDsSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F556F9FE-A1D2-44A1-84AC-D164C8B56EB1")
    IRsDsSelection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRegion( 
            /* [in] */ RtSelAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRegion( 
            /* [retval][out] */ RtSelAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRdAnimSel *spAnimSel) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsSelection * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRegion )( 
            IRsDsSelection * This,
            /* [in] */ RtSelAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRegion )( 
            IRsDsSelection * This,
            /* [retval][out] */ RtSelAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsDsSelection * This,
            /* [in] */ IRdAnimSel *spAnimSel);
        
        END_INTERFACE
    } IRsDsSelectionVtbl;

    interface IRsDsSelection
    {
        CONST_VTBL struct IRsDsSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsSelection_SetAnimRegion(This,selRegion)	\
    (This)->lpVtbl -> SetAnimRegion(This,selRegion)

#define IRsDsSelection_GetAnimRegion(This,pSelRegion)	\
    (This)->lpVtbl -> GetAnimRegion(This,pSelRegion)

#define IRsDsSelection_SetData(This,spAnimSel)	\
    (This)->lpVtbl -> SetData(This,spAnimSel)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelection_SetAnimRegion_Proxy( 
    IRsDsSelection * This,
    /* [in] */ RtSelAnimRegion selRegion);


void __RPC_STUB IRsDsSelection_SetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelection_GetAnimRegion_Proxy( 
    IRsDsSelection * This,
    /* [retval][out] */ RtSelAnimRegion *pSelRegion);


void __RPC_STUB IRsDsSelection_GetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelection_SetData_Proxy( 
    IRsDsSelection * This,
    /* [in] */ IRdAnimSel *spAnimSel);


void __RPC_STUB IRsDsSelection_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsSelection_INTERFACE_DEFINED__ */


#ifndef __IRsDsSelAttr_INTERFACE_DEFINED__
#define __IRsDsSelAttr_INTERFACE_DEFINED__

/* interface IRsDsSelAttr */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsSelAttr;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5496FC03-C342-490d-AF10-685E01AAE379")
    IRsDsSelAttr : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRegion( 
            /* [in] */ RtSelAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRegion( 
            /* [retval][out] */ RtSelAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSelAttrRec( 
            /* [in] */ IRsAnimAttrRecord *spAnimRec) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsSelAttrVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsSelAttr * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsSelAttr * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsSelAttr * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRegion )( 
            IRsDsSelAttr * This,
            /* [in] */ RtSelAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRegion )( 
            IRsDsSelAttr * This,
            /* [retval][out] */ RtSelAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSelAttrRec )( 
            IRsDsSelAttr * This,
            /* [in] */ IRsAnimAttrRecord *spAnimRec);
        
        END_INTERFACE
    } IRsDsSelAttrVtbl;

    interface IRsDsSelAttr
    {
        CONST_VTBL struct IRsDsSelAttrVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsSelAttr_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsSelAttr_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsSelAttr_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsSelAttr_SetAnimRegion(This,selRegion)	\
    (This)->lpVtbl -> SetAnimRegion(This,selRegion)

#define IRsDsSelAttr_GetAnimRegion(This,pSelRegion)	\
    (This)->lpVtbl -> GetAnimRegion(This,pSelRegion)

#define IRsDsSelAttr_SetSelAttrRec(This,spAnimRec)	\
    (This)->lpVtbl -> SetSelAttrRec(This,spAnimRec)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelAttr_SetAnimRegion_Proxy( 
    IRsDsSelAttr * This,
    /* [in] */ RtSelAnimRegion selRegion);


void __RPC_STUB IRsDsSelAttr_SetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelAttr_GetAnimRegion_Proxy( 
    IRsDsSelAttr * This,
    /* [retval][out] */ RtSelAnimRegion *pSelRegion);


void __RPC_STUB IRsDsSelAttr_GetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelAttr_SetSelAttrRec_Proxy( 
    IRsDsSelAttr * This,
    /* [in] */ IRsAnimAttrRecord *spAnimRec);


void __RPC_STUB IRsDsSelAttr_SetSelAttrRec_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsSelAttr_INTERFACE_DEFINED__ */


#ifndef __IRsDsAttrTimeLine_INTERFACE_DEFINED__
#define __IRsDsAttrTimeLine_INTERFACE_DEFINED__

/* interface IRsDsAttrTimeLine */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsAttrTimeLine;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CA532A00-B80F-4F34-B4C9-7A7189748D53")
    IRsDsAttrTimeLine : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTreeItemRef( 
            /* [in] */ IRsAnimRenderNode *pTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTreeItemRef( 
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsAttrTimeLineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsAttrTimeLine * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsAttrTimeLine * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsAttrTimeLine * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTreeItemRef )( 
            IRsDsAttrTimeLine * This,
            /* [in] */ IRsAnimRenderNode *pTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTreeItemRef )( 
            IRsDsAttrTimeLine * This,
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);
        
        END_INTERFACE
    } IRsDsAttrTimeLineVtbl;

    interface IRsDsAttrTimeLine
    {
        CONST_VTBL struct IRsDsAttrTimeLineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsAttrTimeLine_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsAttrTimeLine_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsAttrTimeLine_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsAttrTimeLine_SetTreeItemRef(This,pTreeItemNode)	\
    (This)->lpVtbl -> SetTreeItemRef(This,pTreeItemNode)

#define IRsDsAttrTimeLine_GetTreeItemRef(This,ppTreeItemNode)	\
    (This)->lpVtbl -> GetTreeItemRef(This,ppTreeItemNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrTimeLine_SetTreeItemRef_Proxy( 
    IRsDsAttrTimeLine * This,
    /* [in] */ IRsAnimRenderNode *pTreeItemNode);


void __RPC_STUB IRsDsAttrTimeLine_SetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrTimeLine_GetTreeItemRef_Proxy( 
    IRsDsAttrTimeLine * This,
    /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);


void __RPC_STUB IRsDsAttrTimeLine_GetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsAttrTimeLine_INTERFACE_DEFINED__ */


#ifndef __IRsDsAttrKFView_INTERFACE_DEFINED__
#define __IRsDsAttrKFView_INTERFACE_DEFINED__

/* interface IRsDsAttrKFView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsAttrKFView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1D697D7A-D460-4D64-9C99-B83433E1FF3F")
    IRsDsAttrKFView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsDsAttrKFViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsAttrKFView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsAttrKFView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsAttrKFView * This);
        
        END_INTERFACE
    } IRsDsAttrKFViewVtbl;

    interface IRsDsAttrKFView
    {
        CONST_VTBL struct IRsDsAttrKFViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsAttrKFView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsAttrKFView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsAttrKFView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsDsAttrKFView_INTERFACE_DEFINED__ */


#ifndef __IRsDsAttrRecView_INTERFACE_DEFINED__
#define __IRsDsAttrRecView_INTERFACE_DEFINED__

/* interface IRsDsAttrRecView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsAttrRecView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6EED1689-E31F-4CEF-A325-68BEDFAD4AE9")
    IRsDsAttrRecView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTreeItemRef( 
            /* [in] */ IRsAnimRenderNode *pTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTreeItemRef( 
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsAttrRecViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsAttrRecView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsAttrRecView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsAttrRecView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTreeItemRef )( 
            IRsDsAttrRecView * This,
            /* [in] */ IRsAnimRenderNode *pTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTreeItemRef )( 
            IRsDsAttrRecView * This,
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);
        
        END_INTERFACE
    } IRsDsAttrRecViewVtbl;

    interface IRsDsAttrRecView
    {
        CONST_VTBL struct IRsDsAttrRecViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsAttrRecView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsAttrRecView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsAttrRecView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsAttrRecView_SetTreeItemRef(This,pTreeItemNode)	\
    (This)->lpVtbl -> SetTreeItemRef(This,pTreeItemNode)

#define IRsDsAttrRecView_GetTreeItemRef(This,ppTreeItemNode)	\
    (This)->lpVtbl -> GetTreeItemRef(This,ppTreeItemNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrRecView_SetTreeItemRef_Proxy( 
    IRsDsAttrRecView * This,
    /* [in] */ IRsAnimRenderNode *pTreeItemNode);


void __RPC_STUB IRsDsAttrRecView_SetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsAttrRecView_GetTreeItemRef_Proxy( 
    IRsDsAttrRecView * This,
    /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);


void __RPC_STUB IRsDsAttrRecView_GetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsAttrRecView_INTERFACE_DEFINED__ */


#ifndef __IRsDsSelStream_INTERFACE_DEFINED__
#define __IRsDsSelStream_INTERFACE_DEFINED__

/* interface IRsDsSelStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDsSelStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3BAACA49-093C-4246-A349-27467FAF49EE")
    IRsDsSelStream : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRegion( 
            /* [in] */ RtSelAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRegion( 
            /* [retval][out] */ RtSelAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSelAttrStream( 
            /* [in] */ IRsAnimDataStream *pAnimStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsDsSelStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDsSelStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDsSelStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDsSelStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRegion )( 
            IRsDsSelStream * This,
            /* [in] */ RtSelAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRegion )( 
            IRsDsSelStream * This,
            /* [retval][out] */ RtSelAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSelAttrStream )( 
            IRsDsSelStream * This,
            /* [in] */ IRsAnimDataStream *pAnimStream);
        
        END_INTERFACE
    } IRsDsSelStreamVtbl;

    interface IRsDsSelStream
    {
        CONST_VTBL struct IRsDsSelStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDsSelStream_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDsSelStream_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDsSelStream_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsDsSelStream_SetAnimRegion(This,selRegion)	\
    (This)->lpVtbl -> SetAnimRegion(This,selRegion)

#define IRsDsSelStream_GetAnimRegion(This,pSelRegion)	\
    (This)->lpVtbl -> GetAnimRegion(This,pSelRegion)

#define IRsDsSelStream_SetSelAttrStream(This,pAnimStream)	\
    (This)->lpVtbl -> SetSelAttrStream(This,pAnimStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelStream_SetAnimRegion_Proxy( 
    IRsDsSelStream * This,
    /* [in] */ RtSelAnimRegion selRegion);


void __RPC_STUB IRsDsSelStream_SetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelStream_GetAnimRegion_Proxy( 
    IRsDsSelStream * This,
    /* [retval][out] */ RtSelAnimRegion *pSelRegion);


void __RPC_STUB IRsDsSelStream_GetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsDsSelStream_SetSelAttrStream_Proxy( 
    IRsDsSelStream * This,
    /* [in] */ IRsAnimDataStream *pAnimStream);


void __RPC_STUB IRsDsSelStream_SetSelAttrStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsDsSelStream_INTERFACE_DEFINED__ */


#ifndef __IRsStTreeView_INTERFACE_DEFINED__
#define __IRsStTreeView_INTERFACE_DEFINED__

/* interface IRsStTreeView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStTreeView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BE9FBC88-046E-410c-9303-1BA985845BC7")
    IRsStTreeView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWidth( 
            /* [in] */ RtUlong ulWidth) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWidth( 
            /* [retval][out] */ RtUlong *pulWidth) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStTreeViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStTreeView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStTreeView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStTreeView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWidth )( 
            IRsStTreeView * This,
            /* [in] */ RtUlong ulWidth);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetWidth )( 
            IRsStTreeView * This,
            /* [retval][out] */ RtUlong *pulWidth);
        
        END_INTERFACE
    } IRsStTreeViewVtbl;

    interface IRsStTreeView
    {
        CONST_VTBL struct IRsStTreeViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsStTreeView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsStTreeView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsStTreeView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsStTreeView_SetWidth(This,ulWidth)	\
    (This)->lpVtbl -> SetWidth(This,ulWidth)

#define IRsStTreeView_GetWidth(This,pulWidth)	\
    (This)->lpVtbl -> GetWidth(This,pulWidth)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeView_SetWidth_Proxy( 
    IRsStTreeView * This,
    /* [in] */ RtUlong ulWidth);


void __RPC_STUB IRsStTreeView_SetWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeView_GetWidth_Proxy( 
    IRsStTreeView * This,
    /* [retval][out] */ RtUlong *pulWidth);


void __RPC_STUB IRsStTreeView_GetWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsStTreeView_INTERFACE_DEFINED__ */


#ifndef __IRsStTreeStatic_INTERFACE_DEFINED__
#define __IRsStTreeStatic_INTERFACE_DEFINED__

/* interface IRsStTreeStatic */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStTreeStatic;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("56CA6994-5F4B-4e30-A36A-11DF6AAB452E")
    IRsStTreeStatic : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ BSTR bszItemName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ BSTR *pbszItemName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDataItemRef( 
            /* [in] */ IRsAnimRenderNode *pTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDataItemRef( 
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [in] */ RtBool bSelect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsSelected( 
            /* [out] */ RtBool *pbIsSelected) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Expand( 
            /* [in] */ RtBool bExpand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsExpanded( 
            /* [out] */ RtBool *pbIsExpanded) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExpandStatus( 
            /* [in] */ RtExpandStatus eExpandStatus) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnAction( 
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pAnimView) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStTreeStaticVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStTreeStatic * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStTreeStatic * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStTreeStatic * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsStTreeStatic * This,
            /* [in] */ BSTR bszItemName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsStTreeStatic * This,
            /* [out] */ BSTR *pbszItemName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDataItemRef )( 
            IRsStTreeStatic * This,
            /* [in] */ IRsAnimRenderNode *pTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDataItemRef )( 
            IRsStTreeStatic * This,
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IRsStTreeStatic * This,
            /* [in] */ RtBool bSelect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsSelected )( 
            IRsStTreeStatic * This,
            /* [out] */ RtBool *pbIsSelected);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Expand )( 
            IRsStTreeStatic * This,
            /* [in] */ RtBool bExpand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsExpanded )( 
            IRsStTreeStatic * This,
            /* [out] */ RtBool *pbIsExpanded);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExpandStatus )( 
            IRsStTreeStatic * This,
            /* [in] */ RtExpandStatus eExpandStatus);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnAction )( 
            IRsStTreeStatic * This,
            /* [in] */ RtMouseEvent *pEvent,
            /* [in] */ IRsNode *pAnimView);
        
        END_INTERFACE
    } IRsStTreeStaticVtbl;

    interface IRsStTreeStatic
    {
        CONST_VTBL struct IRsStTreeStaticVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsStTreeStatic_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsStTreeStatic_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsStTreeStatic_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsStTreeStatic_SetData(This,bszItemName)	\
    (This)->lpVtbl -> SetData(This,bszItemName)

#define IRsStTreeStatic_GetData(This,pbszItemName)	\
    (This)->lpVtbl -> GetData(This,pbszItemName)

#define IRsStTreeStatic_SetDataItemRef(This,pTreeItemNode)	\
    (This)->lpVtbl -> SetDataItemRef(This,pTreeItemNode)

#define IRsStTreeStatic_GetDataItemRef(This,ppTreeItemNode)	\
    (This)->lpVtbl -> GetDataItemRef(This,ppTreeItemNode)

#define IRsStTreeStatic_Select(This,bSelect)	\
    (This)->lpVtbl -> Select(This,bSelect)

#define IRsStTreeStatic_IsSelected(This,pbIsSelected)	\
    (This)->lpVtbl -> IsSelected(This,pbIsSelected)

#define IRsStTreeStatic_Expand(This,bExpand)	\
    (This)->lpVtbl -> Expand(This,bExpand)

#define IRsStTreeStatic_IsExpanded(This,pbIsExpanded)	\
    (This)->lpVtbl -> IsExpanded(This,pbIsExpanded)

#define IRsStTreeStatic_ExpandStatus(This,eExpandStatus)	\
    (This)->lpVtbl -> ExpandStatus(This,eExpandStatus)

#define IRsStTreeStatic_OnAction(This,pEvent,pAnimView)	\
    (This)->lpVtbl -> OnAction(This,pEvent,pAnimView)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_SetData_Proxy( 
    IRsStTreeStatic * This,
    /* [in] */ BSTR bszItemName);


void __RPC_STUB IRsStTreeStatic_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_GetData_Proxy( 
    IRsStTreeStatic * This,
    /* [out] */ BSTR *pbszItemName);


void __RPC_STUB IRsStTreeStatic_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_SetDataItemRef_Proxy( 
    IRsStTreeStatic * This,
    /* [in] */ IRsAnimRenderNode *pTreeItemNode);


void __RPC_STUB IRsStTreeStatic_SetDataItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_GetDataItemRef_Proxy( 
    IRsStTreeStatic * This,
    /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);


void __RPC_STUB IRsStTreeStatic_GetDataItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_Select_Proxy( 
    IRsStTreeStatic * This,
    /* [in] */ RtBool bSelect);


void __RPC_STUB IRsStTreeStatic_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_IsSelected_Proxy( 
    IRsStTreeStatic * This,
    /* [out] */ RtBool *pbIsSelected);


void __RPC_STUB IRsStTreeStatic_IsSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_Expand_Proxy( 
    IRsStTreeStatic * This,
    /* [in] */ RtBool bExpand);


void __RPC_STUB IRsStTreeStatic_Expand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_IsExpanded_Proxy( 
    IRsStTreeStatic * This,
    /* [out] */ RtBool *pbIsExpanded);


void __RPC_STUB IRsStTreeStatic_IsExpanded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_ExpandStatus_Proxy( 
    IRsStTreeStatic * This,
    /* [in] */ RtExpandStatus eExpandStatus);


void __RPC_STUB IRsStTreeStatic_ExpandStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStTreeStatic_OnAction_Proxy( 
    IRsStTreeStatic * This,
    /* [in] */ RtMouseEvent *pEvent,
    /* [in] */ IRsNode *pAnimView);


void __RPC_STUB IRsStTreeStatic_OnAction_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsStTreeStatic_INTERFACE_DEFINED__ */


#ifndef __IRsDSRenderData_INTERFACE_DEFINED__
#define __IRsDSRenderData_INTERFACE_DEFINED__

/* interface IRsDSRenderData */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsDSRenderData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("461BA2AD-3CD6-436C-86BE-1F2B13BDE58B")
    IRsDSRenderData : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsDSRenderDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsDSRenderData * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsDSRenderData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsDSRenderData * This);
        
        END_INTERFACE
    } IRsDSRenderDataVtbl;

    interface IRsDSRenderData
    {
        CONST_VTBL struct IRsDSRenderDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsDSRenderData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsDSRenderData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsDSRenderData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsDSRenderData_INTERFACE_DEFINED__ */


#ifndef __IRsCmSliderView_INTERFACE_DEFINED__
#define __IRsCmSliderView_INTERFACE_DEFINED__

/* interface IRsCmSliderView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmSliderView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ED6F67B2-D385-4440-82C5-CD8F64A42888")
    IRsCmSliderView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsCmSliderViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmSliderView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmSliderView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmSliderView * This);
        
        END_INTERFACE
    } IRsCmSliderViewVtbl;

    interface IRsCmSliderView
    {
        CONST_VTBL struct IRsCmSliderViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmSliderView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmSliderView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmSliderView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsCmSliderView_INTERFACE_DEFINED__ */


#ifndef __IRsCmTimeEdit_INTERFACE_DEFINED__
#define __IRsCmTimeEdit_INTERFACE_DEFINED__

/* interface IRsCmTimeEdit */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmTimeEdit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("081F91E9-30C8-4e99-914D-2540AF4CFAE0")
    IRsCmTimeEdit : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsCmTimeEditVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmTimeEdit * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmTimeEdit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmTimeEdit * This);
        
        END_INTERFACE
    } IRsCmTimeEditVtbl;

    interface IRsCmTimeEdit
    {
        CONST_VTBL struct IRsCmTimeEditVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmTimeEdit_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmTimeEdit_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmTimeEdit_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsCmTimeEdit_INTERFACE_DEFINED__ */


#ifndef __IRsKeyingAttr_INTERFACE_DEFINED__
#define __IRsKeyingAttr_INTERFACE_DEFINED__

/* interface IRsKeyingAttr */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKeyingAttr;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5B2AB09C-E0C8-4cfe-8630-05E57EDE8838")
    IRsKeyingAttr : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRsAnimAttrRecord *pAttrRecord) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKeyableStatus( 
            /* [in] */ RtBool bKeyable) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetKeyableStatus( 
            /* [out] */ RtBool *pbKeyable) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsKeyingAttrVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKeyingAttr * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKeyingAttr * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKeyingAttr * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsKeyingAttr * This,
            /* [in] */ IRsAnimAttrRecord *pAttrRecord);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsKeyingAttr * This,
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKeyableStatus )( 
            IRsKeyingAttr * This,
            /* [in] */ RtBool bKeyable);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetKeyableStatus )( 
            IRsKeyingAttr * This,
            /* [out] */ RtBool *pbKeyable);
        
        END_INTERFACE
    } IRsKeyingAttrVtbl;

    interface IRsKeyingAttr
    {
        CONST_VTBL struct IRsKeyingAttrVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKeyingAttr_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKeyingAttr_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKeyingAttr_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsKeyingAttr_SetData(This,pAttrRecord)	\
    (This)->lpVtbl -> SetData(This,pAttrRecord)

#define IRsKeyingAttr_GetData(This,ppAttrRecord)	\
    (This)->lpVtbl -> GetData(This,ppAttrRecord)

#define IRsKeyingAttr_SetKeyableStatus(This,bKeyable)	\
    (This)->lpVtbl -> SetKeyableStatus(This,bKeyable)

#define IRsKeyingAttr_GetKeyableStatus(This,pbKeyable)	\
    (This)->lpVtbl -> GetKeyableStatus(This,pbKeyable)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingAttr_SetData_Proxy( 
    IRsKeyingAttr * This,
    /* [in] */ IRsAnimAttrRecord *pAttrRecord);


void __RPC_STUB IRsKeyingAttr_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingAttr_GetData_Proxy( 
    IRsKeyingAttr * This,
    /* [out] */ IRsAnimAttrRecord **ppAttrRecord);


void __RPC_STUB IRsKeyingAttr_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingAttr_SetKeyableStatus_Proxy( 
    IRsKeyingAttr * This,
    /* [in] */ RtBool bKeyable);


void __RPC_STUB IRsKeyingAttr_SetKeyableStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingAttr_GetKeyableStatus_Proxy( 
    IRsKeyingAttr * This,
    /* [out] */ RtBool *pbKeyable);


void __RPC_STUB IRsKeyingAttr_GetKeyableStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsKeyingAttr_INTERFACE_DEFINED__ */


#ifndef __IRsKObjAttr_INTERFACE_DEFINED__
#define __IRsKObjAttr_INTERFACE_DEFINED__

/* interface IRsKObjAttr */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKObjAttr;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2DBB7449-D8D9-4ecc-B138-91FADA6BFED4")
    IRsKObjAttr : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAttrID( 
            /* [in] */ BSTR bszAttrId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttrID( 
            /* [out] */ BSTR *pbszAttrId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRsAnimAttrRecord *pAttrRecord) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsKObjAttrVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKObjAttr * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKObjAttr * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKObjAttr * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttrID )( 
            IRsKObjAttr * This,
            /* [in] */ BSTR bszAttrId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttrID )( 
            IRsKObjAttr * This,
            /* [out] */ BSTR *pbszAttrId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsKObjAttr * This,
            /* [in] */ IRsAnimAttrRecord *pAttrRecord);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsKObjAttr * This,
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord);
        
        END_INTERFACE
    } IRsKObjAttrVtbl;

    interface IRsKObjAttr
    {
        CONST_VTBL struct IRsKObjAttrVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKObjAttr_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKObjAttr_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKObjAttr_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsKObjAttr_SetAttrID(This,bszAttrId)	\
    (This)->lpVtbl -> SetAttrID(This,bszAttrId)

#define IRsKObjAttr_GetAttrID(This,pbszAttrId)	\
    (This)->lpVtbl -> GetAttrID(This,pbszAttrId)

#define IRsKObjAttr_SetData(This,pAttrRecord)	\
    (This)->lpVtbl -> SetData(This,pAttrRecord)

#define IRsKObjAttr_GetData(This,ppAttrRecord)	\
    (This)->lpVtbl -> GetData(This,ppAttrRecord)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKObjAttr_SetAttrID_Proxy( 
    IRsKObjAttr * This,
    /* [in] */ BSTR bszAttrId);


void __RPC_STUB IRsKObjAttr_SetAttrID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKObjAttr_GetAttrID_Proxy( 
    IRsKObjAttr * This,
    /* [out] */ BSTR *pbszAttrId);


void __RPC_STUB IRsKObjAttr_GetAttrID_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKObjAttr_SetData_Proxy( 
    IRsKObjAttr * This,
    /* [in] */ IRsAnimAttrRecord *pAttrRecord);


void __RPC_STUB IRsKObjAttr_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKObjAttr_GetData_Proxy( 
    IRsKObjAttr * This,
    /* [out] */ IRsAnimAttrRecord **ppAttrRecord);


void __RPC_STUB IRsKObjAttr_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsKObjAttr_INTERFACE_DEFINED__ */


#ifndef __IRsCmScrollBar_INTERFACE_DEFINED__
#define __IRsCmScrollBar_INTERFACE_DEFINED__

/* interface IRsCmScrollBar */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmScrollBar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4F6029C2-F81E-4d17-83A2-5E36D196C7F2")
    IRsCmScrollBar : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVScrollOffset( 
            /* [in] */ RtLong ulVOffset) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVScrollOffset( 
            /* [retval][out] */ RtLong *pulVOffset) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTreeCtrlHeight( 
            /* [in] */ RtUlong ulVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTreeCtrlHeight( 
            /* [retval][out] */ RtUlong *pulVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDividerHeight( 
            /* [in] */ RtUlong ulVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDividerHeight( 
            /* [retval][out] */ RtUlong *pulVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmScrollBarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmScrollBar * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmScrollBar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmScrollBar * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVScrollOffset )( 
            IRsCmScrollBar * This,
            /* [in] */ RtLong ulVOffset);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVScrollOffset )( 
            IRsCmScrollBar * This,
            /* [retval][out] */ RtLong *pulVOffset);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTreeCtrlHeight )( 
            IRsCmScrollBar * This,
            /* [in] */ RtUlong ulVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTreeCtrlHeight )( 
            IRsCmScrollBar * This,
            /* [retval][out] */ RtUlong *pulVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDividerHeight )( 
            IRsCmScrollBar * This,
            /* [in] */ RtUlong ulVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDividerHeight )( 
            IRsCmScrollBar * This,
            /* [retval][out] */ RtUlong *pulVal);
        
        END_INTERFACE
    } IRsCmScrollBarVtbl;

    interface IRsCmScrollBar
    {
        CONST_VTBL struct IRsCmScrollBarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmScrollBar_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmScrollBar_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmScrollBar_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmScrollBar_SetVScrollOffset(This,ulVOffset)	\
    (This)->lpVtbl -> SetVScrollOffset(This,ulVOffset)

#define IRsCmScrollBar_GetVScrollOffset(This,pulVOffset)	\
    (This)->lpVtbl -> GetVScrollOffset(This,pulVOffset)

#define IRsCmScrollBar_SetTreeCtrlHeight(This,ulVal)	\
    (This)->lpVtbl -> SetTreeCtrlHeight(This,ulVal)

#define IRsCmScrollBar_GetTreeCtrlHeight(This,pulVal)	\
    (This)->lpVtbl -> GetTreeCtrlHeight(This,pulVal)

#define IRsCmScrollBar_SetDividerHeight(This,ulVal)	\
    (This)->lpVtbl -> SetDividerHeight(This,ulVal)

#define IRsCmScrollBar_GetDividerHeight(This,pulVal)	\
    (This)->lpVtbl -> GetDividerHeight(This,pulVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmScrollBar_SetVScrollOffset_Proxy( 
    IRsCmScrollBar * This,
    /* [in] */ RtLong ulVOffset);


void __RPC_STUB IRsCmScrollBar_SetVScrollOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmScrollBar_GetVScrollOffset_Proxy( 
    IRsCmScrollBar * This,
    /* [retval][out] */ RtLong *pulVOffset);


void __RPC_STUB IRsCmScrollBar_GetVScrollOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmScrollBar_SetTreeCtrlHeight_Proxy( 
    IRsCmScrollBar * This,
    /* [in] */ RtUlong ulVal);


void __RPC_STUB IRsCmScrollBar_SetTreeCtrlHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmScrollBar_GetTreeCtrlHeight_Proxy( 
    IRsCmScrollBar * This,
    /* [retval][out] */ RtUlong *pulVal);


void __RPC_STUB IRsCmScrollBar_GetTreeCtrlHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmScrollBar_SetDividerHeight_Proxy( 
    IRsCmScrollBar * This,
    /* [in] */ RtUlong ulVal);


void __RPC_STUB IRsCmScrollBar_SetDividerHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmScrollBar_GetDividerHeight_Proxy( 
    IRsCmScrollBar * This,
    /* [retval][out] */ RtUlong *pulVal);


void __RPC_STUB IRsCmScrollBar_GetDividerHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmScrollBar_INTERFACE_DEFINED__ */


#ifndef __IRsKeyingRoot_INTERFACE_DEFINED__
#define __IRsKeyingRoot_INTERFACE_DEFINED__

/* interface IRsKeyingRoot */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKeyingRoot;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F1B10E29-26DD-4882-BE9F-104439A98BAF")
    IRsKeyingRoot : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTime( 
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTime( 
            /* [retval][out] */ RtTime *ptTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRoot( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRoot( 
            /* [retval][out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetScrollBar( 
            /* [retval][out] */ IRsCmScrollBar **ppScrollBarNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsKeyingRootVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKeyingRoot * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKeyingRoot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKeyingRoot * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTime )( 
            IRsKeyingRoot * This,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTime )( 
            IRsKeyingRoot * This,
            /* [retval][out] */ RtTime *ptTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRoot )( 
            IRsKeyingRoot * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRoot )( 
            IRsKeyingRoot * This,
            /* [retval][out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetScrollBar )( 
            IRsKeyingRoot * This,
            /* [retval][out] */ IRsCmScrollBar **ppScrollBarNode);
        
        END_INTERFACE
    } IRsKeyingRootVtbl;

    interface IRsKeyingRoot
    {
        CONST_VTBL struct IRsKeyingRootVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKeyingRoot_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKeyingRoot_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKeyingRoot_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsKeyingRoot_SetTime(This,tTime)	\
    (This)->lpVtbl -> SetTime(This,tTime)

#define IRsKeyingRoot_GetTime(This,ptTime)	\
    (This)->lpVtbl -> GetTime(This,ptTime)

#define IRsKeyingRoot_SetAnimRoot(This,pNode)	\
    (This)->lpVtbl -> SetAnimRoot(This,pNode)

#define IRsKeyingRoot_GetAnimRoot(This,ppNode)	\
    (This)->lpVtbl -> GetAnimRoot(This,ppNode)

#define IRsKeyingRoot_GetScrollBar(This,ppScrollBarNode)	\
    (This)->lpVtbl -> GetScrollBar(This,ppScrollBarNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingRoot_SetTime_Proxy( 
    IRsKeyingRoot * This,
    /* [in] */ RtTime tTime);


void __RPC_STUB IRsKeyingRoot_SetTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingRoot_GetTime_Proxy( 
    IRsKeyingRoot * This,
    /* [retval][out] */ RtTime *ptTime);


void __RPC_STUB IRsKeyingRoot_GetTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingRoot_SetAnimRoot_Proxy( 
    IRsKeyingRoot * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRsKeyingRoot_SetAnimRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingRoot_GetAnimRoot_Proxy( 
    IRsKeyingRoot * This,
    /* [retval][out] */ IRsNode **ppNode);


void __RPC_STUB IRsKeyingRoot_GetAnimRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingRoot_GetScrollBar_Proxy( 
    IRsKeyingRoot * This,
    /* [retval][out] */ IRsCmScrollBar **ppScrollBarNode);


void __RPC_STUB IRsKeyingRoot_GetScrollBar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsKeyingRoot_INTERFACE_DEFINED__ */


#ifndef __IRfKeyingRender_INTERFACE_DEFINED__
#define __IRfKeyingRender_INTERFACE_DEFINED__

/* interface IRfKeyingRender */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfKeyingRender;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E438F21B-8000-4e6b-89F1-951807D4012A")
    IRfKeyingRender : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FillGraph( 
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot,
            /* [in] */ IRsAnimRenderGraph *pTemplate) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfKeyingRenderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfKeyingRender * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfKeyingRender * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfKeyingRender * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *FillGraph )( 
            IRfKeyingRender * This,
            /* [in] */ IRsAnimRenderGraph *pRenderGraph,
            /* [in] */ IRsNode *pRoot,
            /* [in] */ IRsAnimRenderGraph *pTemplate);
        
        END_INTERFACE
    } IRfKeyingRenderVtbl;

    interface IRfKeyingRender
    {
        CONST_VTBL struct IRfKeyingRenderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfKeyingRender_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfKeyingRender_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfKeyingRender_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfKeyingRender_FillGraph(This,pRenderGraph,pRoot,pTemplate)	\
    (This)->lpVtbl -> FillGraph(This,pRenderGraph,pRoot,pTemplate)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfKeyingRender_FillGraph_Proxy( 
    IRfKeyingRender * This,
    /* [in] */ IRsAnimRenderGraph *pRenderGraph,
    /* [in] */ IRsNode *pRoot,
    /* [in] */ IRsAnimRenderGraph *pTemplate);


void __RPC_STUB IRfKeyingRender_FillGraph_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfKeyingRender_INTERFACE_DEFINED__ */


#ifndef __IRsKStatic_INTERFACE_DEFINED__
#define __IRsKStatic_INTERFACE_DEFINED__

/* interface IRsKStatic */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKStatic;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("450AEFEF-7DBE-4cd7-84D0-D21529565BCA")
    IRsKStatic : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetText( 
            /* [in] */ BSTR bszText) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetText( 
            /* [out] */ BSTR *pbszText) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsKStaticVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKStatic * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKStatic * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKStatic * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetText )( 
            IRsKStatic * This,
            /* [in] */ BSTR bszText);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetText )( 
            IRsKStatic * This,
            /* [out] */ BSTR *pbszText);
        
        END_INTERFACE
    } IRsKStaticVtbl;

    interface IRsKStatic
    {
        CONST_VTBL struct IRsKStaticVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKStatic_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKStatic_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKStatic_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsKStatic_SetText(This,bszText)	\
    (This)->lpVtbl -> SetText(This,bszText)

#define IRsKStatic_GetText(This,pbszText)	\
    (This)->lpVtbl -> GetText(This,pbszText)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKStatic_SetText_Proxy( 
    IRsKStatic * This,
    /* [in] */ BSTR bszText);


void __RPC_STUB IRsKStatic_SetText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKStatic_GetText_Proxy( 
    IRsKStatic * This,
    /* [out] */ BSTR *pbszText);


void __RPC_STUB IRsKStatic_GetText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsKStatic_INTERFACE_DEFINED__ */


#ifndef __IRsKeyingView_INTERFACE_DEFINED__
#define __IRsKeyingView_INTERFACE_DEFINED__

/* interface IRsKeyingView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsKeyingView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("57F81087-E9D3-42d8-AC59-2086CE46950C")
    IRsKeyingView : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderer( 
            /* [in] */ IRsKeyGdiRender **ppRenderer) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetRenderGraph( 
            /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetLastPickedObj( 
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsKeyingViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsKeyingView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsKeyingView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsKeyingView * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsKeyingView * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsKeyingView * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderer )( 
            IRsKeyingView * This,
            /* [in] */ IRsKeyGdiRender **ppRenderer);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetRenderGraph )( 
            IRsKeyingView * This,
            /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetLastPickedObj )( 
            IRsKeyingView * This,
            /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);
        
        END_INTERFACE
    } IRsKeyingViewVtbl;

    interface IRsKeyingView
    {
        CONST_VTBL struct IRsKeyingViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsKeyingView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsKeyingView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsKeyingView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsKeyingView_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsKeyingView_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsKeyingView_GetRenderer(This,ppRenderer)	\
    (This)->lpVtbl -> GetRenderer(This,ppRenderer)

#define IRsKeyingView_GetRenderGraph(This,ppRenderGraph)	\
    (This)->lpVtbl -> GetRenderGraph(This,ppRenderGraph)

#define IRsKeyingView_GetLastPickedObj(This,ppRenderNode)	\
    (This)->lpVtbl -> GetLastPickedObj(This,ppRenderNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingView_GetRenderer_Proxy( 
    IRsKeyingView * This,
    /* [in] */ IRsKeyGdiRender **ppRenderer);


void __RPC_STUB IRsKeyingView_GetRenderer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingView_GetRenderGraph_Proxy( 
    IRsKeyingView * This,
    /* [retval][out] */ IRsAnimRenderGraph **ppRenderGraph);


void __RPC_STUB IRsKeyingView_GetRenderGraph_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsKeyingView_GetLastPickedObj_Proxy( 
    IRsKeyingView * This,
    /* [retval][out] */ IRsAnimRenderNode **ppRenderNode);


void __RPC_STUB IRsKeyingView_GetLastPickedObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsKeyingView_INTERFACE_DEFINED__ */


#ifndef __IRsFcKFStream_INTERFACE_DEFINED__
#define __IRsFcKFStream_INTERFACE_DEFINED__

/* interface IRsFcKFStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcKFStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("276A5AB2-7616-4f02-9202-A67FE102947B")
    IRsFcKFStream : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRsAnimAttrRecord *pAttrRecord,
            /* [in] */ IRsAnimDataStream *pAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
            /* [out] */ IRsAnimDataStream **ppAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LastPickedKeyFrame( 
            /* [out] */ RtTime *pTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTreeItemRef( 
            /* [in] */ IRsAnimRenderNode *pTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTreeItemRef( 
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcKFStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcKFStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcKFStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcKFStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsFcKFStream * This,
            /* [in] */ IRsAnimAttrRecord *pAttrRecord,
            /* [in] */ IRsAnimDataStream *pAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsFcKFStream * This,
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
            /* [out] */ IRsAnimDataStream **ppAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LastPickedKeyFrame )( 
            IRsFcKFStream * This,
            /* [out] */ RtTime *pTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTreeItemRef )( 
            IRsFcKFStream * This,
            /* [in] */ IRsAnimRenderNode *pTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTreeItemRef )( 
            IRsFcKFStream * This,
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);
        
        END_INTERFACE
    } IRsFcKFStreamVtbl;

    interface IRsFcKFStream
    {
        CONST_VTBL struct IRsFcKFStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcKFStream_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcKFStream_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcKFStream_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFcKFStream_SetData(This,pAttrRecord,pAnimDataStream)	\
    (This)->lpVtbl -> SetData(This,pAttrRecord,pAnimDataStream)

#define IRsFcKFStream_GetData(This,ppAttrRecord,ppAnimDataStream)	\
    (This)->lpVtbl -> GetData(This,ppAttrRecord,ppAnimDataStream)

#define IRsFcKFStream_LastPickedKeyFrame(This,pTime)	\
    (This)->lpVtbl -> LastPickedKeyFrame(This,pTime)

#define IRsFcKFStream_SetTreeItemRef(This,pTreeItemNode)	\
    (This)->lpVtbl -> SetTreeItemRef(This,pTreeItemNode)

#define IRsFcKFStream_GetTreeItemRef(This,ppTreeItemNode)	\
    (This)->lpVtbl -> GetTreeItemRef(This,ppTreeItemNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcKFStream_SetData_Proxy( 
    IRsFcKFStream * This,
    /* [in] */ IRsAnimAttrRecord *pAttrRecord,
    /* [in] */ IRsAnimDataStream *pAnimDataStream);


void __RPC_STUB IRsFcKFStream_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcKFStream_GetData_Proxy( 
    IRsFcKFStream * This,
    /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
    /* [out] */ IRsAnimDataStream **ppAnimDataStream);


void __RPC_STUB IRsFcKFStream_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcKFStream_LastPickedKeyFrame_Proxy( 
    IRsFcKFStream * This,
    /* [out] */ RtTime *pTime);


void __RPC_STUB IRsFcKFStream_LastPickedKeyFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcKFStream_SetTreeItemRef_Proxy( 
    IRsFcKFStream * This,
    /* [in] */ IRsAnimRenderNode *pTreeItemNode);


void __RPC_STUB IRsFcKFStream_SetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcKFStream_GetTreeItemRef_Proxy( 
    IRsFcKFStream * This,
    /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);


void __RPC_STUB IRsFcKFStream_GetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFcKFStream_INTERFACE_DEFINED__ */


#ifndef __IRsFcSelControl_INTERFACE_DEFINED__
#define __IRsFcSelControl_INTERFACE_DEFINED__

/* interface IRsFcSelControl */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcSelControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C82EA318-8765-4263-9E65-4488E88FE72F")
    IRsFcSelControl : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddSelAttrRecord( 
            /* [in] */ IRsAnimAttrRecord *pAnimRec) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSelectedData( 
            /* [out] */ IRsAnimAttrRecord **ppSelAnimRec,
            /* [out] */ IRsAnimDataStream **pSelAnimStream,
            /* [out] */ RtTime *pKfTime,
            /* [out] */ RtBool *pbLeftHandle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcSelControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcSelControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcSelControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcSelControl * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddSelAttrRecord )( 
            IRsFcSelControl * This,
            /* [in] */ IRsAnimAttrRecord *pAnimRec);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSelectedData )( 
            IRsFcSelControl * This,
            /* [out] */ IRsAnimAttrRecord **ppSelAnimRec,
            /* [out] */ IRsAnimDataStream **pSelAnimStream,
            /* [out] */ RtTime *pKfTime,
            /* [out] */ RtBool *pbLeftHandle);
        
        END_INTERFACE
    } IRsFcSelControlVtbl;

    interface IRsFcSelControl
    {
        CONST_VTBL struct IRsFcSelControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcSelControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcSelControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcSelControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFcSelControl_AddSelAttrRecord(This,pAnimRec)	\
    (This)->lpVtbl -> AddSelAttrRecord(This,pAnimRec)

#define IRsFcSelControl_GetSelectedData(This,ppSelAnimRec,pSelAnimStream,pKfTime,pbLeftHandle)	\
    (This)->lpVtbl -> GetSelectedData(This,ppSelAnimRec,pSelAnimStream,pKfTime,pbLeftHandle)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcSelControl_AddSelAttrRecord_Proxy( 
    IRsFcSelControl * This,
    /* [in] */ IRsAnimAttrRecord *pAnimRec);


void __RPC_STUB IRsFcSelControl_AddSelAttrRecord_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcSelControl_GetSelectedData_Proxy( 
    IRsFcSelControl * This,
    /* [out] */ IRsAnimAttrRecord **ppSelAnimRec,
    /* [out] */ IRsAnimDataStream **pSelAnimStream,
    /* [out] */ RtTime *pKfTime,
    /* [out] */ RtBool *pbLeftHandle);


void __RPC_STUB IRsFcSelControl_GetSelectedData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFcSelControl_INTERFACE_DEFINED__ */


#ifndef __IRsFcTime_INTERFACE_DEFINED__
#define __IRsFcTime_INTERFACE_DEFINED__

/* interface IRsFcTime */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcTime;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B45E0D72-9315-4cb5-A84C-652FBCB306DE")
    IRsFcTime : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ RtTime tTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTime( 
            /* [retval][out] */ RtTime *ptTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcTimeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcTime * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcTime * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcTime * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsFcTime * This,
            /* [in] */ RtTime tTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTime )( 
            IRsFcTime * This,
            /* [retval][out] */ RtTime *ptTime);
        
        END_INTERFACE
    } IRsFcTimeVtbl;

    interface IRsFcTime
    {
        CONST_VTBL struct IRsFcTimeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcTime_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcTime_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcTime_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFcTime_SetData(This,tTime)	\
    (This)->lpVtbl -> SetData(This,tTime)

#define IRsFcTime_GetTime(This,ptTime)	\
    (This)->lpVtbl -> GetTime(This,ptTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTime_SetData_Proxy( 
    IRsFcTime * This,
    /* [in] */ RtTime tTime);


void __RPC_STUB IRsFcTime_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTime_GetTime_Proxy( 
    IRsFcTime * This,
    /* [retval][out] */ RtTime *ptTime);


void __RPC_STUB IRsFcTime_GetTime_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFcTime_INTERFACE_DEFINED__ */


#ifndef __IRsFcKFView_INTERFACE_DEFINED__
#define __IRsFcKFView_INTERFACE_DEFINED__

/* interface IRsFcKFView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcKFView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("46D10520-A050-42bb-9335-508E08E4DF29")
    IRsFcKFView : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTimeLineInterval( 
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTimeLineInterval( 
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcKFViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcKFView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcKFView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcKFView * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTimeLineInterval )( 
            IRsFcKFView * This,
            /* [in] */ RtTime tMinTime,
            /* [in] */ RtTime tMaxTime);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTimeLineInterval )( 
            IRsFcKFView * This,
            /* [out] */ RtTime *ptMinTime,
            /* [out] */ RtTime *ptMaxTime);
        
        END_INTERFACE
    } IRsFcKFViewVtbl;

    interface IRsFcKFView
    {
        CONST_VTBL struct IRsFcKFViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcKFView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcKFView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcKFView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFcKFView_SetTimeLineInterval(This,tMinTime,tMaxTime)	\
    (This)->lpVtbl -> SetTimeLineInterval(This,tMinTime,tMaxTime)

#define IRsFcKFView_GetTimeLineInterval(This,ptMinTime,ptMaxTime)	\
    (This)->lpVtbl -> GetTimeLineInterval(This,ptMinTime,ptMaxTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcKFView_SetTimeLineInterval_Proxy( 
    IRsFcKFView * This,
    /* [in] */ RtTime tMinTime,
    /* [in] */ RtTime tMaxTime);


void __RPC_STUB IRsFcKFView_SetTimeLineInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcKFView_GetTimeLineInterval_Proxy( 
    IRsFcKFView * This,
    /* [out] */ RtTime *ptMinTime,
    /* [out] */ RtTime *ptMaxTime);


void __RPC_STUB IRsFcKFView_GetTimeLineInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFcKFView_INTERFACE_DEFINED__ */


#ifndef __IRsFcTimeSlider_INTERFACE_DEFINED__
#define __IRsFcTimeSlider_INTERFACE_DEFINED__

/* interface IRsFcTimeSlider */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcTimeSlider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("62089277-9463-48c7-A7E1-0E47B06B1728")
    IRsFcTimeSlider : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsFcTimeSliderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcTimeSlider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcTimeSlider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcTimeSlider * This);
        
        END_INTERFACE
    } IRsFcTimeSliderVtbl;

    interface IRsFcTimeSlider
    {
        CONST_VTBL struct IRsFcTimeSliderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcTimeSlider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcTimeSlider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcTimeSlider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsFcTimeSlider_INTERFACE_DEFINED__ */


#ifndef __IRsFcValueSlider_INTERFACE_DEFINED__
#define __IRsFcValueSlider_INTERFACE_DEFINED__

/* interface IRsFcValueSlider */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcValueSlider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("78A9D687-4AE5-4435-B4B6-E709778D1DC3")
    IRsFcValueSlider : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsFcValueSliderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcValueSlider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcValueSlider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcValueSlider * This);
        
        END_INTERFACE
    } IRsFcValueSliderVtbl;

    interface IRsFcValueSlider
    {
        CONST_VTBL struct IRsFcValueSliderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcValueSlider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcValueSlider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcValueSlider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsFcValueSlider_INTERFACE_DEFINED__ */


#ifndef __IRsFcStatusView_INTERFACE_DEFINED__
#define __IRsFcStatusView_INTERFACE_DEFINED__

/* interface IRsFcStatusView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcStatusView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9055C1B9-48D2-44fc-9AD7-C47F8D77FE7B")
    IRsFcStatusView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsFcStatusViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcStatusView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcStatusView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcStatusView * This);
        
        END_INTERFACE
    } IRsFcStatusViewVtbl;

    interface IRsFcStatusView
    {
        CONST_VTBL struct IRsFcStatusViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcStatusView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcStatusView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcStatusView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsFcStatusView_INTERFACE_DEFINED__ */


#ifndef __IRsFcColorButton_INTERFACE_DEFINED__
#define __IRsFcColorButton_INTERFACE_DEFINED__

/* interface IRsFcColorButton */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcColorButton;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3B602914-A64B-43e7-A08D-C3279FCD8B0F")
    IRsFcColorButton : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetColor( 
            /* [in] */ COLORREF newColor) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Visible( 
            /* [in] */ RtBool bValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsVisible( 
            /* [out] */ RtBool *pbValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcColorButtonVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcColorButton * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcColorButton * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcColorButton * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetColor )( 
            IRsFcColorButton * This,
            /* [in] */ COLORREF newColor);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Visible )( 
            IRsFcColorButton * This,
            /* [in] */ RtBool bValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsVisible )( 
            IRsFcColorButton * This,
            /* [out] */ RtBool *pbValue);
        
        END_INTERFACE
    } IRsFcColorButtonVtbl;

    interface IRsFcColorButton
    {
        CONST_VTBL struct IRsFcColorButtonVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcColorButton_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcColorButton_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcColorButton_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFcColorButton_SetColor(This,newColor)	\
    (This)->lpVtbl -> SetColor(This,newColor)

#define IRsFcColorButton_Visible(This,bValue)	\
    (This)->lpVtbl -> Visible(This,bValue)

#define IRsFcColorButton_IsVisible(This,pbValue)	\
    (This)->lpVtbl -> IsVisible(This,pbValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcColorButton_SetColor_Proxy( 
    IRsFcColorButton * This,
    /* [in] */ COLORREF newColor);


void __RPC_STUB IRsFcColorButton_SetColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcColorButton_Visible_Proxy( 
    IRsFcColorButton * This,
    /* [in] */ RtBool bValue);


void __RPC_STUB IRsFcColorButton_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcColorButton_IsVisible_Proxy( 
    IRsFcColorButton * This,
    /* [out] */ RtBool *pbValue);


void __RPC_STUB IRsFcColorButton_IsVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFcColorButton_INTERFACE_DEFINED__ */


#ifndef __IRsStEditButton_INTERFACE_DEFINED__
#define __IRsStEditButton_INTERFACE_DEFINED__

/* interface IRsStEditButton */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStEditButton;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("89C05A0B-3D37-46c6-A1C7-57C1E87FE642")
    IRsStEditButton : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Editable( 
            /* [in] */ RtBool bValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsEditable( 
            /* [out] */ RtBool *pbValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Visible( 
            /* [in] */ RtBool bValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsVisible( 
            /* [out] */ RtBool *pbValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStEditButtonVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStEditButton * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStEditButton * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStEditButton * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Editable )( 
            IRsStEditButton * This,
            /* [in] */ RtBool bValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsEditable )( 
            IRsStEditButton * This,
            /* [out] */ RtBool *pbValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Visible )( 
            IRsStEditButton * This,
            /* [in] */ RtBool bValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsVisible )( 
            IRsStEditButton * This,
            /* [out] */ RtBool *pbValue);
        
        END_INTERFACE
    } IRsStEditButtonVtbl;

    interface IRsStEditButton
    {
        CONST_VTBL struct IRsStEditButtonVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsStEditButton_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsStEditButton_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsStEditButton_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsStEditButton_Editable(This,bValue)	\
    (This)->lpVtbl -> Editable(This,bValue)

#define IRsStEditButton_IsEditable(This,pbValue)	\
    (This)->lpVtbl -> IsEditable(This,pbValue)

#define IRsStEditButton_Visible(This,bValue)	\
    (This)->lpVtbl -> Visible(This,bValue)

#define IRsStEditButton_IsVisible(This,pbValue)	\
    (This)->lpVtbl -> IsVisible(This,pbValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStEditButton_Editable_Proxy( 
    IRsStEditButton * This,
    /* [in] */ RtBool bValue);


void __RPC_STUB IRsStEditButton_Editable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStEditButton_IsEditable_Proxy( 
    IRsStEditButton * This,
    /* [out] */ RtBool *pbValue);


void __RPC_STUB IRsStEditButton_IsEditable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStEditButton_Visible_Proxy( 
    IRsStEditButton * This,
    /* [in] */ RtBool bValue);


void __RPC_STUB IRsStEditButton_Visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStEditButton_IsVisible_Proxy( 
    IRsStEditButton * This,
    /* [out] */ RtBool *pbValue);


void __RPC_STUB IRsStEditButton_IsVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsStEditButton_INTERFACE_DEFINED__ */


#ifndef __IRsFcTreeView_INTERFACE_DEFINED__
#define __IRsFcTreeView_INTERFACE_DEFINED__

/* interface IRsFcTreeView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcTreeView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("742C411C-FEF8-4164-A25A-89F1CFC1B7F0")
    IRsFcTreeView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsFcTreeViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcTreeView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcTreeView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcTreeView * This);
        
        END_INTERFACE
    } IRsFcTreeViewVtbl;

    interface IRsFcTreeView
    {
        CONST_VTBL struct IRsFcTreeViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcTreeView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcTreeView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcTreeView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsFcTreeView_INTERFACE_DEFINED__ */


#ifndef __IRsFcSelKFStream_INTERFACE_DEFINED__
#define __IRsFcSelKFStream_INTERFACE_DEFINED__

/* interface IRsFcSelKFStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcSelKFStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6F35D90B-EE93-4757-91C2-D9DD9B6CA2A3")
    IRsFcSelKFStream : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAnimRegion( 
            /* [in] */ RtSelAnimRegion selRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimRegion( 
            /* [retval][out] */ RtSelAnimRegion *pSelRegion) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSelAttrStream( 
            /* [in] */ IRsAnimDataStream *pAnimStream) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcSelKFStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcSelKFStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcSelKFStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcSelKFStream * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAnimRegion )( 
            IRsFcSelKFStream * This,
            /* [in] */ RtSelAnimRegion selRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimRegion )( 
            IRsFcSelKFStream * This,
            /* [retval][out] */ RtSelAnimRegion *pSelRegion);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSelAttrStream )( 
            IRsFcSelKFStream * This,
            /* [in] */ IRsAnimDataStream *pAnimStream);
        
        END_INTERFACE
    } IRsFcSelKFStreamVtbl;

    interface IRsFcSelKFStream
    {
        CONST_VTBL struct IRsFcSelKFStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcSelKFStream_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcSelKFStream_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcSelKFStream_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFcSelKFStream_SetAnimRegion(This,selRegion)	\
    (This)->lpVtbl -> SetAnimRegion(This,selRegion)

#define IRsFcSelKFStream_GetAnimRegion(This,pSelRegion)	\
    (This)->lpVtbl -> GetAnimRegion(This,pSelRegion)

#define IRsFcSelKFStream_SetSelAttrStream(This,pAnimStream)	\
    (This)->lpVtbl -> SetSelAttrStream(This,pAnimStream)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcSelKFStream_SetAnimRegion_Proxy( 
    IRsFcSelKFStream * This,
    /* [in] */ RtSelAnimRegion selRegion);


void __RPC_STUB IRsFcSelKFStream_SetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcSelKFStream_GetAnimRegion_Proxy( 
    IRsFcSelKFStream * This,
    /* [retval][out] */ RtSelAnimRegion *pSelRegion);


void __RPC_STUB IRsFcSelKFStream_GetAnimRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcSelKFStream_SetSelAttrStream_Proxy( 
    IRsFcSelKFStream * This,
    /* [in] */ IRsAnimDataStream *pAnimStream);


void __RPC_STUB IRsFcSelKFStream_SetSelAttrStream_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFcSelKFStream_INTERFACE_DEFINED__ */


#ifndef __IRsFcTreeItem_INTERFACE_DEFINED__
#define __IRsFcTreeItem_INTERFACE_DEFINED__

/* interface IRsFcTreeItem */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsFcTreeItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("63F1EAAA-53C9-4f50-8F11-C1AD96CC9AD3")
    IRsFcTreeItem : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ IRsAnimAttrRecord *pAttrRecord,
            /* [in] */ IRsAnimDataStream *pAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetData( 
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
            /* [out] */ IRsAnimDataStream **ppAnimDataStream) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [in] */ RtBool bSelect) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsSelected( 
            /* [out] */ RtBool *pbIsSelected) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Expand( 
            /* [in] */ RtBool bExpand) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsExpanded( 
            /* [out] */ RtBool *pbIsExpanded) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsFcTreeItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsFcTreeItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsFcTreeItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsFcTreeItem * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsFcTreeItem * This,
            /* [in] */ IRsAnimAttrRecord *pAttrRecord,
            /* [in] */ IRsAnimDataStream *pAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsFcTreeItem * This,
            /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
            /* [out] */ IRsAnimDataStream **ppAnimDataStream);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IRsFcTreeItem * This,
            /* [in] */ RtBool bSelect);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsSelected )( 
            IRsFcTreeItem * This,
            /* [out] */ RtBool *pbIsSelected);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Expand )( 
            IRsFcTreeItem * This,
            /* [in] */ RtBool bExpand);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsExpanded )( 
            IRsFcTreeItem * This,
            /* [out] */ RtBool *pbIsExpanded);
        
        END_INTERFACE
    } IRsFcTreeItemVtbl;

    interface IRsFcTreeItem
    {
        CONST_VTBL struct IRsFcTreeItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsFcTreeItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsFcTreeItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsFcTreeItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsFcTreeItem_SetData(This,pAttrRecord,pAnimDataStream)	\
    (This)->lpVtbl -> SetData(This,pAttrRecord,pAnimDataStream)

#define IRsFcTreeItem_GetData(This,ppAttrRecord,ppAnimDataStream)	\
    (This)->lpVtbl -> GetData(This,ppAttrRecord,ppAnimDataStream)

#define IRsFcTreeItem_Select(This,bSelect)	\
    (This)->lpVtbl -> Select(This,bSelect)

#define IRsFcTreeItem_IsSelected(This,pbIsSelected)	\
    (This)->lpVtbl -> IsSelected(This,pbIsSelected)

#define IRsFcTreeItem_Expand(This,bExpand)	\
    (This)->lpVtbl -> Expand(This,bExpand)

#define IRsFcTreeItem_IsExpanded(This,pbIsExpanded)	\
    (This)->lpVtbl -> IsExpanded(This,pbIsExpanded)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTreeItem_SetData_Proxy( 
    IRsFcTreeItem * This,
    /* [in] */ IRsAnimAttrRecord *pAttrRecord,
    /* [in] */ IRsAnimDataStream *pAnimDataStream);


void __RPC_STUB IRsFcTreeItem_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTreeItem_GetData_Proxy( 
    IRsFcTreeItem * This,
    /* [out] */ IRsAnimAttrRecord **ppAttrRecord,
    /* [out] */ IRsAnimDataStream **ppAnimDataStream);


void __RPC_STUB IRsFcTreeItem_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTreeItem_Select_Proxy( 
    IRsFcTreeItem * This,
    /* [in] */ RtBool bSelect);


void __RPC_STUB IRsFcTreeItem_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTreeItem_IsSelected_Proxy( 
    IRsFcTreeItem * This,
    /* [out] */ RtBool *pbIsSelected);


void __RPC_STUB IRsFcTreeItem_IsSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTreeItem_Expand_Proxy( 
    IRsFcTreeItem * This,
    /* [in] */ RtBool bExpand);


void __RPC_STUB IRsFcTreeItem_Expand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsFcTreeItem_IsExpanded_Proxy( 
    IRsFcTreeItem * This,
    /* [out] */ RtBool *pbIsExpanded);


void __RPC_STUB IRsFcTreeItem_IsExpanded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsFcTreeItem_INTERFACE_DEFINED__ */


#ifndef __IRcFcTreeTool_INTERFACE_DEFINED__
#define __IRcFcTreeTool_INTERFACE_DEFINED__

/* interface IRcFcTreeTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFcTreeTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B63C16D6-7CF8-4cb0-AD49-5B900180F2AC")
    IRcFcTreeTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFcTreeToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFcTreeTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFcTreeTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFcTreeTool * This);
        
        END_INTERFACE
    } IRcFcTreeToolVtbl;

    interface IRcFcTreeTool
    {
        CONST_VTBL struct IRcFcTreeToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcFcTreeTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcFcTreeTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcFcTreeTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFcTreeTool_INTERFACE_DEFINED__ */


#ifndef __IRsCmDivider_INTERFACE_DEFINED__
#define __IRsCmDivider_INTERFACE_DEFINED__

/* interface IRsCmDivider */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmDivider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D936D117-0E18-4395-AE4B-06B4DCAFF883")
    IRsCmDivider : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetVScrollOffset( 
            /* [in] */ RtLong ulVOffset) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetVScrollOffset( 
            /* [retval][out] */ RtLong *pulVOffset) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTreeCtrlHeight( 
            /* [in] */ RtUlong ulVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTreeCtrlHeight( 
            /* [retval][out] */ RtUlong *pulVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetDividerHeight( 
            /* [in] */ RtUlong ulVal) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDividerHeight( 
            /* [retval][out] */ RtUlong *pulVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsCmDividerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmDivider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmDivider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmDivider * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetVScrollOffset )( 
            IRsCmDivider * This,
            /* [in] */ RtLong ulVOffset);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetVScrollOffset )( 
            IRsCmDivider * This,
            /* [retval][out] */ RtLong *pulVOffset);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTreeCtrlHeight )( 
            IRsCmDivider * This,
            /* [in] */ RtUlong ulVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTreeCtrlHeight )( 
            IRsCmDivider * This,
            /* [retval][out] */ RtUlong *pulVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDividerHeight )( 
            IRsCmDivider * This,
            /* [in] */ RtUlong ulVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDividerHeight )( 
            IRsCmDivider * This,
            /* [retval][out] */ RtUlong *pulVal);
        
        END_INTERFACE
    } IRsCmDividerVtbl;

    interface IRsCmDivider
    {
        CONST_VTBL struct IRsCmDividerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmDivider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmDivider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmDivider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsCmDivider_SetVScrollOffset(This,ulVOffset)	\
    (This)->lpVtbl -> SetVScrollOffset(This,ulVOffset)

#define IRsCmDivider_GetVScrollOffset(This,pulVOffset)	\
    (This)->lpVtbl -> GetVScrollOffset(This,pulVOffset)

#define IRsCmDivider_SetTreeCtrlHeight(This,ulVal)	\
    (This)->lpVtbl -> SetTreeCtrlHeight(This,ulVal)

#define IRsCmDivider_GetTreeCtrlHeight(This,pulVal)	\
    (This)->lpVtbl -> GetTreeCtrlHeight(This,pulVal)

#define IRsCmDivider_SetDividerHeight(This,ulVal)	\
    (This)->lpVtbl -> SetDividerHeight(This,ulVal)

#define IRsCmDivider_GetDividerHeight(This,pulVal)	\
    (This)->lpVtbl -> GetDividerHeight(This,pulVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmDivider_SetVScrollOffset_Proxy( 
    IRsCmDivider * This,
    /* [in] */ RtLong ulVOffset);


void __RPC_STUB IRsCmDivider_SetVScrollOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmDivider_GetVScrollOffset_Proxy( 
    IRsCmDivider * This,
    /* [retval][out] */ RtLong *pulVOffset);


void __RPC_STUB IRsCmDivider_GetVScrollOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmDivider_SetTreeCtrlHeight_Proxy( 
    IRsCmDivider * This,
    /* [in] */ RtUlong ulVal);


void __RPC_STUB IRsCmDivider_SetTreeCtrlHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmDivider_GetTreeCtrlHeight_Proxy( 
    IRsCmDivider * This,
    /* [retval][out] */ RtUlong *pulVal);


void __RPC_STUB IRsCmDivider_GetTreeCtrlHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmDivider_SetDividerHeight_Proxy( 
    IRsCmDivider * This,
    /* [in] */ RtUlong ulVal);


void __RPC_STUB IRsCmDivider_SetDividerHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsCmDivider_GetDividerHeight_Proxy( 
    IRsCmDivider * This,
    /* [retval][out] */ RtUlong *pulVal);


void __RPC_STUB IRsCmDivider_GetDividerHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsCmDivider_INTERFACE_DEFINED__ */


#ifndef __IRsStObjTrack_INTERFACE_DEFINED__
#define __IRsStObjTrack_INTERFACE_DEFINED__

/* interface IRsStObjTrack */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStObjTrack;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AD348D73-9C56-4a90-97E8-2684A9E315BE")
    IRsStObjTrack : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTrackData( 
            /* [in] */ BSTR bszObjName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrackData( 
            /* [out] */ BSTR *pbszObjName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTreeItemRef( 
            /* [in] */ IRsAnimRenderNode *pTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTreeItemRef( 
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAnimationInterval( 
            /* [out] */ RtTime *pStartAnim,
            /* [out] */ RtTime *pEndAnim) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsStObjTrackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStObjTrack * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStObjTrack * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStObjTrack * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTrackData )( 
            IRsStObjTrack * This,
            /* [in] */ BSTR bszObjName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrackData )( 
            IRsStObjTrack * This,
            /* [out] */ BSTR *pbszObjName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetTreeItemRef )( 
            IRsStObjTrack * This,
            /* [in] */ IRsAnimRenderNode *pTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTreeItemRef )( 
            IRsStObjTrack * This,
            /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAnimationInterval )( 
            IRsStObjTrack * This,
            /* [out] */ RtTime *pStartAnim,
            /* [out] */ RtTime *pEndAnim);
        
        END_INTERFACE
    } IRsStObjTrackVtbl;

    interface IRsStObjTrack
    {
        CONST_VTBL struct IRsStObjTrackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsStObjTrack_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsStObjTrack_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsStObjTrack_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsStObjTrack_SetTrackData(This,bszObjName)	\
    (This)->lpVtbl -> SetTrackData(This,bszObjName)

#define IRsStObjTrack_GetTrackData(This,pbszObjName)	\
    (This)->lpVtbl -> GetTrackData(This,pbszObjName)

#define IRsStObjTrack_SetTreeItemRef(This,pTreeItemNode)	\
    (This)->lpVtbl -> SetTreeItemRef(This,pTreeItemNode)

#define IRsStObjTrack_GetTreeItemRef(This,ppTreeItemNode)	\
    (This)->lpVtbl -> GetTreeItemRef(This,ppTreeItemNode)

#define IRsStObjTrack_GetAnimationInterval(This,pStartAnim,pEndAnim)	\
    (This)->lpVtbl -> GetAnimationInterval(This,pStartAnim,pEndAnim)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStObjTrack_SetTrackData_Proxy( 
    IRsStObjTrack * This,
    /* [in] */ BSTR bszObjName);


void __RPC_STUB IRsStObjTrack_SetTrackData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStObjTrack_GetTrackData_Proxy( 
    IRsStObjTrack * This,
    /* [out] */ BSTR *pbszObjName);


void __RPC_STUB IRsStObjTrack_GetTrackData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStObjTrack_SetTreeItemRef_Proxy( 
    IRsStObjTrack * This,
    /* [in] */ IRsAnimRenderNode *pTreeItemNode);


void __RPC_STUB IRsStObjTrack_SetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStObjTrack_GetTreeItemRef_Proxy( 
    IRsStObjTrack * This,
    /* [retval][out] */ IRsAnimRenderNode **ppTreeItemNode);


void __RPC_STUB IRsStObjTrack_GetTreeItemRef_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRsStObjTrack_GetAnimationInterval_Proxy( 
    IRsStObjTrack * This,
    /* [out] */ RtTime *pStartAnim,
    /* [out] */ RtTime *pEndAnim);


void __RPC_STUB IRsStObjTrack_GetAnimationInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsStObjTrack_INTERFACE_DEFINED__ */


#ifndef __IRsCmAnimStart_INTERFACE_DEFINED__
#define __IRsCmAnimStart_INTERFACE_DEFINED__

/* interface IRsCmAnimStart */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmAnimStart;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A8BA73B5-9853-4ba3-9EC1-359729271DD9")
    IRsCmAnimStart : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsCmAnimStartVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmAnimStart * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmAnimStart * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmAnimStart * This);
        
        END_INTERFACE
    } IRsCmAnimStartVtbl;

    interface IRsCmAnimStart
    {
        CONST_VTBL struct IRsCmAnimStartVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmAnimStart_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmAnimStart_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmAnimStart_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsCmAnimStart_INTERFACE_DEFINED__ */


#ifndef __IRsCmAnimEnd_INTERFACE_DEFINED__
#define __IRsCmAnimEnd_INTERFACE_DEFINED__

/* interface IRsCmAnimEnd */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmAnimEnd;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5EB5CAD0-0DAF-4a34-B03B-B6EFFF6A188B")
    IRsCmAnimEnd : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsCmAnimEndVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmAnimEnd * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmAnimEnd * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmAnimEnd * This);
        
        END_INTERFACE
    } IRsCmAnimEndVtbl;

    interface IRsCmAnimEnd
    {
        CONST_VTBL struct IRsCmAnimEndVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmAnimEnd_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmAnimEnd_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmAnimEnd_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsCmAnimEnd_INTERFACE_DEFINED__ */


#ifndef __IRsStMainView_INTERFACE_DEFINED__
#define __IRsStMainView_INTERFACE_DEFINED__

/* interface IRsStMainView */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsStMainView;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1B9C2271-C036-416e-8D0B-7E20E26CABD0")
    IRsStMainView : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsStMainViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsStMainView * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsStMainView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsStMainView * This);
        
        END_INTERFACE
    } IRsStMainViewVtbl;

    interface IRsStMainView
    {
        CONST_VTBL struct IRsStMainViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsStMainView_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsStMainView_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsStMainView_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsStMainView_INTERFACE_DEFINED__ */


#ifndef __IRsCmTrackWeight_INTERFACE_DEFINED__
#define __IRsCmTrackWeight_INTERFACE_DEFINED__

/* interface IRsCmTrackWeight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsCmTrackWeight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("18D26A76-45B9-4550-98E5-FA80F89644BC")
    IRsCmTrackWeight : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsCmTrackWeightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsCmTrackWeight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsCmTrackWeight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsCmTrackWeight * This);
        
        END_INTERFACE
    } IRsCmTrackWeightVtbl;

    interface IRsCmTrackWeight
    {
        CONST_VTBL struct IRsCmTrackWeightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsCmTrackWeight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsCmTrackWeight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsCmTrackWeight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsCmTrackWeight_INTERFACE_DEFINED__ */


#ifndef __IRdAnimMatrix_INTERFACE_DEFINED__
#define __IRdAnimMatrix_INTERFACE_DEFINED__

/* interface IRdAnimMatrix */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdAnimMatrix;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("510CA329-E812-4eb9-A81F-A1210D9992B8")
    IRdAnimMatrix : public IRsDataObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetObjectMatrix( 
            /* [in] */ const VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetParentMatrix( 
            /* [in] */ const VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetObjectMatrix( 
            /* [retval][out] */ VARIANT *pValue) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetParentMatrix( 
            /* [retval][out] */ VARIANT *pValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdAnimMatrixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdAnimMatrix * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdAnimMatrix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdAnimMatrix * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdAnimMatrix * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdAnimMatrix * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetDefault )( 
            IRdAnimMatrix * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetObjectMatrix )( 
            IRdAnimMatrix * This,
            /* [in] */ const VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetParentMatrix )( 
            IRdAnimMatrix * This,
            /* [in] */ const VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetObjectMatrix )( 
            IRdAnimMatrix * This,
            /* [retval][out] */ VARIANT *pValue);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetParentMatrix )( 
            IRdAnimMatrix * This,
            /* [retval][out] */ VARIANT *pValue);
        
        END_INTERFACE
    } IRdAnimMatrixVtbl;

    interface IRdAnimMatrix
    {
        CONST_VTBL struct IRdAnimMatrixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdAnimMatrix_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdAnimMatrix_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdAnimMatrix_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdAnimMatrix_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdAnimMatrix_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdAnimMatrix_SetDefault(This)	\
    (This)->lpVtbl -> SetDefault(This)


#define IRdAnimMatrix_SetObjectMatrix(This,pValue)	\
    (This)->lpVtbl -> SetObjectMatrix(This,pValue)

#define IRdAnimMatrix_SetParentMatrix(This,pValue)	\
    (This)->lpVtbl -> SetParentMatrix(This,pValue)

#define IRdAnimMatrix_GetObjectMatrix(This,pValue)	\
    (This)->lpVtbl -> GetObjectMatrix(This,pValue)

#define IRdAnimMatrix_GetParentMatrix(This,pValue)	\
    (This)->lpVtbl -> GetParentMatrix(This,pValue)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimMatrix_SetObjectMatrix_Proxy( 
    IRdAnimMatrix * This,
    /* [in] */ const VARIANT *pValue);


void __RPC_STUB IRdAnimMatrix_SetObjectMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimMatrix_SetParentMatrix_Proxy( 
    IRdAnimMatrix * This,
    /* [in] */ const VARIANT *pValue);


void __RPC_STUB IRdAnimMatrix_SetParentMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimMatrix_GetObjectMatrix_Proxy( 
    IRdAnimMatrix * This,
    /* [retval][out] */ VARIANT *pValue);


void __RPC_STUB IRdAnimMatrix_GetObjectMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdAnimMatrix_GetParentMatrix_Proxy( 
    IRdAnimMatrix * This,
    /* [retval][out] */ VARIANT *pValue);


void __RPC_STUB IRdAnimMatrix_GetParentMatrix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdAnimMatrix_INTERFACE_DEFINED__ */


#ifndef __IRfAnimFileHelper_INTERFACE_DEFINED__
#define __IRfAnimFileHelper_INTERFACE_DEFINED__

/* interface IRfAnimFileHelper */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfAnimFileHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("20DD4BDD-5E26-4294-A541-EC43CD13BBC1")
    IRfAnimFileHelper : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SavePhysObj( 
            /* [in] */ BSTR bstrFileName,
            /* [in] */ BSTR bstrAuthor,
            /* [in] */ BSTR bstrDescr,
            /* [in] */ IRdBitmap *pThumbnail,
            /* [in] */ IRsNode *pPhysObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveObjNode( 
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [in] */ IRsNode *pPhysObj) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadPhysObj( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LoadObjNode( 
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [in] */ IRsNode **ppPhysObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfAnimFileHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfAnimFileHelper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfAnimFileHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfAnimFileHelper * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRfAnimFileHelper * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRfAnimFileHelper * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SavePhysObj )( 
            IRfAnimFileHelper * This,
            /* [in] */ BSTR bstrFileName,
            /* [in] */ BSTR bstrAuthor,
            /* [in] */ BSTR bstrDescr,
            /* [in] */ IRdBitmap *pThumbnail,
            /* [in] */ IRsNode *pPhysObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SaveObjNode )( 
            IRfAnimFileHelper * This,
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [in] */ IRsNode *pPhysObj);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadPhysObj )( 
            IRfAnimFileHelper * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LoadObjNode )( 
            IRfAnimFileHelper * This,
            /* [in] */ IRsFileHandle *pRsFileHandle,
            /* [in] */ IRsNode **ppPhysObj);
        
        END_INTERFACE
    } IRfAnimFileHelperVtbl;

    interface IRfAnimFileHelper
    {
        CONST_VTBL struct IRfAnimFileHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfAnimFileHelper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfAnimFileHelper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfAnimFileHelper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfAnimFileHelper_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRfAnimFileHelper_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRfAnimFileHelper_SavePhysObj(This,bstrFileName,bstrAuthor,bstrDescr,pThumbnail,pPhysObj)	\
    (This)->lpVtbl -> SavePhysObj(This,bstrFileName,bstrAuthor,bstrDescr,pThumbnail,pPhysObj)

#define IRfAnimFileHelper_SaveObjNode(This,pRsFileHandle,pPhysObj)	\
    (This)->lpVtbl -> SaveObjNode(This,pRsFileHandle,pPhysObj)

#define IRfAnimFileHelper_LoadPhysObj(This,bstrFileName)	\
    (This)->lpVtbl -> LoadPhysObj(This,bstrFileName)

#define IRfAnimFileHelper_LoadObjNode(This,pRsFileHandle,ppPhysObj)	\
    (This)->lpVtbl -> LoadObjNode(This,pRsFileHandle,ppPhysObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimFileHelper_SavePhysObj_Proxy( 
    IRfAnimFileHelper * This,
    /* [in] */ BSTR bstrFileName,
    /* [in] */ BSTR bstrAuthor,
    /* [in] */ BSTR bstrDescr,
    /* [in] */ IRdBitmap *pThumbnail,
    /* [in] */ IRsNode *pPhysObj);


void __RPC_STUB IRfAnimFileHelper_SavePhysObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimFileHelper_SaveObjNode_Proxy( 
    IRfAnimFileHelper * This,
    /* [in] */ IRsFileHandle *pRsFileHandle,
    /* [in] */ IRsNode *pPhysObj);


void __RPC_STUB IRfAnimFileHelper_SaveObjNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimFileHelper_LoadPhysObj_Proxy( 
    IRfAnimFileHelper * This,
    /* [in] */ BSTR bstrFileName);


void __RPC_STUB IRfAnimFileHelper_LoadPhysObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfAnimFileHelper_LoadObjNode_Proxy( 
    IRfAnimFileHelper * This,
    /* [in] */ IRsFileHandle *pRsFileHandle,
    /* [in] */ IRsNode **ppPhysObj);


void __RPC_STUB IRfAnimFileHelper_LoadObjNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfAnimFileHelper_INTERFACE_DEFINED__ */



#ifndef __Anim_LIBRARY_DEFINED__
#define __Anim_LIBRARY_DEFINED__

/* library Anim */
/* [helpstring][uuid][version] */ 


EXTERN_C const IID LIBID_Anim;

EXTERN_C const CLSID CLSID_CRpAnimPck;

#ifdef __cplusplus

class DECLSPEC_UUID("84A33D2B-BD11-45A5-8F54-0E4503228DC7")
CRpAnimPck;
#endif

EXTERN_C const CLSID CLSID_CRiAnim;

#ifdef __cplusplus

class DECLSPEC_UUID("C600C6A5-4796-46EB-BDBC-3484879641B5")
CRiAnim;
#endif

EXTERN_C const CLSID CLSID_CRiAnimClip;

#ifdef __cplusplus

class DECLSPEC_UUID("64BF59CC-5155-4d32-A5E8-6C4DC66A6A84")
CRiAnimClip;
#endif

EXTERN_C const CLSID CLSID_CRiAnimPref;

#ifdef __cplusplus

class DECLSPEC_UUID("DD5EEEA6-A6AA-4240-B210-D627209F2004")
CRiAnimPref;
#endif

EXTERN_C const CLSID CLSID_CRiAnimTrack;

#ifdef __cplusplus

class DECLSPEC_UUID("74FF2F77-AC24-4128-8B72-1B809A9D7146")
CRiAnimTrack;
#endif

EXTERN_C const CLSID CLSID_CRiAnimView;

#ifdef __cplusplus

class DECLSPEC_UUID("D6CCBFFF-0A36-46a9-86A3-51B8012DF20A")
CRiAnimView;
#endif

EXTERN_C const CLSID CLSID_CRiKeying;

#ifdef __cplusplus

class DECLSPEC_UUID("691B85DB-BA2F-408c-B284-D09AF0E5924C")
CRiKeying;
#endif

EXTERN_C const CLSID CLSID_CRiTime;

#ifdef __cplusplus

class DECLSPEC_UUID("9EC959E1-6803-4F45-B008-246C3EE8CE0F")
CRiTime;
#endif
#endif /* __Anim_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


