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

  1. // Polygon.idl : IDL source for Polygon.dll
  2. //
  3.  
  4. // This file will be processed by the MIDL tool to
  5. // produce the type library (Polygon.tlb) and marshalling code.
  6.  
  7. import "oaidl.idl";
  8. import "ocidl.idl";
  9. #include "olectl.h"
  10.     
  11.  
  12.     [
  13.         object,
  14.         uuid(2885EE04-A26B-11D1-B49B-00C04F98EFE0),
  15.         dual,
  16.         helpstring("IPolyCtl Interface"),
  17.         pointer_default(unique)
  18.     ]
  19.     interface IPolyCtl : IDispatch
  20.     {
  21.         [propput, id(DISPID_FILLCOLOR)]
  22.         HRESULT FillColor([in]OLE_COLOR clr);
  23.         [propget, id(DISPID_FILLCOLOR)]
  24.         HRESULT FillColor([out, retval]OLE_COLOR* pclr);
  25.         [propget, id(1), helpstring("property Sides")] HRESULT Sides([out, retval] short *pVal);
  26.         [propput, id(1), helpstring("property Sides")] HRESULT Sides([in] short newVal);
  27.     };
  28.  
  29. [
  30.     uuid(2885EDF8-A26B-11D1-B49B-00C04F98EFE0),
  31.     version(1.0),
  32.     helpstring("Polygon 1.0 Type Library")
  33. ]
  34. library POLYGONLib
  35. {
  36.     importlib("stdole32.tlb");
  37.     importlib("stdole2.tlb");
  38.  
  39.     [
  40.         uuid(2885EE06-A26B-11D1-B49B-00C04F98EFE0),
  41.         helpstring("_IPolyCtlEvents Interface")
  42.     ]
  43.     dispinterface _IPolyCtlEvents
  44.     {
  45.         properties:
  46.         methods:
  47.         [id(1), helpstring("method ClickIn")] void ClickIn([in] long x, [in] long y);
  48.         [id(2), helpstring("method ClickOut")] void ClickOut([in] long x, [in] long y );
  49.     };
  50.  
  51.     [
  52.         uuid(2885EE05-A26B-11D1-B49B-00C04F98EFE0),
  53.         helpstring("PolyCtl Class")
  54.     ]
  55.     coclass PolyCtl
  56.     {
  57.         [default] interface IPolyCtl;
  58.         [default, source] dispinterface _IPolyCtlEvents;
  59.     };
  60.  
  61.     [
  62.         uuid(2885EE07-A26B-11D1-B49B-00C04F98EFE0),
  63.         helpstring("PolyProp Class")
  64.     ]
  65.     coclass PolyProp
  66.     {
  67.         interface IUnknown;
  68.     };
  69. };
  70.