mshtml: Add new interfaces into mshtml.idl
Konstantin Kondratyuk
kondratyuk at etersoft.ru
Sun Nov 23 11:11:32 CST 2008
I'm sorry, I have sent a wrong patch...
--
Best regards,
Konstantin Kondratyuk.
-------------- next part --------------
From ac851a3ad252ca8b172ea277a94040bdf26deddf Mon Sep 17 00:00:00 2001
From: Konstantin Kondratyuk <kondratyuk at etersoft.ru>
Date: Sun, 23 Nov 2008 19:28:11 +0300
Subject: [PATCH] mshtml: Add new interfaces into mshtml.idl
---
include/mshtml.idl | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 295 insertions(+), 0 deletions(-)
diff --git a/include/mshtml.idl b/include/mshtml.idl
index 680748b..9f0a1aa 100644
--- a/include/mshtml.idl
+++ b/include/mshtml.idl
@@ -1,5 +1,6 @@
/*
* Copyright 2004-2007 Jacek Caban for CodeWeavers
+ * Copyright 2008 Konstantin Kondratyuk (Etersoft)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -32,6 +33,58 @@ cpp_quote("DEFINE_GUID(SID_SHTMLEditServices, 0x3050f7f9,0x98b5,0x11cf,0xbb,0x
cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
+typedef enum {
+ POINTER_GRAVITY_Left = 0,
+ POINTER_GRAVITY_Right = 1
+} POINTER_GRAVITY;
+
+typedef enum {
+ CONTEXT_TYPE_None = 0,
+ CONTEXT_TYPE_Text = 1,
+ CONTEXT_TYPE_EnterScope = 2,
+ CONTEXT_TYPE_ExitScope = 3,
+ CONTEXT_TYPE_NoScope = 4
+} MARKUP_CONTEXT_TYPE;
+
+typedef enum {
+ ELEM_ADJ_BeforeBegin = 0,
+ ELEM_ADJ_AfterBegin = 1,
+ ELEM_ADJ_BeforeEnd = 2,
+ ELEM_ADJ_AfterEnd = 3,
+ ELEMENT_ADJACENCY_Max = 2147483647L
+} ELEMENT_ADJACENCY;
+
+typedef enum {
+ MOVEUNIT_PREVCHAR = 0,
+ MOVEUNIT_NEXTCHAR = 1,
+ MOVEUNIT_PREVCLUSTERBEG = 2,
+ MOVEUNIT_NEXTCLUSTERBEG = 3,
+ MOVEUNIT_PREVCLUSTEREND = 4,
+ MOVEUNIT_NEXTCLUSTEREND = 5,
+ MOVEUNIT_PREVWORDBEG = 6,
+ MOVEUNIT_NEXTWORDBEG = 7,
+ MOVEUNIT_PREVWORDEND = 8,
+ MOVEUNIT_NEXTWORDEND = 9,
+ MOVEUNIT_PREVPROOFWORD = 10,
+ MOVEUNIT_NEXTPROOFWORD = 11,
+ MOVEUNIT_NEXTURLBEG = 12,
+ MOVEUNIT_PREVURLBEG = 13,
+ MOVEUNIT_NEXTURLEND = 14,
+ MOVEUNIT_PREVURLEND = 15,
+ MOVEUNIT_PREVSENTENCE = 16,
+ MOVEUNIT_NEXTSENTENCE = 17,
+ MOVEUNIT_PREVBLOCK = 18,
+ MOVEUNIT_NEXTBLOCK = 19,
+ MOVEUNIT_ACTION_Max = 2147483647L
+} MOVEUNIT_ACTION;
+
+typedef enum _SELECTION_TYPE {
+ SELECTION_TYPE_None = 0,
+ SELECTION_TYPE_Caret = 1,
+ SELECTION_TYPE_Text = 2,
+ SELECTION_TYPE_Control = 3
+} SELECTION_TYPE;
+
interface IHTMLDocument2;
interface IHTMLStyleSheetsCollection;
interface IHTMLFrameBase;
@@ -20032,4 +20085,246 @@ methods:
VARIANT width();
}
+/*****************************************************************************
+ * IHTMLEditDesigner interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLEditDesigner : IUnknown
+{
+ HRESULT PostEditorEventNotify(
+ [in] DISPID inEvtDispId,
+ [in] IHTMLEventObj *pIEventObj);
+
+ HRESULT PostHandleEvent(
+ [in] DISPID inEvtDispId,
+ [in] IHTMLEventObj *pIEventObj);
+
+ HRESULT PreHandleEvent(
+ [in] DISPID inEvtDispId,
+ [in] IHTMLEventObj *pIEventObj);
+
+ HRESULT TranslateAccelerator(
+ [in] DISPID inEvtDispId,
+ [in] IHTMLEventObj *pIEventObj);
+}
+
+/*****************************************************************************
+ * IMarkupContainer interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
+]
+interface IMarkupContainer : IUnknown
+{
+ HRESULT OwningDoc([retval, out] IHTMLDocument2 **ppDoc);
+}
+
+/*****************************************************************************
+ * IMarkupPointer interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IMarkupPointer : IUnknown
+{
+ HRESULT Cling([retval, out] BOOL *pfCling);
+
+ HRESULT CurrentScope([retval, out] IHTMLElement **ppElemCurrent);
+
+ HRESULT FindText(
+ [in] OLECHAR *pchFindText,
+ [in] DWORD dwFlags,
+ [in] IMarkupPointer *pIEndMatch,
+ [in] IMarkupPointer *pIEndSearch);
+
+ HRESULT GetContainer([retval, out] IMarkupContainer **ppContainer);
+
+ HRESULT Gravity([retval, out] POINTER_GRAVITY *pGravity);
+
+ HRESULT IsEqualTo(
+ [in] IMarkupPointer *pPointerThat,
+ [retval, out] BOOL *pfAreEqual);
+
+ HRESULT IsLeftOf(
+ [in] IMarkupPointer *pPointerThat,
+ [retval, out] BOOL *pfResult);
+
+ HRESULT IsLeftOfOrEqualTo(
+ [in] IMarkupPointer *pPointerThat,
+ [retval, out] BOOL *pfResult);
+
+ HRESULT IsPositioned([retval, out] BOOL *pfPositioned);
+
+ HRESULT IsRightOf(
+ [in] IMarkupPointer *pPointerThat,
+ [retval, out] BOOL *pfResult);
+
+ HRESULT IsRightOfOrEqualTo(
+ [in] IMarkupPointer *pPointerThat,
+ [retval, out] BOOL *pfResult);
+
+ HRESULT Left(
+ [in] BOOL fMove,
+ [retval, out] MARKUP_CONTEXT_TYPE *pContext,
+ [retval, out] IHTMLElement **ppElement,
+ [retval, out] long *pcch,
+ [retval, out] OLECHAR *pchText);
+
+ HRESULT MoveAdjacentToElement(
+ [in] IHTMLElement *pElement,
+ [in] ELEMENT_ADJACENCY eAdj);
+
+ HRESULT MoveToContainer(
+ [in] IMarkupContainer *pContainer,
+ [in] BOOL fAtStart);
+
+ HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
+
+ HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
+
+ HRESULT OwningDoc([retval, out] IHTMLDocument2 **ppDoc);
+
+ HRESULT Right(
+ [in] BOOL fMove,
+ [retval, out] MARKUP_CONTEXT_TYPE *pContext,
+ [retval, out] IHTMLElement **ppElement,
+ [retval, out] long *pcch,
+ [retval, out] OLECHAR *pchText);
+
+ HRESULT SetCling([in] BOOL fCLing);
+
+ HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
+
+ HRESULT UnPosition();
+}
+
+/*****************************************************************************
+ * ISegment interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(83f65030-b598-cf11-bb82-00aa00bdce0b)
+]
+interface ISegment : IUnknown
+{
+ HRESULT GetPointers(
+ [in] IMarkupPointer *pIStart,
+ [in] IMarkupPointer *pIEnd);
+}
+
+/*****************************************************************************
+ * IElementSegment interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IElementSegment : ISegment
+{
+ HRESULT GetElement([retval, out] IHTMLElement **ppIElement);
+
+ HRESULT IsPrimary([retval, out] BOOL *pfPrimary);
+
+ HRESULT SetPrimary([in] BOOL fPrimary);
+}
+
+/*****************************************************************************
+ * ISelectionServicesListener interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(99f65030-b598-cf11-bb82-00aa00bdce0b)
+]
+interface ISelectionServicesListener : IUnknown
+{
+ HRESULT BeginSelectionUndo();
+
+ HRESULT EndSelectionUndo();
+
+ HRESULT GetTypeDetail([retval, out] BSTR *pTypeDetail);
+
+ HRESULT OnChangeType(
+ [in] SELECTION_TYPE eType,
+ [in] ISelectionServicesListener *pIListener);
+
+ HRESULT OnSelectedElementExit(
+ [in] IMarkupPointer *pIElementStart,
+ [in] IMarkupPointer *pIElementEnd,
+ [in] IMarkupPointer *pIElementContentStart,
+ [in] IMarkupPointer *pIElementContentEnd);
+}
+
+/*****************************************************************************
+ * ISelectionServices interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface ISelectionServices : IUnknown
+{
+ HRESULT AddElementSegment(
+ [in] IHTMLElement *pIElement,
+ [retval, out] IElementSegment **ppISegmentAdded);
+
+ HRESULT AddSegment(
+ [in] IMarkupPointer *pIStart,
+ [in] IMarkupPointer *pIEnd,
+ [retval, out] ISegment **ppISegmentAdded);
+
+ HRESULT GetMarkupContainer([retval, out] IMarkupContainer **ppIContainer);
+
+ HRESULT GetSelectionServicesListener(
+ [retval, out] ISelectionServicesListener **ppISelectionServicesListener);
+
+ HRESULT RemoveSegment([in] ISegment *pISegment);
+
+ HRESULT SetSelectionType(
+ [in] SELECTION_TYPE eType,
+ [in] ISelectionServicesListener *pIListener);
+}
+
+/*****************************************************************************
+ * IHTMLEditServices interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLEditServices : IUnknown
+{
+ HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
+
+ HRESULT GetSelectionServices(
+ [in] IMarkupContainer *pIContainer,
+ [retval, out] ISelectionServices **ppSelSvc);
+
+ HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
+
+ HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
+
+ HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
+}
+
} /* library MSHTML */
--
1.6.0.2.GIT
More information about the wine-patches
mailing list