00001 /********************************************************************** 00002 00003 FILE: IShadeContextExtension8.h 00004 00005 DESCRIPTION: API extension for ShadeContext class. 00006 Used specifically for querying motion information 00007 of shade context. 00008 00009 CREATED BY: Dwight Tomalty, Discreet 00010 00011 HISTORY: Created 23 September 2004 00012 00013 *> Copyright (c) 2004, All Rights Reserved. 00014 **********************************************************************/ 00015 00016 #pragma once 00017 00018 #include "baseinterface.h" 00019 #include "point2.h" 00020 #include "imtl.h" 00021 00022 // forward declarations 00023 class IShadeContextExtension8; 00024 00025 #define ISHADECONTEXT_EXTENSION_8_INTERFACE_ID Interface_ID(0x6ea75ff6, 0x5c875b0a) 00026 00028 00029 class IShadeContextExtension8 : public BaseInterface { 00030 00031 public: 00032 00034 00036 virtual Point2 MotionVector() = 0; 00037 00038 // -- from BaseInterface 00040 virtual Interface_ID GetID(); 00041 }; 00042 00043 inline IShadeContextExtension8* Get_IShadeContextExtension8(ShadeContext& sc) { 00044 00045 return static_cast<IShadeContextExtension8*>(sc.GetInterface(ISHADECONTEXT_EXTENSION_8_INTERFACE_ID)); 00046 } 00047 00048 //============================================================================== 00049 // class ISContext inlined methods 00050 //============================================================================== 00051 00052 inline Interface_ID IShadeContextExtension8::GetID() { 00053 00054 return ISHADECONTEXT_EXTENSION_8_INTERFACE_ID; 00055 } 00056