Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.2 KiB

  1. /*++
  2. Copyright (C) 1993-1999 Microsoft Corporation
  3. Module Name:
  4. ipoly10.h
  5. Abstract:
  6. Definition of an IPolyline interface for a Polyline object.
  7. --*/
  8. #ifndef _IPOLY10_H_
  9. #define _IPOLY10_H_
  10. #define SZSYSMONCLIPFORMAT TEXT("SYSTEM_MONITOR_CONFIGURATION")
  11. #ifndef OMIT_POLYLINESINK
  12. #undef INTERFACE
  13. #define INTERFACE IPolylineAdviseSink10
  14. /*
  15. * When someone initializes a polyline and is interested in receiving
  16. * notifications on events, then they provide one of these objects.
  17. */
  18. DECLARE_INTERFACE_(IPolylineAdviseSink10, IUnknown)
  19. {
  20. //IUnknown members
  21. STDMETHOD(QueryInterface) (THIS_ REFIID, PPVOID) PURE;
  22. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  23. STDMETHOD_(ULONG,Release) (THIS) PURE;
  24. //Advise members.
  25. STDMETHOD_(void,OnPointChange) (THIS) PURE;
  26. STDMETHOD_(void,OnSizeChange) (THIS) PURE;
  27. STDMETHOD_(void,OnColorChange) (THIS) PURE;
  28. STDMETHOD_(void,OnLineStyleChange) (THIS) PURE;
  29. //OnDataChange replaced with IAdviseSink
  30. };
  31. typedef IPolylineAdviseSink10 *PPOLYLINEADVISESINK;
  32. #endif //OMIT_POLYLINESINK
  33. #undef INTERFACE
  34. #define INTERFACE IPolyline10
  35. DECLARE_INTERFACE_(IPolyline10, IUnknown)
  36. {
  37. //IUnknown members
  38. STDMETHOD(QueryInterface) (THIS_ REFIID, PPVOID) PURE;
  39. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  40. STDMETHOD_(ULONG,Release) (THIS) PURE;
  41. //IPolyline members
  42. //File-related members use IPersistStorage, IPersistStreamInit
  43. //Data transfer members use IDataObject
  44. //Manipulation members:
  45. STDMETHOD(Init) (THIS_ HWND, LPRECT, DWORD, UINT) PURE;
  46. STDMETHOD(New) (THIS) PURE;
  47. STDMETHOD(Undo) (THIS) PURE;
  48. STDMETHOD(Window) (THIS_ HWND *) PURE;
  49. STDMETHOD(RectGet) (THIS_ LPRECT) PURE;
  50. STDMETHOD(SizeGet) (THIS_ LPRECT) PURE;
  51. STDMETHOD(RectSet) (THIS_ LPRECT, BOOL) PURE;
  52. STDMETHOD(SizeSet) (THIS_ LPRECT, BOOL) PURE;
  53. };
  54. typedef IPolyline10 *PPOLYLINE;
  55. //Error values for data transfer functions
  56. #define POLYLINE_E_INVALIDPOINTER \
  57. MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 1)
  58. #define POLYLINE_E_READFAILURE \
  59. MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 2)
  60. #define POLYLINE_E_WRITEFAILURE \
  61. MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 3)
  62. #endif //_IPOLY10_H_