Leaked source code of windows server 2003
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.

398 lines
14 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. //
  4. // ***************************************************************************
  5. // ***************************************************************************
  6. // ****************** INTERNAL - NOT FOR PUBLIC CONSUMPTION ******************
  7. // ***************************************************************************
  8. // ***************************************************************************
  9. //
  10. //
  11. // Microsoft Windows
  12. // Copyright (C) Microsoft Corporation, 1998.
  13. //
  14. // Contents: TRIDENT Editing services description
  15. //
  16. //----------------------------------------------------------------------------
  17. #ifdef UNIX
  18. #include "unixdef.h"
  19. #endif
  20. #include <mshtmdid.h>
  21. cpp_quote("//=--------------------------------------------------------------------------=")
  22. cpp_quote("// internal.h")
  23. cpp_quote("//=--------------------------------------------------------------------------=")
  24. cpp_quote("// (C) Copyright 1998 Microsoft Corporation. All Rights Reserved.")
  25. cpp_quote("//")
  26. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  27. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  28. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  29. cpp_quote("// PARTICULAR PURPOSE.")
  30. cpp_quote("//=--------------------------------------------------------------------------=")
  31. cpp_quote("")
  32. cpp_quote("#pragma comment(lib,\"uuid.lib\")")
  33. cpp_quote("")
  34. cpp_quote("//---------------------------------------------------------------------------=")
  35. cpp_quote("// TRIDENT Editing Services Interfaces.")
  36. cpp_quote("//")
  37. cpp_quote("")
  38. cpp_quote("#ifndef INTERNAL_H_")
  39. cpp_quote("#define INTERNAL_H_")
  40. cpp_quote("")
  41. import "dimm.idl";
  42. import "mshtml.idl";
  43. import "mshtmhst.idl";
  44. #ifndef DO_NO_IMPORTS
  45. import "ocidl.idl";
  46. import "oleidl.idl";
  47. import "oaidl.idl";
  48. #endif
  49. [
  50. lcid(0x0000), // lcid =0; locale independent.
  51. helpstring("Microsoft HTML Internal Library"),
  52. version(4.00), // WARNING: This version must match VERSION in dllreg.cxx.
  53. uuid(3050f7e1-98b5-11cf-bb82-00aa00bdce0b)
  54. ]
  55. library MSHTMLINTERNAL
  56. {
  57. typedef enum _EDITOR_NOTIFICATION
  58. {
  59. EDITOR_NOTIFY_TIMER_TICK = 0,
  60. EDITOR_NOTIFY_DOC_ENDED = 1,
  61. EDITOR_NOTIFY_DOC_CHANGED = 2,
  62. EDITOR_NOTIFY_CARET_IN_CONTEXT = 3,
  63. EDITOR_NOTIFY_EXIT_TREE = 4,
  64. EDITOR_NOTIFY_LOSE_FOCUS_FRAME = 5,
  65. EDITOR_NOTIFY_LOSE_FOCUS = 6,
  66. EDITOR_NOTIFY_BEFORE_FOCUS = 7,
  67. EDITOR_NOTIFY_YIELD_FOCUS = 8,
  68. EDITOR_NOTIFY_EDITABLE_CHANGE = 9,
  69. EDITOR_NOTIFY_BEGIN_SELECTION_UNDO = 10,
  70. EDITOR_NOTIFY_ATTACH_WIN = 11,
  71. EDITOR_NOTIFY_UPDATE_CARET = 12,
  72. EDITOR_NOTIFY_BEFORE_CURRENCY_CHANGE = 13,
  73. EDITOR_NOTIFY_SETTING_VIEW_LINK = 14,
  74. EDITOR_NOTIFY_CONTAINER_ENDED = 15,
  75. EDITOR_NOTIFICATION_Max = 2147483647L
  76. } EDITOR_NOTIFICATION;
  77. typedef enum _DOCNAVFLAGS
  78. {
  79. DOCNAVFLAG_DOCNAVIGATE = 1,
  80. DOCNAVFLAG_DONTUPDATETLOG = 2,
  81. DOCNAVFLAG_HTTPERRORPAGE = 4,
  82. DOCNAVFLAG_OPENINNEWWINDOW = 8,
  83. DOCNAVFLAG_REFRESH = 16,
  84. DOCNAVFLAGS_Max = 2147483647L
  85. } DOCNAVFLAGS;
  86. typedef enum _NAVIGATEEXOPTIONS
  87. {
  88. NAVIGATEEX_NONE = 0,
  89. NAVIGATEEX_DONTUPDATETRAVELLOG = 1,
  90. NAVIGATEEXOPTIONS_Max = 2147483647L
  91. } NAVIGATEEXOPTIONS;
  92. typedef enum _CHAR_FORMAT_FAMILY
  93. {
  94. CHAR_FORMAT_None = 0,
  95. CHAR_FORMAT_FontStyle = 1,
  96. CHAR_FORMAT_FontInfo = 2,
  97. CHAR_FORMAT_FontName = 4,
  98. CHAR_FORMAT_ColorInfo = 8,
  99. CHAR_FORMAT_ParaFormat = 16,
  100. CHAR_FORMAT_FAMILY_Max = 2147483647L
  101. } CHAR_FORMAT_FAMILY;
  102. typedef enum _LAYOUT_MOVE_UNIT
  103. {
  104. LAYOUT_MOVE_UNIT_PreviousLine = 1,
  105. LAYOUT_MOVE_UNIT_NextLine = 2,
  106. LAYOUT_MOVE_UNIT_CurrentLineStart = 3,
  107. LAYOUT_MOVE_UNIT_CurrentLineEnd = 4,
  108. LAYOUT_MOVE_UNIT_NextLineStart = 5,
  109. LAYOUT_MOVE_UNIT_PreviousLineEnd = 6,
  110. LAYOUT_MOVE_UNIT_TopOfWindow = 7,
  111. LAYOUT_MOVE_UNIT_BottomOfWindow = 8,
  112. LAYOUT_MOVE_UNIT_OuterLineStart = 9,
  113. LAYOUT_MOVE_UNIT_OuterLineEnd = 10,
  114. LAYOUT_MOVE_UNIT_Max = 2147483647L
  115. } LAYOUT_MOVE_UNIT;
  116. typedef enum _CARET_GRAVITY
  117. {
  118. CARET_GRAVITY_NoChange = 0,
  119. CARET_GRAVITY_BeginningOfLine = 1,
  120. CARET_GRAVITY_EndOfLine = 2,
  121. CARET_GRAVITY_Max = 2147483647L
  122. } CARET_GRAVITY;
  123. typedef enum _CARET_VISIBILITY
  124. {
  125. CARET_TYPE_Hide = 0,
  126. CARET_TYPE_Show = 1,
  127. CARET_VISIBILITY_Max = 2147483647L
  128. } CARET_VISIBILITY;
  129. typedef enum _POINTER_SCROLLPIN
  130. {
  131. POINTER_SCROLLPIN_TopLeft = 0,
  132. POINTER_SCROLLPIN_BottomRight = 1,
  133. POINTER_SCROLLPIN_Minimal = 2,
  134. POINTER_SCROLLPIN_Max = 2147483647L
  135. } POINTER_SCROLLPIN;
  136. typedef enum _ADORNER_HTI
  137. {
  138. ADORNER_HTI_NONE = 0,
  139. ADORNER_HTI_TOPBORDER = 1,
  140. ADORNER_HTI_LEFTBORDER = 2,
  141. ADORNER_HTI_BOTTOMBORDER = 3,
  142. ADORNER_HTI_RIGHTBORDER = 4,
  143. ADORNER_HTI_TOPLEFTHANDLE = 5,
  144. ADORNER_HTI_LEFTHANDLE = 6,
  145. ADORNER_HTI_TOPHANDLE = 7,
  146. ADORNER_HTI_BOTTOMLEFTHANDLE = 8,
  147. ADORNER_HTI_TOPRIGHTHANDLE = 9,
  148. ADORNER_HTI_BOTTOMHANDLE = 10,
  149. ADORNER_HTI_RIGHTHANDLE = 11,
  150. ADORNER_HTI_BOTTOMRIGHTHANDLE = 12,
  151. ADORNER_HTI_Max = 2147483647L
  152. } ADORNER_HTI;
  153. typedef enum _FILTER_DRAW_LAYERS
  154. {
  155. FILTER_DRAW_BORDER = 0x1,
  156. FILTER_DRAW_BACKGROUND = 0x2,
  157. FILTER_DRAW_CONTENT = 0x4,
  158. FILTER_DRAW_ALLLAYERS = 0x7,
  159. FILTER_DRAW_LAYERS_Max = 2147483647L
  160. } FILTER_DRAW_LAYERS;
  161. typedef enum _FILTER_FLAGS
  162. {
  163. FILTER_FLAGS_PAGETRANSITION = 0x1,
  164. FILTER_FLAGS_Max = 2147483647L
  165. } FILTER_FLAGS;
  166. typedef struct _HTMLPtrDispInfoRec
  167. {
  168. DWORD dwSize;
  169. LONG lBaseline;
  170. LONG lXPosition;
  171. LONG lLineHeight;
  172. LONG lTextHeight;
  173. LONG lDescent;
  174. LONG lTextDescent;
  175. BOOL fRTLLine;
  176. BOOL fRTLFlow;
  177. BOOL fAligned;
  178. BOOL fHasNestedRunOwner;
  179. } HTMLPtrDispInfoRec;
  180. interface ISelectionObject2;
  181. interface IHTMLEditor;
  182. [
  183. object,
  184. pointer_default(unique),
  185. uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b)
  186. ]
  187. interface IHTMLPrivateWindow : IUnknown
  188. {
  189. [] HRESULT SuperNavigate([in] BSTR bstrURL,[in] BSTR bstrLocation,[in] BSTR bstrShortcut,[in] BSTR bstrFrameName,[in] VARIANT* pvarPostData,[in] VARIANT* pvarHeaders,[in] DWORD dwFlags);
  190. [] HRESULT GetPendingUrl([out] LPOLESTR* pstrURL);
  191. [] HRESULT SetPICSTarget([in] IOleCommandTarget* pctPICS);
  192. [] HRESULT PICSComplete([in] BOOL fApproved);
  193. [] HRESULT FindWindowByName([in] LPCOLESTR pstrTargeName,[out] IHTMLWindow2** ppWindow);
  194. [] HRESULT GetAddressBarUrl([out] BSTR* pbstrURL);
  195. };
  196. [
  197. object,
  198. pointer_default(unique),
  199. uuid(3050f7e5-98b5-11cf-bb82-00aa00bdce0b)
  200. ]
  201. interface IHTMLPrivateWindow2 : IUnknown
  202. {
  203. [] HRESULT NavigateEx([in] BSTR bstrURL,[in] BSTR bstrUnencodedUrl,[in] BSTR bstrLocation,[in] BSTR bstrContext,[in] IBindCtx* pBindCtx,[in] DWORD dwNavOptions,[in] DWORD dwFHLFlags);
  204. [] HRESULT GetInnerWindowUnknown([in, out] IUnknown** ppUnknown);
  205. };
  206. [
  207. object,
  208. pointer_default(unique),
  209. uuid(3050f840-98b5-11cf-bb82-00aa00bdce0b)
  210. ]
  211. interface IHTMLPrivateWindow3 : IHTMLPrivateWindow2
  212. {
  213. [] HRESULT OpenEx([in] BSTR url,[in] BSTR urlContext,[in] BSTR name,[in] BSTR features,[in] VARIANT_BOOL replace,[out] IHTMLWindow2** pomWindowResult);
  214. };
  215. [
  216. object,
  217. pointer_default(unique),
  218. uuid(3050f4d2-98b5-11cf-bb82-00aa00bdce0b)
  219. ]
  220. interface ISubDivisionProvider : IUnknown
  221. {
  222. [] HRESULT GetSubDivisionCount([retval, out] LONG* pcSubDivision);
  223. [] HRESULT GetSubDivisionTabs([in] LONG cTabs,[retval, out] LONG* pSubDivisionTabs);
  224. [] HRESULT SubDivisionFromPt([in] POINT pt,[retval, out] LONG* piSubDivision);
  225. };
  226. [
  227. object,
  228. pointer_default(unique),
  229. uuid(3050f4bf-98b5-11cf-bb82-00aa00bdce0b)
  230. ]
  231. interface IElementBehaviorUI : IUnknown
  232. {
  233. [] HRESULT OnReceiveFocus([in] BOOL fFocus,[in] LONG lSubDivision);
  234. [] HRESULT GetSubDivisionProvider([retval, out] ISubDivisionProvider** ppProvider);
  235. [] HRESULT CanTakeFocus();
  236. };
  237. [
  238. object,
  239. pointer_default(unique),
  240. uuid(3050f607-98b5-11cf-bb82-00aa00bdce0b)
  241. ]
  242. interface IElementAdorner : IUnknown
  243. {
  244. [] HRESULT Draw([in] HDC hdc,[in] LPRECT prc);
  245. [] HRESULT HitTestPoint([in] POINT* pt,[in] LPRECT prc,[in, out] BOOL* fResult,[in, out] ADORNER_HTI* peAdornerHTI);
  246. [] HRESULT GetSize([in] SIZE* pSizeElem,[in] SIZE* pSizeAdorn);
  247. [] HRESULT GetPosition([in] POINT* pPosElem,[in] POINT* pPosAdorn);
  248. [] HRESULT OnPositionSet();
  249. };
  250. [
  251. object,
  252. pointer_default(unique),
  253. uuid(3050f7fa-98b5-11cf-bb82-00aa00bdce0b)
  254. ]
  255. interface IHTMLEditor : IUnknown
  256. {
  257. [] HRESULT PreHandleEvent([in] DISPID inEvtDispId,[in] IHTMLEventObj* pIEventObj);
  258. [] HRESULT PostHandleEvent([in] DISPID inEvtDispId,[in] IHTMLEventObj* pIEventObj);
  259. [] HRESULT TranslateAccelerator([in] DISPID inEvtDispId,[in] IHTMLEventObj* pIEventObj);
  260. [] HRESULT Initialize([in] IUnknown* pIDocument,[in] IUnknown* pIContainer);
  261. [] HRESULT Notify([in] EDITOR_NOTIFICATION eSelectionNotification,[in] IUnknown* pUnknown,[in] DWORD dword);
  262. [] HRESULT GetCommandTarget([in] IUnknown* pContext,[in, out] IUnknown** ppUnkTarget);
  263. [] HRESULT GetElementToTabFrom([in] BOOL fForward,[in, out] IHTMLElement** ppElement,[in, out] BOOL* pfFindNext);
  264. [] HRESULT IsEditContextUIActive();
  265. [] HRESULT TerminateIMEComposition();
  266. [] HRESULT EnableModeless([in] BOOL fEnable);
  267. };
  268. [
  269. object,
  270. pointer_default(unique),
  271. uuid(3050f7fb-98b5-11cf-bb82-00aa00bdce0b)
  272. ]
  273. interface IHTMLEditingServices : IUnknown
  274. {
  275. [] HRESULT Delete([in] IMarkupPointer* pStart,[in] IMarkupPointer* pEnd,[in] BOOL fAdjustPointers);
  276. [] HRESULT Paste([in] IMarkupPointer* pStart,[in] IMarkupPointer* pEnd,[in] BSTR bstrText);
  277. [] HRESULT PasteFromClipboard([in] IMarkupPointer* pStart,[in] IMarkupPointer* pEnd,[in] IDataObject* pDO);
  278. [] HRESULT LaunderSpaces([in] IMarkupPointer* pStart,[in] IMarkupPointer* pEnd);
  279. [] HRESULT InsertSanitizedText([in] IMarkupPointer* InsertHere,[in] OLECHAR* pstrText,[in] LONG cChInput,[in] BOOL fDataBinding);
  280. [] HRESULT UrlAutoDetectCurrentWord([in] IMarkupPointer* pWord);
  281. [] HRESULT UrlAutoDetectRange([in] IMarkupPointer* pStart,[in] IMarkupPointer* pEnd);
  282. [] HRESULT ShouldUpdateAnchorText([in] OLECHAR* pstrHref,[in] OLECHAR* pstrAnchorText,[out] BOOL* pfResult);
  283. [] HRESULT AdjustPointerForInsert([in] IDisplayPointer* pDispWhereIThinkIAm,[in] BOOL fFurtherInDocument,[in] IMarkupPointer* pConstraintStart,[in] IMarkupPointer* pConstraintEnd);
  284. [] HRESULT FindSiteSelectableElement([in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerEnd,[in] IHTMLElement** ppIHTMLElement);
  285. [] HRESULT IsElementSiteSelectable([in] IHTMLElement* pIHTMLElement,[out] IHTMLElement** ppIElement);
  286. [] HRESULT IsElementUIActivatable([in] IHTMLElement* pIHTMLElement);
  287. [] HRESULT IsElementAtomic([in] IHTMLElement* pIHTMLElement);
  288. [] HRESULT PositionPointersInMaster([in] IHTMLElement* pIElement,[in] IMarkupPointer* pIStart,[in] IMarkupPointer* pIEnd);
  289. };
  290. [
  291. object,
  292. pointer_default(unique),
  293. uuid(3050f7fc-98b5-11cf-bb82-00aa00bdce0b)
  294. ]
  295. interface ISelectionObject2 : IUnknown
  296. {
  297. [] HRESULT Select([in] ISegmentList* pISegmentList);
  298. [] HRESULT IsPointerInSelection([in] IDisplayPointer* pIDispPointer,[out] BOOL* pfPointerInSelection,[in] POINT* pptGlobal,[in] IHTMLElement* pIElementOver);
  299. [] HRESULT EmptySelection();
  300. [] HRESULT DestroySelection();
  301. [] HRESULT DestroyAllSelection();
  302. };
  303. [
  304. object,
  305. pointer_default(unique),
  306. uuid(3050f60b-98b5-11cf-bb82-00aa00bdce0b)
  307. ]
  308. interface IEditDebugServices : IUnknown
  309. {
  310. [] HRESULT GetCp([in] IMarkupPointer* pIPointer,[out] long* pcp);
  311. [] HRESULT SetDebugName([in] IMarkupPointer* pIPointer,[in] LPCTSTR strDbgName);
  312. [] HRESULT SetDisplayPointerDebugName([in] IDisplayPointer* pDispPointer,[in] LPCTSTR strDbgName);
  313. [] HRESULT DumpTree([in] IMarkupPointer* pIPointer);
  314. [] HRESULT LinesInElement([in] IHTMLElement* pIElement,[out] long* piLines);
  315. [] HRESULT FontsOnLine([in] IHTMLElement* pIElement,[in] long iLine,[out] BSTR* pbstrFonts);
  316. [] HRESULT GetPixel([in] long X,[in] long Y,[out] long* piColor);
  317. [] HRESULT IsUsingBckgrnRecalc([out] BOOL* pfUsingBckgrnRecalc);
  318. [] HRESULT IsEncodingAutoSelect([out] BOOL* pfEncodingAutoSelect);
  319. [] HRESULT EnableEncodingAutoSelect([in] BOOL fEnable);
  320. [] HRESULT IsUsingTableIncRecalc([out] BOOL* pfUsingTableIncRecalc);
  321. };
  322. [
  323. object,
  324. pointer_default(unique),
  325. uuid(3050f84b-98b5-11cf-bb82-00aa00bdce0b)
  326. ]
  327. interface IPrivacyServices : IUnknown
  328. {
  329. [] HRESULT AddPrivacyInfoToList([in] LPOLESTR pstrUrl,[in] LPOLESTR pstrPolicyRef,[in] LPOLESTR pstrP3PHeader,[in] LONG dwReserved,[in] DWORD privacyFlags);
  330. };
  331. [
  332. object,
  333. pointer_default(unique),
  334. uuid(3050f5fc-98b5-11cf-bb82-00aa00bdce0b)
  335. ]
  336. interface IHTMLOMWindowServices : IUnknown
  337. {
  338. [] HRESULT moveTo([in] LONG x,[in] LONG y);
  339. [] HRESULT moveBy([in] LONG x,[in] LONG y);
  340. [] HRESULT resizeTo([in] LONG x,[in] LONG y);
  341. [] HRESULT resizeBy([in] LONG x,[in] LONG y);
  342. };
  343. [
  344. object,
  345. pointer_default(unique),
  346. uuid(3050f6de-98b5-11cf-bb82-00aa00bdce0b)
  347. ]
  348. interface IHTMLFilterPainter : IUnknown
  349. {
  350. [] HRESULT InvalidateRectUnfiltered([in] RECT* prcInvalid);
  351. [] HRESULT InvalidateRgnUnfiltered([in] HRGN hrgnInvalid);
  352. [] HRESULT ChangeElementVisibility([in] BOOL fVisible);
  353. };
  354. [
  355. object,
  356. pointer_default(unique),
  357. uuid(3050f6d3-98b5-11cf-bb82-00aa00bdce0b)
  358. ]
  359. interface IHTMLFilterPaintSite : IUnknown
  360. {
  361. [] HRESULT DrawUnfiltered([in] HDC hdc,[in] IUnknown* punkDrawObject,[in] RECT rcBounds,[in] RECT rcUpdate,[in] LONG lDrawLayers);
  362. [] HRESULT HitTestPointUnfiltered([in] POINT pt,[in] LONG lDrawLayers,[retval, out] BOOL* pbHit);
  363. [] HRESULT InvalidateRectFiltered([in] RECT* prcInvalid);
  364. [] HRESULT InvalidateRgnFiltered([in] HRGN hrgnInvalid);
  365. [] HRESULT ChangeFilterVisibility([in] BOOL fVisible);
  366. [] HRESULT EnsureViewForFilterSite();
  367. [] HRESULT GetDirectDraw([retval, out] void** ppDirectDraw);
  368. [] HRESULT GetFilterFlags([retval, out] DWORD* nFlagVal);
  369. };
  370. [
  371. object,
  372. pointer_default(unique),
  373. uuid(3050f7ff-98b5-11cf-bb82-00aa00bdce0b)
  374. ]
  375. interface IElementNamespacePrivate : IUnknown
  376. {
  377. [] HRESULT AddTagPrivate([in] BSTR bstrTagName,[in] BSTR bstrBaseTagName,[in] LONG lFlags);
  378. };
  379. }
  380. cpp_quote("#endif //INTERNAL_H_")