home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / atl / atltangram / atlmodel / atlmodel.idl < prev    next >
Text File  |  1998-03-26  |  2KB  |  86 lines

  1. // ATLModel.idl : IDL source for ATLModel.dll
  2. //
  3.  
  4. // This file will be processed by the MIDL tool to
  5. // produce the type library (ATLModel.tlb) and marshalling code.
  6.  
  7. import "oaidl.idl";
  8. import "ocidl.idl";
  9. import "tantype.idl";
  10.  
  11.     /////////////////////////////////////////////////////////////
  12.     // IATLTangramModelEvent
  13.     // {4A6E83B0-B0F4-11d0-B69F-00A0C903487A}
  14.     [
  15.         object,
  16.         uuid(4A6E83B0-B0F4-11d0-B69F-00A0C903487A),
  17.         helpstring("ITangramModelEvent Interface"),
  18.         pointer_default(unique)
  19.     ]
  20.     interface IATLTangramModelEvent: IUnknown
  21.     {
  22.         HRESULT OnModelChange() ;
  23.     };
  24.  
  25.     ///////////////////////////////////////////////////////////
  26.     //
  27.     // Interface IATLTangramModel
  28.     // {060BAAA2-B076-11D0-B69F-00A0C903487A}
  29.     [
  30.         object,
  31.         uuid(060BAAA2-B076-11D0-B69F-00A0C903487A),
  32.         helpstring("IATLTangramModel Interface"),
  33.         pointer_default(unique)
  34.     ]
  35.     interface IATLTangramModel : IUnknown
  36.     {
  37.         HRESULT GetNumberOfVertices([out] long* pcVertices) ;
  38.         HRESULT GetVertices(    [in] long cVertices, 
  39.                                 [out, size_is(cVertices)] TangramPoint2d* points) ; 
  40.         HRESULT SetVertices(    [in] long cVertices, 
  41.                                 [in, size_is(cVertices)] TangramPoint2d* points) ;
  42.     };
  43.     ///////////////////////////////////////////////////////////
  44.     //
  45.     // Interface IATLTangramTransform
  46.     // {D5056310-B0F4-11d0-B69F-00A0C903487A}
  47.     [
  48.         object,
  49.         uuid(D5056310-B0F4-11d0-B69F-00A0C903487A),
  50.         helpstring("IATLTangramTransform Interface"),
  51.         pointer_default(unique)
  52.     ]
  53.     interface IATLTangramTransform : IUnknown
  54.     {
  55.         HRESULT Translate([in]double x, [in]double y) ;
  56.         HRESULT GetTranslation([out] TangramPoint2d* point);
  57.         HRESULT Rotate([in] double fDegrees) ;
  58.         HRESULT GetRotation([out] double* pRotation) ;
  59.     };
  60.  
  61.  
  62. [
  63.     uuid(060BAA95-B076-11D0-B69F-00A0C903487A),
  64.     version(1.0),
  65.     helpstring("ATLModel 1.0 Type Library")
  66. ]
  67. library ATLMODELLib
  68. {
  69.     importlib("stdole32.tlb");
  70.     importlib("stdole2.tlb");
  71.  
  72.     [
  73.         uuid(060BAAA3-B076-11D0-B69F-00A0C903487A),
  74.         helpstring("ATLTangramModel Class")
  75.     ]
  76.     coclass ATLTangramModel
  77.     {
  78.         [default] interface IATLTangramModel;
  79.         interface IATLTangramTransform ;
  80.         interface IConnectionPointContainer ;
  81.  
  82.         // Outgoing source interface.
  83.         [source] interface IATLTangramModelEvent ;    
  84.     };
  85. };
  86.