[Wine-patches] mshtml: Add some interfaces in mshtml.idl (try 2) (resend)

Konstantin Kondratyuk =?iso-8859-1?q?kondratyuk_=CE=C1_etersoft=2Eru?=
þÔ äÅË 11 17:28:03 MSK 2008


Add:
ššššššššILineInfo
ššššššššIDisplayPointer
ššššššššIDisplayPointer
ššššššššIHTMLComputedStyle
ššššššššIDisplayServices
ššššššššIMarkupServices

-- 
Best regards,
Konstantin Kondratyuk.
----------- ????????? ????? -----------
From bd2e415b13b0e9b99ad74b337232650e69b3d2d5 Mon Sep 17 00:00:00 2001
From: Konstantin Kondratyuk <kondratyuk ÎÁ etersoft.ru>
Date: Fri, 5 Dec 2008 14:10:57 +0300
Subject: [PATCH] mshtml: Add new interfaces in mshtml.idl

---
 include/mshtmdid.h |   29 +++
 include/mshtml.idl |  507 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 536 insertions(+), 0 deletions(-)

diff --git a/include/mshtmdid.h b/include/mshtmdid.h
index d9c8f7c..3a9b81a 100644
--- a/include/mshtmdid.h
+++ b/include/mshtmdid.h
@@ -94,6 +94,8 @@
 #define DISPID_DOMTEXTNODE      DISPID_NORMAL_FIRST
 #define DISPID_GENERIC          DISPID_NORMAL_FIRST
 #define DISPID_DOMIMPLEMENTATION  DISPID_NORMAL_FIRST
+#define DISPID_ILINEINFO        DISPID_NORMAL_FIRST
+#define DISPID_IHTMLCOMPUTEDSTYLE  DISPID_NORMAL_FIRST
 
 #define DISPID_COLLECTION      (DISPID_NORMAL_FIRST+500)
 #define DISPID_OPTIONS_COL     (DISPID_NORMAL_FIRST+500)
@@ -2414,4 +2416,31 @@
 #define DISPID_IHTMLCONTROLELEMENT_CLIENTTOP       (DISPID_SITE+21)
 #define DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT      (DISPID_SITE+22)
 
+/* ILineInfo */
+#define DISPID_ILINEINFO_X                                        DISPID_ILINEINFO+1
+#define DISPID_ILINEINFO_BASELINE                                 DISPID_ILINEINFO+2
+#define DISPID_ILINEINFO_TEXTDESCENT                              DISPID_ILINEINFO+3
+#define DISPID_ILINEINFO_TEXTHEIGHT                               DISPID_ILINEINFO+4
+#define DISPID_ILINEINFO_LINEDIRECTION                            DISPID_ILINEINFO+5
+
+/* IHTMLComputedStyle */
+#define DISPID_IHTMLCOMPUTEDSTYLE_BOLD                            DISPID_IHTMLCOMPUTEDSTYLE+1
+#define DISPID_IHTMLCOMPUTEDSTYLE_ITALIC                          DISPID_IHTMLCOMPUTEDSTYLE+2
+#define DISPID_IHTMLCOMPUTEDSTYLE_UNDERLINE                       DISPID_IHTMLCOMPUTEDSTYLE+3
+#define DISPID_IHTMLCOMPUTEDSTYLE_OVERLINE                        DISPID_IHTMLCOMPUTEDSTYLE+4
+#define DISPID_IHTMLCOMPUTEDSTYLE_STRIKEOUT                       DISPID_IHTMLCOMPUTEDSTYLE+5
+#define DISPID_IHTMLCOMPUTEDSTYLE_SUBSCRIPT                       DISPID_IHTMLCOMPUTEDSTYLE+6
+#define DISPID_IHTMLCOMPUTEDSTYLE_SUPERSCRIPT                     DISPID_IHTMLCOMPUTEDSTYLE+7
+#define DISPID_IHTMLCOMPUTEDSTYLE_EXPLICITFACE                    DISPID_IHTMLCOMPUTEDSTYLE+8
+#define DISPID_IHTMLCOMPUTEDSTYLE_FONTWEIGHT                      DISPID_IHTMLCOMPUTEDSTYLE+9
+#define DISPID_IHTMLCOMPUTEDSTYLE_FONTSIZE                        DISPID_IHTMLCOMPUTEDSTYLE+10
+#define DISPID_IHTMLCOMPUTEDSTYLE_FONTNAME                        DISPID_IHTMLCOMPUTEDSTYLE+11
+#define DISPID_IHTMLCOMPUTEDSTYLE_HASBGCOLOR                      DISPID_IHTMLCOMPUTEDSTYLE+12
+#define DISPID_IHTMLCOMPUTEDSTYLE_TEXTCOLOR                       DISPID_IHTMLCOMPUTEDSTYLE+13
+#define DISPID_IHTMLCOMPUTEDSTYLE_BACKGROUNDCOLOR                 DISPID_IHTMLCOMPUTEDSTYLE+14
+#define DISPID_IHTMLCOMPUTEDSTYLE_PREFORMATTED                    DISPID_IHTMLCOMPUTEDSTYLE+15
+#define DISPID_IHTMLCOMPUTEDSTYLE_DIRECTION                       DISPID_IHTMLCOMPUTEDSTYLE+16
+#define DISPID_IHTMLCOMPUTEDSTYLE_BLOCKDIRECTION                  DISPID_IHTMLCOMPUTEDSTYLE+17
+#define DISPID_IHTMLCOMPUTEDSTYLE_OL                              DISPID_IHTMLCOMPUTEDSTYLE+18
+
 #endif /* __MSHTMDID_H__ */
