richole.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /**
  2. * This file is part of the mingw-w64 runtime package.
  3. * No warranty is given; refer to the file DISCLAIMER within this package.
  4. */
  5. #ifndef _RICHOLE_
  6. #define _RICHOLE_
  7. #include "richedit.h"
  8. typedef struct _reobject {
  9. DWORD cbStruct;
  10. LONG cp;
  11. CLSID clsid;
  12. LPOLEOBJECT poleobj;
  13. LPSTORAGE pstg;
  14. LPOLECLIENTSITE polesite;
  15. SIZEL sizel;
  16. DWORD dvaspect;
  17. DWORD dwFlags;
  18. DWORD dwUser;
  19. } REOBJECT;
  20. #define REO_GETOBJ_NO_INTERFACES (__MSABI_LONG(0x00000000))
  21. #define REO_GETOBJ_POLEOBJ (__MSABI_LONG(0x00000001))
  22. #define REO_GETOBJ_PSTG (__MSABI_LONG(0x00000002))
  23. #define REO_GETOBJ_POLESITE (__MSABI_LONG(0x00000004))
  24. #define REO_GETOBJ_ALL_INTERFACES (__MSABI_LONG(0x00000007))
  25. #define REO_CP_SELECTION ((ULONG) -1)
  26. #define REO_IOB_SELECTION ((ULONG) -1)
  27. #define REO_IOB_USE_CP ((ULONG) -2)
  28. #define REO_NULL (__MSABI_LONG(0x00000000))
  29. #define REO_READWRITEMASK (__MSABI_LONG(0x000007ff))
  30. #define REO_CANROTATE (__MSABI_LONG(0x00000080))
  31. #define REO_OWNERDRAWSELECT (__MSABI_LONG(0x00000040))
  32. #define REO_DONTNEEDPALETTE (__MSABI_LONG(0x00000020))
  33. #define REO_BLANK (__MSABI_LONG(0x00000010))
  34. #define REO_DYNAMICSIZE (__MSABI_LONG(0x00000008))
  35. #define REO_INVERTEDSELECT (__MSABI_LONG(0x00000004))
  36. #define REO_BELOWBASELINE (__MSABI_LONG(0x00000002))
  37. #define REO_RESIZABLE (__MSABI_LONG(0x00000001))
  38. #define REO_USEASBACKGROUND (__MSABI_LONG(0x00000400))
  39. #define REO_WRAPTEXTAROUND (__MSABI_LONG(0x00000200))
  40. #define REO_ALIGNTORIGHT (__MSABI_LONG(0x00000100))
  41. #define REO_LINK (__MSABI_LONG(0x80000000))
  42. #define REO_STATIC (__MSABI_LONG(0x40000000))
  43. #define REO_SELECTED (__MSABI_LONG(0x08000000))
  44. #define REO_OPEN (__MSABI_LONG(0x04000000))
  45. #define REO_INPLACEACTIVE (__MSABI_LONG(0x02000000))
  46. #define REO_HILITED (__MSABI_LONG(0x01000000))
  47. #define REO_LINKAVAILABLE (__MSABI_LONG(0x00800000))
  48. #define REO_GETMETAFILE (__MSABI_LONG(0x00400000))
  49. #define RECO_PASTE (__MSABI_LONG(0x00000000))
  50. #define RECO_DROP (__MSABI_LONG(0x00000001))
  51. #define RECO_COPY (__MSABI_LONG(0x00000002))
  52. #define RECO_CUT (__MSABI_LONG(0x00000003))
  53. #define RECO_DRAG (__MSABI_LONG(0x00000004))
  54. #undef INTERFACE
  55. #define INTERFACE IRichEditOle
  56. DECLARE_INTERFACE_ (IRichEditOle, IUnknown) {
  57. #ifndef __cplusplus
  58. STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID *lplpObj) PURE;
  59. STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
  60. STDMETHOD_ (ULONG, Release) (THIS) PURE;
  61. #endif
  62. STDMETHOD (GetClientSite) (THIS_ LPOLECLIENTSITE *lplpolesite) PURE;
  63. STDMETHOD_ (LONG, GetObjectCount) (THIS) PURE;
  64. STDMETHOD_ (LONG, GetLinkCount) (THIS) PURE;
  65. STDMETHOD (GetObject) (THIS_ LONG iob, REOBJECT *lpreobject, DWORD dwFlags) PURE;
  66. STDMETHOD (InsertObject) (THIS_ REOBJECT *lpreobject) PURE;
  67. STDMETHOD (ConvertObject) (THIS_ LONG iob, REFCLSID rclsidNew, LPCSTR lpstrUserTypeNew) PURE;
  68. STDMETHOD (ActivateAs) (THIS_ REFCLSID rclsid, REFCLSID rclsidAs) PURE;
  69. STDMETHOD (SetHostNames) (THIS_ LPCSTR lpstrContainerApp, LPCSTR lpstrContainerObj) PURE;
  70. STDMETHOD (SetLinkAvailable) (THIS_ LONG iob, WINBOOL fAvailable) PURE;
  71. STDMETHOD (SetDvaspect) (THIS_ LONG iob, DWORD dvaspect) PURE;
  72. STDMETHOD (HandsOffStorage) (THIS_ LONG iob) PURE;
  73. STDMETHOD (SaveCompleted) (THIS_ LONG iob, LPSTORAGE lpstg) PURE;
  74. STDMETHOD (InPlaceDeactivate) (THIS) PURE;
  75. STDMETHOD (ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE;
  76. STDMETHOD (GetClipboardData) (THIS_ CHARRANGE *lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj) PURE;
  77. STDMETHOD (ImportDataObject) (THIS_ LPDATAOBJECT lpdataobj, CLIPFORMAT cf, HGLOBAL hMetaPict) PURE;
  78. };
  79. typedef IRichEditOle *LPRICHEDITOLE;
  80. #undef INTERFACE
  81. #define INTERFACE IRichEditOleCallback
  82. DECLARE_INTERFACE_ (IRichEditOleCallback, IUnknown) {
  83. #ifndef __cplusplus
  84. STDMETHOD (QueryInterface) (THIS_ REFIID riid, LPVOID *lplpObj) PURE;
  85. STDMETHOD_ (ULONG, AddRef) (THIS) PURE;
  86. STDMETHOD_ (ULONG, Release) (THIS) PURE;
  87. #endif
  88. STDMETHOD (GetNewStorage) (THIS_ LPSTORAGE *lplpstg) PURE;
  89. STDMETHOD (GetInPlaceContext) (THIS_ LPOLEINPLACEFRAME *lplpFrame, LPOLEINPLACEUIWINDOW *lplpDoc, LPOLEINPLACEFRAMEINFO lpFrameInfo) PURE;
  90. STDMETHOD (ShowContainerUI) (THIS_ WINBOOL fShow) PURE;
  91. STDMETHOD (QueryInsertObject) (THIS_ LPCLSID lpclsid, LPSTORAGE lpstg, LONG cp) PURE;
  92. STDMETHOD (DeleteObject) (THIS_ LPOLEOBJECT lpoleobj) PURE;
  93. STDMETHOD (QueryAcceptData) (THIS_ LPDATAOBJECT lpdataobj, CLIPFORMAT *lpcfFormat, DWORD reco, WINBOOL fReally, HGLOBAL hMetaPict) PURE;
  94. STDMETHOD (ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE;
  95. STDMETHOD (GetClipboardData) (THIS_ CHARRANGE *lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj) PURE;
  96. STDMETHOD (GetDragDropEffect) (THIS_ WINBOOL fDrag, DWORD grfKeyState, LPDWORD pdwEffect) PURE;
  97. STDMETHOD (GetContextMenu) (THIS_ WORD seltype, LPOLEOBJECT lpoleobj, CHARRANGE *lpchrg, HMENU *lphmenu) PURE;
  98. };
  99. typedef IRichEditOleCallback *LPRICHEDITOLECALLBACK;
  100. DEFINE_GUID (IID_IRichEditOle,0x00020D00,0,0,0xC0,0,0,0,0,0,0,0x46);
  101. DEFINE_GUID (IID_IRichEditOleCallback,0x00020D03,0,0,0xC0,0,0,0,0,0,0,0x46);
  102. #endif