home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / inole2 / chap24 / polyline / polyline.odl < prev    next >
Text File  |  1995-05-03  |  5KB  |  162 lines

  1. /*
  2.  * POLYLINE.ODL
  3.  * Neutral Language Polyline Type Library Chapter 24
  4.  *
  5.  * "Neutral" language is considered to be English.  We register
  6.  * this under LCID of 0 so the lcid before "library" has to match.
  7.  *
  8.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  9.  *
  10.  * Kraig Brockschmidt, Microsoft
  11.  * Internet  :  kraigb@microsoft.com
  12.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  13.  */
  14.  
  15. //LIBID_Polyline
  16. [
  17. uuid(00021173-0000-0000-C000-000000000046)
  18.     , helpstring("Polyline Type Library")
  19.     , lcid(0x0000)
  20.     , version(1.0)
  21. ]
  22. library PolylineTypeLibrary
  23.     {
  24.    #ifdef WIN32
  25.     importlib("stdole32.tlb");
  26.     #ifdef UNICODE
  27.      importlib("oc30u.dll");
  28.     #else
  29.      importlib("oc30.dll");
  30.     #endif
  31.    #else
  32.     importlib("stdole.tlb");
  33.     importlib("oc25.dll");
  34.    #endif
  35.  
  36.     /*
  37.      * IID_IPolylineControl
  38.      * This is an interface like IPolyline10 but attuned to
  39.      * the needs of Automation and oriented directly towards
  40.      * properties and methods that come up in being an OLE Control.
  41.      * The only relevant properties are line style and color;
  42.      * the only relevant methods being Clear and RemoveLastPoint.
  43.      */
  44.     [
  45.     uuid(00021171-0000-0000-C000-000000000046)
  46.         , helpstring("Definition of interface IPolyline10")
  47.         , odl
  48.     ]
  49.     interface IPolylineControl : IUnknown
  50.         {
  51.         //Properties
  52.         [propput, id(-501), helpstring("Background Color")]
  53.             void BackColor([in] OLE_COLOR cr);
  54.  
  55.         [propget, id(-501)]
  56.             OLE_COLOR BackColor(void);
  57.  
  58.         [propput, id(-513), helpstring("Line Color")]
  59.             void LineColor([in] OLE_COLOR cr);
  60.  
  61.         [propget, id(-513)]
  62.             OLE_COLOR LineColor(void);
  63.  
  64.         [propput, helpstring("Line style")]
  65.             void LineStyle([in] short iStyle);
  66.  
  67.         [propget]
  68.             short LineStyle(void);
  69.  
  70.         //Methods
  71.         [helpstring("Clear the entire figure")]
  72.             HRESULT Clear(void);
  73.  
  74.         [helpstring("Remove the last added point")]
  75.             HRESULT RemoveLastPoint(void);
  76.  
  77.         }
  78.  
  79.     //DIID_DIPolylineControl
  80.     [
  81.     uuid(00021172-0000-0000-C000-000000000046)
  82.         , helpstring("Definition of dispinterface DIPolylineControl")
  83.     ]
  84.     dispinterface DIPolylineControl
  85.         {
  86.         interface IPolylineControl;
  87.         }
  88.  
  89.     //IID_IPolylineAdviseSink10
  90.     [
  91.     uuid(00021159-0000-0000-C000-000000000046)
  92.         , helpstring("Definition of interface IPolylineAdviseSink10")
  93.         , odl
  94.     ]
  95.     interface IPolylineAdviseSink10 : IUnknown
  96.         {
  97.         [id(0), helpstring("A point was added or removed")]
  98.             void OnPointChange(void);
  99.  
  100.         [id(1), helpstring("The size of the figure changed")]
  101.             void OnSizeChange(void);
  102.  
  103.         [id(2), helpstring("A color in the figure changed")]
  104.             void OnColorChange(void);
  105.  
  106.         [id(3), helpstring("The line style of the figure changed")]
  107.             void OnLineStyleChange(void);
  108.         }
  109.  
  110.     /*
  111.      * DIID_DIPolylineAdviseSink10
  112.      * We declared these separate from IPolylineAdviseSink10
  113.      * so the IUnknown members don't show up in a
  114.      * container's events list.
  115.      */
  116.  
  117.     [
  118.     uuid(00021170-0000-0000-C000-000000000046)
  119.         , helpstring("Definition of dispinterface DIPolylineAdviseSink10")
  120.     ]
  121.     dispinterface DIPolylineAdviseSink10
  122.         {
  123.         properties:
  124.             //None
  125.  
  126.         methods:
  127.  
  128.         [id(0), helpstring("A point was added or removed")]
  129.             void OnPointChange(void);
  130.  
  131.         [id(1), helpstring("The size of the figure changed")]
  132.             void OnSizeChange(void);
  133.  
  134.         [id(2), helpstring("A color in the figure changed")]
  135.             void OnColorChange(void);
  136.  
  137.         [id(3), helpstring("The line style of the figure changed")]
  138.             void OnLineStyleChange(void);
  139.         }
  140.  
  141.  
  142.  
  143.     /*
  144.      * CLSID_Polyline19--sure we're in Chapter 24, but we want to
  145.      * use this same CLSID to be compatible with other OLE
  146.      * Document versions.
  147.      */
  148.     [
  149.     uuid(0002116D-0000-0000-C000-000000000046)
  150.         , helpstring("Polyline Component Type Information")
  151.         , control
  152.     ]
  153.     coclass Polyline19
  154.         {
  155.         dispinterface DIPolylineControl;
  156.         interface     IPolylineControl;
  157.  
  158.         [default, source] dispinterface DIPolylineAdviseSink10;
  159.         [source]          interface     IPolylineAdviseSink10;
  160.         }
  161.     };
  162.