diff --git a/include/mshtml.idl b/include/mshtml.idl
index 8bf3efa..df7807b 100644
--- a/include/mshtml.idl
+++ b/include/mshtml.idl
@@ -80,6 +80,175 @@ typedef enum {
     MOVEUNIT_ACTION_Max = 2147483647
 } MOVEUNIT_ACTION;
 
+typedef enum _CARET_DIRECTION {
+    CARET_DIRECTION_INDETERMINATE = 0,
+    CARET_DIRECTION_SAME = 1,
+    CARET_DIRECTION_BACKWARD = 2,
+    CARET_DIRECTION_FORWARD = 3,
+    CARET_DIRECTION_Max = 2147483647
+} CARET_DIRECTION;
+
+typedef enum _COORD_SYSTEM {
+    COORD_SYSTEM_GLOBAL = 0,
+    COORD_SYSTEM_PARENT = 1,
+    COORD_SYSTEM_CONTAINER = 2,
+    COORD_SYSTEM_CONTENT = 3,
+    COORD_SYSTEM_FRAME = 4,
+    COORD_SYSTEM_Max = 2147483647
+} COORD_SYSTEM;
+
+typedef enum _DISPLAY_MOVEUNIT {
+    DISPLAY_MOVEUNIT_PreviousLine = 1,
+    DISPLAY_MOVEUNIT_NextLine = 2,
+    DISPLAY_MOVEUNIT_CurrentLineStart = 3,
+    DISPLAY_MOVEUNIT_CurrentLineEnd = 4,
+    DISPLAY_MOVEUNIT_TopOfWindow = 5,
+    DISPLAY_MOVEUNIT_BottomOfWindow = 6,
+    DISPLAY_MOVEUNIT_Max = 2147483647
+} DISPLAY_MOVEUNIT;
+
+typedef enum _LINE_DIRECTION
+{
+    LINE_DIRECTION_RightToLeft = 1,
+    LINE_DIRECTION_LeftToRight = 2,
+    LINE_DIRECTION_Max = 2147483647
+} LINE_DIRECTION;
+
+typedef enum _DISPLAY_GRAVITY {
+    DISPLAY_GRAVITY_PreviousLine = 1,
+    DISPLAY_GRAVITY_NextLine = 2,
+    DISPLAY_GRAVITY_Max = 2147483647
+} DISPLAY_GRAVITY;
+
+typedef enum _HT_OPTIONS {
+    HT_OPT_AllowAfterEOL = 1,
+    HT_OPTIONS_Max = 2147483647
+} HT_OPTIONS;
+
+typedef enum _DISPLAY_BREAK {
+    DISPLAY_BREAK_None,
+    DISPLAY_BREAK_Block,
+    DISPLAY_BREAK_Break,
+    DISPLAY_BREAK_Max = 2147483647
+} DISPLAY_BREAK;
+
+typedef enum {
+    TAGID_NULL = 0,
+    TAGID_UNKNOWN = 1,
+    TAGID_A = 2,
+    TAGID_ACRONYM = 3,
+    TAGID_ADDRESS = 4,
+    TAGID_APPLET = 5,
+    TAGID_AREA = 6,
+    TAGID_B = 7,
+    TAGID_BASE = 8,
+    TAGID_BASEFONT = 9,
+    TAGID_BDO = 10,
+    TAGID_BGSOUND = 11,
+    TAGID_BIG = 12,
+    TAGID_BLINK = 13,
+    TAGID_BLOCKQUOTE = 14,
+    TAGID_BODY = 15,
+    TAGID_BR = 16,
+    TAGID_BUTTON = 17,
+    TAGID_CAPTION = 18,
+    TAGID_CENTER = 19,
+    TAGID_CITE = 20,
+    TAGID_CODE = 21,
+    TAGID_COL = 22,
+    TAGID_COLGROUP = 23,
+    TAGID_COMMENT = 24,
+    TAGID_COMMENT_RAW = 25,
+    TAGID_DD = 26,
+    TAGID_DEL = 27,
+    TAGID_DFN = 28,
+    TAGID_DIR = 29,
+    TAGID_DIV = 30,
+    TAGID_DL = 31,
+    TAGID_DT = 32,
+    TAGID_EM = 33,
+    TAGID_EMBED = 34,
+    TAGID_FIELDSET = 35,
+    TAGID_FONT = 36,
+    TAGID_FORM = 37,
+    TAGID_FRAME = 38,
+    TAGID_FRAMESET = 39,
+    TAGID_GENERIC = 40,
+    TAGID_H1 = 41,
+    TAGID_H2 = 42,
+    TAGID_H3 = 43,
+    TAGID_H4 = 44,
+    TAGID_H5 = 45,
+    TAGID_H6 = 46,
+    TAGID_HEAD = 47,
+    TAGID_HR = 48,
+    TAGID_HTML = 49,
+    TAGID_I = 50,
+    TAGID_IFRAME = 51,
+    TAGID_IMG = 52,
+    TAGID_INPUT = 53,
+    TAGID_INS = 54,
+    TAGID_KBD = 55,
+    TAGID_LABEL = 56,
+    TAGID_LEGEND = 57,
+    TAGID_LI = 58,
+    TAGID_LINK = 59,
+    TAGID_LISTING = 60,
+    TAGID_MAP = 61,
+    TAGID_MARQUEE = 62,
+    TAGID_MENU = 63,
+    TAGID_META = 64,
+    TAGID_NEXTID = 65,
+    TAGID_NOBR = 66,
+    TAGID_NOEMBED = 67,
+    TAGID_NOFRAMES = 68,
+    TAGID_NOSCRIPT = 69,
+    TAGID_OBJECT = 70,
+    TAGID_OL = 71,
+    TAGID_OPTION = 72,
+    TAGID_P = 73,
+    TAGID_PARAM = 74,
+    TAGID_PLAINTEXT = 75,
+    TAGID_PRE = 76,
+    TAGID_Q = 77,
+    TAGID_RP = 78,
+    TAGID_RT = 79,
+    TAGID_RUBY = 80,
+    TAGID_S = 81,
+    TAGID_SAMP = 82,
+    TAGID_SCRIPT = 83,
+    TAGID_SELECT = 84,
+    TAGID_SMALL = 85,
+    TAGID_SPAN = 86,
+    TAGID_STRIKE = 87,
+    TAGID_STRONG = 88,
+    TAGID_STYLE = 89,
+    TAGID_SUB = 90,
+    TAGID_SUP = 91,
+    TAGID_TABLE = 92,
+    TAGID_TBODY = 93,
+    TAGID_TC = 94,
+    TAGID_TD = 95,
+    TAGID_TEXTAREA = 96,
+    TAGID_TFOOT = 97,
+    TAGID_TH = 98,
+    TAGID_THEAD = 99,
+    TAGID_TITLE = 100,
+    TAGID_TR = 101,
+    TAGID_TT = 102,
+    TAGID_U = 103,
+    TAGID_UL = 104,
+    TAGID_VAR = 105,
+    TAGID_WBR = 106,
+    TAGID_XMP = 107,
+    TAGID_ROOT = 108,
+    TAGID_OPTGROUP = 109,
+    TAGID_ABBR = 110,
+    TAGID_COUNT = 111,
+    TAGID_LAST_PREDEFINED = 10000,
+    ELEMENT_TAG_ID_Max = 2147483647
+} ELEMENT_TAG_ID;
+
 typedef enum _SELECTION_TYPE {
     SELECTION_TYPE_None,
     SELECTION_TYPE_Caret,
@@ -20215,6 +20384,344 @@ interface IElementSegment : ISegment
 }
 
 /*****************************************************************************
+ *    ILineInfo interface
+ */
+[
+    object,
+    pointer_default(unique),
+    uuid(3050f7e2-98b5-cf11-bb82-00aa00bdce0b)
+]
+interface ILineInfo : IUnknown
+{
+    [id(DISPID_ILINEINFO_X), propget]
+    HRESULT x([out, retval] long* p);
+
+    [id(DISPID_ILINEINFO_BASELINE), propget]
+    HRESULT baseLine([out, retval] long* p);
+
+    [id(DISPID_ILINEINFO_TEXTDESCENT), propget]
+    HRESULT textDescent([out, retval] long* p);
+
+    [id(DISPID_ILINEINFO_TEXTHEIGHT), propget]
+    HRESULT textHeight([out, retval] long* p);
+
+    [id(DISPID_ILINEINFO_LINEDIRECTION), propget]
+    HRESULT lineDirection([out, retval] long* p);
+};
+
+/*****************************************************************************
+ *    IDisplayPointer interface
+ */
+[
+    object,
+    pointer_default(unique),
+    uuid(3050f69e-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IDisplayPointer : IUnknown
+{
+    HRESULT moveToPoint(
+        [in] POINT ptPoint,
+        [in] COORD_SYSTEM eCoordSystem,
+        [in] IHTMLElement* pElementContext,
+        [in] unsigned long dwHitTestOptions,
+        [out] unsigned long* pdwHitTestResults);
+
+    HRESULT MoveUnit(
+        [in] DISPLAY_MOVEUNIT eMoveUnit,
+        [in] long lXPos);
+
+    HRESULT PositionMarkupPointer([in] IMarkupPointer* pMarkupPointer);
+
+    HRESULT MoveToPointer([in] IDisplayPointer* pDispPointer);
+
+    HRESULT SetPointerGravity([in] POINTER_GRAVITY eGravity);
+
+    HRESULT GetPointerGravity([out] POINTER_GRAVITY* peGravity);
+
+    HRESULT SetDisplayGravity([in] DISPLAY_GRAVITY eGravity);
+
+    HRESULT GetDisplayGravity([out] DISPLAY_GRAVITY* peGravity);
+
+    HRESULT IsPositioned([out] long* pfPositioned);
+
+    HRESULT Unposition();
+
+    HRESULT IsEqualTo(
+        [in] IDisplayPointer* pDispPointer,
+        [out] long* pfIsEqual);
+
+    HRESULT IsLeftOf(
+        [in] IDisplayPointer* pDispPointer,
+        [out] long* pfIsLeftOf);
+
+    HRESULT IsRightOf(
+        [in] IDisplayPointer* pDispPointer,
+        [out] long* pfIsRightOf);
+
+    HRESULT IsAtBOL([out] long* pfBOL);
+
+    HRESULT MoveToMarkupPointer(
+        [in] IMarkupPointer* pPointer,
+        [in] IDisplayPointer* pDispLineContext);
+
+    HRESULT scrollIntoView();
+
+    HRESULT GetLineInfo([out] ILineInfo** ppLineInfo);
+
+    HRESULT GetFlowElement([out] IHTMLElement** ppLayoutElement);
+
+    HRESULT QueryBreaks([out] unsigned long* pdwBreaks);
+};
+
+/*****************************************************************************
+ *    IHTMLCaret interface
+ */
+[
+    object,
+    pointer_default(unique),
+    uuid(3050f604-98b5-cf11-bb82-00aa00bdce0b)
+]
+interface IHTMLCaret : IUnknown
+{
+    HRESULT MoveCaretToPointer(
+        [in] IDisplayPointer* pDispPointer,
+        [in] long fScrollIntoView,
+        [in] CARET_DIRECTION eDir);
+
+    HRESULT MoveCaretToPointerEx(
+        [in] IDisplayPointer* pDispPointer,
+        [in] long fVisible,
+        [in] long fScrollIntoView,
+        [in] CARET_DIRECTION eDir);
+
+    HRESULT MoveMarkupPointerToCaret([in] IMarkupPointer* pIMarkupPointer);
+
+    HRESULT MoveDisplayPointerToCaret([in] IDisplayPointer* pDispPointer);
+
+    HRESULT IsVisible([out] long* pIsVisible);
+
+    HRESULT Show([in] long fScrollIntoView);
+
+    HRESULT Hide();
+
+    HRESULT InsertText(
+        [in] unsigned short* pText,
+        [in] long lLen);
+
+    HRESULT scrollIntoView();
+
+    HRESULT GetLocation(
+        [out] POINT* pPoint,
+        [in] long fTranslate);
+
+    HRESULT GetCaretDirection([out] CARET_DIRECTION* peDir);
+
+    HRESULT SetCaretDirection([in] CARET_DIRECTION eDir);
+};
+
+/*****************************************************************************
+ *    IHTMLComputedStyle interface
+ */
+[
+    object,
+    pointer_default(unique),
+    uuid(3050f6c3-98b5-cf11-bb82-00aa00bdce0b)
+]
+interface IHTMLComputedStyle : IUnknown
+{
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_BOLD), propget]
+    HRESULT bold([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_ITALIC), propget]
+    HRESULT italic([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_UNDERLINE), propget]
+    HRESULT underline([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_OVERLINE), propget]
+    HRESULT overline([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_STRIKEOUT), propget]
+    HRESULT strikeOut([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_SUBSCRIPT), propget]
+    HRESULT subScript([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_SUPERSCRIPT), propget]
+    HRESULT superScript([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_EXPLICITFACE), propget]
+    HRESULT explicitFace([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_FONTWEIGHT), propget]
+    HRESULT fontWeight([out, retval] long* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_FONTSIZE), propget]
+    HRESULT fontSize([out, retval] long* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_FONTNAME), propget]
+    HRESULT fontName([out, retval] unsigned short* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_HASBGCOLOR), propget]
+    HRESULT hasBgColor([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_TEXTCOLOR), propget]
+    HRESULT textColor([out, retval] unsigned long* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_BACKGROUNDCOLOR), propget]
+    HRESULT backgroundColor([out, retval] unsigned long* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_PREFORMATTED), propget]
+    HRESULT preFormatted([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_DIRECTION), propget]
+    HRESULT direction([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_BLOCKDIRECTION), propget]
+    HRESULT blockDirection([out, retval] VARIANT_BOOL* p);
+
+    [id(DISPID_IHTMLCOMPUTEDSTYLE_OL), propget]
+    HRESULT OL([out, retval] VARIANT_BOOL* p);
+
+    HRESULT isEqual(
+        [in] IHTMLComputedStyle* pComputedStyle,
+        [out] VARIANT_BOOL* pfEqual);
+};
+
+/*****************************************************************************
+ *    IDisplayServices interface
+ */
+[
+    object,
+    pointer_default(unique),
+    uuid(3050f69d-98b5-cf11-bb82-00aa00bdce0b)
+]
+interface IDisplayServices : IUnknown
+{
+    HRESULT CreateDisplayPointer([out] IDisplayPointer** ppDispPointer);
+
+    HRESULT TransformRect(
+        [in, out] RECT* pRect,
+        [in] COORD_SYSTEM eSource,
+        [in] COORD_SYSTEM eDestination,
+        [in] IHTMLElement* pIElement);
+
+    HRESULT TransformPoint(
+        [in, out] POINT* pPoint,
+        [in] COORD_SYSTEM eSource,
+        [in] COORD_SYSTEM eDestination,
+        [in] IHTMLElement* pIElement);
+
+    HRESULT GetCaret([out] IHTMLCaret*** ppCaret);
+
+    HRESULT GetComputedStyle(
+        [in] IMarkupPointer* pPointer,
+        [out] IHTMLComputedStyle** ppComputedStyle);
+
+    HRESULT ScrollRectIntoView(
+        [in] IHTMLElement* pIElement,
+        [in] RECT rect);
+
+    HRESULT HasFlowLayout(
+        [in] IHTMLElement* pIElement,
+        [out] long* pfHasFlowLayout);
+};
+
+/*****************************************************************************
+ *    IMarkupServices interface
+ */
+[
+    object,
+    pointer_default(unique),
+    uuid(3050f4a0-98b5-cf11-bb82-00aa00bdce0b)
+]
+interface IMarkupServices : IUnknown
+{
+    HRESULT CreateMarkupPointer([out] IMarkupPointer** ppPointer);
+
+    HRESULT CreateMarkupContainer([out] IMarkupContainer** ppMarkupContainer);
+
+    HRESULT CreateElement(
+        [in] ELEMENT_TAG_ID tagID,
+        [in] unsigned short* pchAttributes,
+        [out] IHTMLElement** ppElement);
+
+    HRESULT CloneElement(
+        [in] IHTMLElement* pElemCloneThis,
+        [out] IHTMLElement** ppElementTheClone);
+
+    HRESULT InsertElement(
+        [in] IHTMLElement* pElementInsert,
+        [in] IMarkupPointer* pPointerStart,
+        [in] IMarkupPointer* pPointerFinish);
+
+    HRESULT RemoveElement([in] IHTMLElement* pElementRemove);
+
+    HRESULT Remove(
+        [in] IMarkupPointer* pPointerStart,
+        [in] IMarkupPointer* pPointerFinish);
+
+    HRESULT Copy(
+        [in] IMarkupPointer* pPointerSourceStart,
+        [in] IMarkupPointer* pPointerSourceFinish,
+        [in] IMarkupPointer* pPointerTarget);
+
+    HRESULT Move(
+        [in] IMarkupPointer* pPointerSourceStart,
+        [in] IMarkupPointer* pPointerSourceFinish,
+        [in] IMarkupPointer* pPointerTarget);
+
+    HRESULT InsertText(
+        [in] unsigned short* pchText,
+        [in] long cch,
+        [in] IMarkupPointer* pPointerTarget);
+
+    HRESULT ParseString(
+        [in] unsigned short* pchHTML,
+        [in] unsigned long dwFlags,
+        [out] IMarkupContainer** ppContainerResult,
+        [in] IMarkupPointer* ppPointerStart,
+        [in] IMarkupPointer* ppPointerFinish);
+
+    HRESULT ParseGlobal(
+        [in] HGLOBAL hglobalHTML,
+        [in] unsigned long dwFlags,
+        [out] IMarkupContainer** ppContainerResult,
+        [in] IMarkupPointer* pPointerStart,
+        [in] IMarkupPointer* pPointerFinish);
+
+    HRESULT IsScopedElement(
+        [in] IHTMLElement* pElement,
+        [out] long* pfScoped);
+
+    HRESULT GetElementTagId(
+        [in] IHTMLElement* pElement,
+        [out] ELEMENT_TAG_ID* ptagId);
+
+    HRESULT GetTagIDForName(
+        [in] BSTR bstrName,
+        [out] ELEMENT_TAG_ID* ptagId);
+
+    HRESULT GetNameForTagID(
+        [in] ELEMENT_TAG_ID tagID,
+        [out] BSTR* pbstrName);
+
+    HRESULT MovePointersToRange(
+        [in] IHTMLTxtRange* pIRange,
+        [in] IMarkupPointer* pPointerStart,
+        [in] IMarkupPointer* pPointerFinish);
+
+    HRESULT MoveRangeToPointers(
+        [in] IMarkupPointer* pPointerStart,
+        [in] IMarkupPointer* pPointerFinish,
+        [in] IHTMLTxtRange* pIRange);
+
+    HRESULT BeginUndoUnit([in] unsigned short* pchTitle);
+
+    HRESULT EndUndoUnit();
+};
+
+/*****************************************************************************
  *    ISelectionServicesListener interface
  */
 [
-- 
1.6.0.2.GIT

----------- ????????? ????? -----------



ðÏÄÒÏÂÎÁÑ ÉÎÆÏÒÍÁÃÉÑ Ï ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ Wine-patches