mshtml.idl: Added more interfaces.
diff --git a/include/mshtmdid.h b/include/mshtmdid.h
index f1d3280..858b3da 100644
--- a/include/mshtmdid.h
+++ b/include/mshtmdid.h
@@ -86,6 +86,7 @@
#define DISPID_STYLEELEMENT DISPID_NORMAL_FIRST
#define DISPID_FILTERS DISPID_NORMAL_FIRST
#define DISPID_TABLESECTION DISPID_NORMAL_FIRST
+#define DISPID_OMRECT DISPID_NORMAL_FIRST
#define DISPID_OMDOCUMENT DISPID_NORMAL_FIRST
#define DISPID_SCREEN DISPID_NORMAL_FIRST
#define DISPID_DOMATTRIBUTE DISPID_NORMAL_FIRST
@@ -159,6 +160,8 @@
#define STDPROPID_XOBJ_STYLE (DISPID_XOBJ_BASE+74)
#define STDPROPID_XOBJ_COUNT (DISPID_XOBJ_BASE+75)
#define STDPROPID_XOBJ_DISABLED (DISPID_XOBJ_BASE+76)
+#define STDPROPID_XOBJ_RIGHT (DISPID_XOBJ_BASE+77)
+#define STDPROPID_XOBJ_BOTTOM (DISPID_XOBJ_BASE+78)
#define DISPID_A_FIRST DISPID_ATTRS
#define DISPID_A_BACKGROUNDIMAGE (DISPID_A_FIRST+1)
@@ -243,6 +246,7 @@
#define DISPID_A_HIDDEN (DISPID_A_FIRST+81)
#define DISPID_A_FILTER (DISPID_A_FIRST+82)
#define DISPID_DEFAULTVALUE (DISPID_A_FIRST+83)
+#define DISPID_A_BORDERCOLLAPSE (DISPID_A_FIRST+84)
#define DISPID_A_POSITION (DISPID_A_FIRST+90)
#define DISPID_A_ZINDEX (DISPID_A_FIRST+91)
#define DISPID_A_CLIP (DISPID_A_FIRST+92)
@@ -251,6 +255,7 @@
#define DISPID_A_CLIPRECTBOTTOM (DISPID_A_FIRST+95)
#define DISPID_A_CLIPRECTLEFT (DISPID_A_FIRST+96)
#define DISPID_A_FONTFACESRC (DISPID_A_FIRST+97)
+#define DISPID_A_TABLELAYOUT (DISPID_A_FIRST+98)
#define DISPID_A_STYLETEXT (DISPID_A_FIRST+99)
#define DISPID_A_LANGUAGE (DISPID_A_FIRST+100)
#define DISPID_A_VALUE (DISPID_A_FIRST+101)
@@ -827,6 +832,76 @@
#define DISPID_IHTMLELEMENT_ONDATASETCOMPLETE DISPID_EVPROP_ONDATASETCOMPLETE
#define DISPID_IHTMLELEMENT_ONFILTERCHANGE DISPID_EVPROP_ONFILTER
+/* IHTMLelement2 */
+#define DISPID_IHTMLELEMENT2_SCOPENAME DISPID_ELEMENT+39
+#define DISPID_IHTMLELEMENT2_SETCAPTURE DISPID_ELEMENT+40
+#define DISPID_IHTMLELEMENT2_RELEASECAPTURE DISPID_ELEMENT+41
+#define DISPID_IHTMLELEMENT2_ONLOSECAPTURE DISPID_EVPROP_ONLOSECAPTURE
+#define DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT DISPID_ELEMENT+42
+#define DISPID_IHTMLELEMENT2_DOSCROLL DISPID_ELEMENT+43
+#define DISPID_IHTMLELEMENT2_ONSCROLL DISPID_EVPROP_ONSCROLL
+#define DISPID_IHTMLELEMENT2_ONDRAG DISPID_EVPROP_ONDRAG
+#define DISPID_IHTMLELEMENT2_ONDRAGEND DISPID_EVPROP_ONDRAGEND
+#define DISPID_IHTMLELEMENT2_ONDRAGENTER DISPID_EVPROP_ONDRAGENTER
+#define DISPID_IHTMLELEMENT2_ONDRAGOVER DISPID_EVPROP_ONDRAGOVER
+#define DISPID_IHTMLELEMENT2_ONDRAGLEAVE DISPID_EVPROP_ONDRAGLEAVE
+#define DISPID_IHTMLELEMENT2_ONDROP DISPID_EVPROP_ONDROP
+#define DISPID_IHTMLELEMENT2_ONBEFORECUT DISPID_EVPROP_ONBEFORECUT
+#define DISPID_IHTMLELEMENT2_ONCUT DISPID_EVPROP_ONCUT
+#define DISPID_IHTMLELEMENT2_ONBEFORECOPY DISPID_EVPROP_ONBEFORECOPY
+#define DISPID_IHTMLELEMENT2_ONCOPY DISPID_EVPROP_ONCOPY
+#define DISPID_IHTMLELEMENT2_ONBEFOREPASTE DISPID_EVPROP_ONBEFOREPASTE
+#define DISPID_IHTMLELEMENT2_ONPASTE DISPID_EVPROP_ONPASTE
+#define DISPID_IHTMLELEMENT2_CURRENTSTYLE DISPID_ELEMENT+7
+#define DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE DISPID_EVPROP_ONPROPERTYCHANGE
+#define DISPID_IHTMLELEMENT2_GETCLIENTRECTS DISPID_ELEMENT+44
+#define DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT DISPID_ELEMENT+45
+#define DISPID_IHTMLELEMENT2_SETEXPRESSION DISPID_HTMLOBJECT+4
+#define DISPID_IHTMLELEMENT2_GETEXPRESSION DISPID_HTMLOBJECT+5
+#define DISPID_IHTMLELEMENT2_REMOVEEXPRESSION DISPID_HTMLOBJECT+6
+#define DISPID_IHTMLELEMENT2_TABINDEX STDPROPID_XOBJ_TABINDEX
+#define DISPID_IHTMLELEMENT2_FOCUS DISPID_SITE
+#define DISPID_IHTMLELEMENT2_ACCESSKEY DISPID_SITE+5
+#define DISPID_IHTMLELEMENT2_ONBLUR DISPID_EVPROP_ONBLUR
+#define DISPID_IHTMLELEMENT2_ONFOCUS DISPID_EVPROP_ONFOCUS
+#define DISPID_IHTMLELEMENT2_ONRESIZE DISPID_EVPROP_ONRESIZE
+#define DISPID_IHTMLELEMENT2_BLUR DISPID_SITE+2
+#define DISPID_IHTMLELEMENT2_ADDFILTER DISPID_SITE+17
+#define DISPID_IHTMLELEMENT2_REMOVEFILTER DISPID_SITE+18
+#define DISPID_IHTMLELEMENT2_CLIENTHEIGHT DISPID_SITE+19
+#define DISPID_IHTMLELEMENT2_CLIENTWIDTH DISPID_SITE+20
+#define DISPID_IHTMLELEMENT2_CLIENTTOP DISPID_SITE+21
+#define DISPID_IHTMLELEMENT2_CLIENTLEFT DISPID_SITE+22
+#define DISPID_IHTMLELEMENT2_ATTACHEVENT DISPID_HTMLOBJECT+7
+#define DISPID_IHTMLELEMENT2_DETACHEVENT DISPID_HTMLOBJECT+8
+#define DISPID_IHTMLELEMENT2_READYSTATE DISPID_A_READYSTATE
+#define DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE DISPID_EVPROP_ONREADYSTATECHANGE
+#define DISPID_IHTMLELEMENT2_ONROWSDELETE DISPID_EVPROP_ONROWSDELETE
+#define DISPID_IHTMLELEMENT2_ONROWSINSERTED DISPID_EVPROP_ONROWSINSERTED
+#define DISPID_IHTMLELEMENT2_ONCELLCHANGE DISPID_EVPROP_ONCELLCHANGE
+#define DISPID_IHTMLELEMENT2_DIR DISPID_A_DIR
+#define DISPID_IHTMLELEMENT2_CREATECONTROLRANGE DISPID_ELEMENT+56
+#define DISPID_IHTMLELEMENT2_SCROLLHEIGHT DISPID_ELEMENT+57
+#define DISPID_IHTMLELEMENT2_SCROLLWIDTH DISPID_ELEMENT+58
+#define DISPID_IHTMLELEMENT2_SCROLLTOP DISPID_ELEMENT+59
+#define DISPID_IHTMLELEMENT2_SCROLLLEFT DISPID_ELEMENT+60
+#define DISPID_IHTMLELEMENT2_CLEARATTRIBUTES DISPID_ELEMENT+62
+#define DISPID_IHTMLELEMENT2_MERGEATTRIBUTES DISPID_ELEMENT+63
+#define DISPID_IHTMLELEMENT2_ONCONTEXTMENU DISPID_EVPROP_ONCONTEXTMENU
+#define DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT DISPID_ELEMENT+69
+#define DISPID_IHTMLELEMENT2_APPLYELEMENT DISPID_ELEMENT+65
+#define DISPID_IHTMLELEMENT2_GETADJACENTTEXT DISPID_ELEMENT+70
+#define DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT DISPID_ELEMENT+71
+#define DISPID_IHTMLELEMENT2_CANHAVECHILDREN DISPID_ELEMENT+72
+#define DISPID_IHTMLELEMENT2_ADDBEHAVIOR DISPID_ELEMENT+80
+#define DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR DISPID_ELEMENT+81
+#define DISPID_IHTMLELEMENT2_RUNTIMESTYLE DISPID_ELEMENT+64
+#define DISPID_IHTMLELEMENT2_BEHAVIORURNS DISPID_ELEMENT+82
+#define DISPID_IHTMLELEMENT2_TAGURN DISPID_ELEMENT+83
+#define DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS DISPID_EVPROP_ONBEFOREEDITFOCUS
+#define DISPID_IHTMLELEMENT2_READYSTATEVALUE DISPID_ELEMENT+84
+#define DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME DISPID_ELEMENT+85
+
/* IHTMLStyle */
#define DISPID_IHTMLSTYLE_PIXELTOP DISPID_STYLE
#define DISPID_IHTMLSTYLE_PIXELLEFT (DISPID_STYLE+1)
@@ -1432,4 +1507,108 @@
#define DISPID_IHTMLSELECTELEMENT_ITEM DISPID_VALUE
#define DISPID_IHTMLSELECTELEMENT_TAGS DISPID_COLLECTION+2
+/* IHTMLRect */
+#define DISPID_IHTMLRECT_LEFT DISPID_OMRECT+1
+#define DISPID_IHTMLRECT_TOP DISPID_OMRECT+2
+#define DISPID_IHTMLRECT_RIGHT DISPID_OMRECT+3
+#define DISPID_IHTMLRECT_BOTTOM DISPID_OMRECT+4
+
+/* IHTMLRectCollection */
+#define DISPID_IHTMLRECTCOLLECTION_LENGTH DISPID_COLLECTION
+#define DISPID_IHTMLRECTCOLLECTION__NEWENUM DISPID_NEWENUM
+#define DISPID_IHTMLRECTCOLLECTION_ITEM DISPID_VALUE
+
+/* IHTMLCurrentStyle */
+#define DISPID_IHTMLCURRENTSTYLE_POSITION DISPID_A_POSITION
+#define DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT DISPID_A_FLOAT
+#define DISPID_IHTMLCURRENTSTYLE_COLOR DISPID_A_COLOR
+#define DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR DISPID_BACKCOLOR
+#define DISPID_IHTMLCURRENTSTYLE_FONTFAMILY DISPID_A_FONTFACE
+#define DISPID_IHTMLCURRENTSTYLE_FONTSTYLE DISPID_A_FONTSTYLE
+#define DISPID_IHTMLCURRENTSTYLE_FONTVARIANT DISPID_A_FONTVARIANT
+#define DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT DISPID_A_FONTWEIGHT
+#define DISPID_IHTMLCURRENTSTYLE_FONTSIZE DISPID_A_FONTSIZE
+#define DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE DISPID_A_BACKGROUNDIMAGE
+#define DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX DISPID_A_BACKGROUNDPOSX
+#define DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY DISPID_A_BACKGROUNDPOSY
+#define DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT DISPID_A_BACKGROUNDREPEAT
+#define DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR DISPID_A_BORDERLEFTCOLOR
+#define DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR DISPID_A_BORDERTOPCOLOR
+#define DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR DISPID_A_BORDERRIGHTCOLOR
+#define DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR DISPID_A_BORDERBOTTOMCOLOR
+#define DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE DISPID_A_BORDERTOPSTYLE
+#define DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE DISPID_A_BORDERRIGHTSTYLE
+#define DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE DISPID_A_BORDERBOTTOMSTYLE
+#define DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE DISPID_A_BORDERLEFTSTYLE
+#define DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH DISPID_A_BORDERTOPWIDTH
+#define DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH DISPID_A_BORDERRIGHTWIDTH
+#define DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH DISPID_A_BORDERBOTTOMWIDTH
+#define DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH DISPID_A_BORDERLEFTWIDTH
+#define DISPID_IHTMLCURRENTSTYLE_LEFT STDPROPID_XOBJ_LEFT
+#define DISPID_IHTMLCURRENTSTYLE_TOP STDPROPID_XOBJ_TOP
+#define DISPID_IHTMLCURRENTSTYLE_WIDTH STDPROPID_XOBJ_WIDTH
+#define DISPID_IHTMLCURRENTSTYLE_HEIGHT STDPROPID_XOBJ_HEIGHT
+#define DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT DISPID_A_PADDINGLEFT
+#define DISPID_IHTMLCURRENTSTYLE_PADDINGTOP DISPID_A_PADDINGTOP
+#define DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT DISPID_A_PADDINGRIGHT
+#define DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM DISPID_A_PADDINGBOTTOM
+#define DISPID_IHTMLCURRENTSTYLE_TEXTALIGN STDPROPID_XOBJ_BLOCKALIGN
+#define DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION DISPID_A_TEXTDECORATION
+#define DISPID_IHTMLCURRENTSTYLE_DISPLAY DISPID_A_DISPLAY
+#define DISPID_IHTMLCURRENTSTYLE_VISIBILITY DISPID_A_VISIBILITY
+#define DISPID_IHTMLCURRENTSTYLE_ZINDEX DISPID_A_ZINDEX
+#define DISPID_IHTMLCURRENTSTYLE_LETTERSPACING DISPID_A_LETTERSPACING
+#define DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT DISPID_A_LINEHEIGHT
+#define DISPID_IHTMLCURRENTSTYLE_TEXTINDENT DISPID_A_TEXTINDENT
+#define DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN DISPID_A_VERTICALALIGN
+#define DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT DISPID_A_BACKGROUNDATTACHMENT
+#define DISPID_IHTMLCURRENTSTYLE_MARGINTOP DISPID_A_MARGINTOP
+#define DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT DISPID_A_MARGINRIGHT
+#define DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM DISPID_A_MARGINBOTTOM
+#define DISPID_IHTMLCURRENTSTYLE_MARGINLEFT DISPID_A_MARGINLEFT
+#define DISPID_IHTMLCURRENTSTYLE_CLEAR DISPID_A_CLEAR
+#define DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE DISPID_A_LISTSTYLETYPE
+#define DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION DISPID_A_LISTSTYLEPOSITION
+#define DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE DISPID_A_LISTSTYLEIMAGE
+#define DISPID_IHTMLCURRENTSTYLE_CLIPTOP DISPID_A_CLIPRECTTOP
+#define DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT DISPID_A_CLIPRECTRIGHT
+#define DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM DISPID_A_CLIPRECTBOTTOM
+#define DISPID_IHTMLCURRENTSTYLE_CLIPLEFT DISPID_A_CLIPRECTLEFT
+#define DISPID_IHTMLCURRENTSTYLE_OVERFLOW DISPID_A_OVERFLOW
+#define DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE DISPID_A_PAGEBREAKBEFORE
+#define DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER DISPID_A_PAGEBREAKAFTER
+#define DISPID_IHTMLCURRENTSTYLE_CURSOR DISPID_A_CURSOR
+#define DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT DISPID_A_TABLELAYOUT
+#define DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE DISPID_A_BORDERCOLLAPSE
+#define DISPID_IHTMLCURRENTSTYLE_DIRECTION DISPID_A_DIRECTION
+#define DISPID_IHTMLCURRENTSTYLE_BEHAVIOR DISPID_A_BEHAVIOR
+#define DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE DISPID_HTMLOBJECT+2
+#define DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI DISPID_A_UNICODEBIDI
+#define DISPID_IHTMLCURRENTSTYLE_RIGHT STDPROPID_XOBJ_RIGHT
+#define DISPID_IHTMLCURRENTSTYLE_BOTTOM STDPROPID_XOBJ_BOTTOM
+#define DISPID_IHTMLCURRENTSTYLE_IMEMODE DISPID_A_IMEMODE
+#define DISPID_IHTMLCURRENTSTYLE_RUBYALIGN DISPID_A_RUBYALIGN
+#define DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION DISPID_A_RUBYPOSITION
+#define DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG DISPID_A_RUBYOVERHANG
+#define DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE DISPID_A_TEXTAUTOSPACE
+#define DISPID_IHTMLCURRENTSTYLE_LINEBREAK DISPID_A_LINEBREAK
+#define DISPID_IHTMLCURRENTSTYLE_WORDBREAK DISPID_A_WORDBREAK
+#define DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY DISPID_A_TEXTJUSTIFY
+#define DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM DISPID_A_TEXTJUSTIFYTRIM
+#define DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA DISPID_A_TEXTKASHIDA
+#define DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION DISPID_A_DIR
+#define DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR DISPID_A_LAYOUTGRIDCHAR
+#define DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE DISPID_A_LAYOUTGRIDLINE
+#define DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE DISPID_A_LAYOUTGRIDMODE
+#define DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE DISPID_A_LAYOUTGRIDTYPE
+#define DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE DISPID_A_BORDERSTYLE
+#define DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR DISPID_A_BORDERCOLOR
+#define DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH DISPID_A_BORDERWIDTH
+#define DISPID_IHTMLCURRENTSTYLE_PADDING DISPID_A_PADDING
+#define DISPID_IHTMLCURRENTSTYLE_MARGIN DISPID_A_MARGIN
+#define DISPID_IHTMLCURRENTSTYLE_ACCELERATOR DISPID_A_ACCELERATOR
+#define DISPID_IHTMLCURRENTSTYLE_OVERFLOWX DISPID_A_OVERFLOWX
+#define DISPID_IHTMLCURRENTSTYLE_OVERFLOWY DISPID_A_OVERFLOWY
+#define DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM DISPID_A_TEXTTRANSFORM
+
#endif /* __MSHTMDID_H__ */
diff --git a/include/mshtml.idl b/include/mshtml.idl
index 046fd2f..92ee077 100644
--- a/include/mshtml.idl
+++ b/include/mshtml.idl
@@ -1190,6 +1190,353 @@
}
/*****************************************************************************
+ * IHTMLCurrentStyle interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLCurrentStyle : IDispatch
+{
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
+ HRESULT position([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
+ HRESULT styleFloat([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
+ HRESULT color([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
+ HRESULT backgroundColor([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
+ HRESULT fontFamily([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
+ HRESULT fontStyle([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
+ HRESULT fontVariant([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
+ HRESULT fontWeight([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
+ HRESULT fontSize([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
+ HRESULT backgroundImage([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
+ HRESULT backgroundPositionX([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
+ HRESULT backgroundPositionY([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
+ HRESULT backgroundRepeat([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
+ HRESULT borderLeftColor([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
+ HRESULT borderTopColor([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
+ HRESULT borderRightColor([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
+ HRESULT borderBottomColor([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
+ HRESULT borderTopStyle([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
+ HRESULT borderRightStyle([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
+ HRESULT borderBottomStyle([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
+ HRESULT borderLeftStyle([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
+ HRESULT borderTopWidth([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
+ HRESULT borderRightWidth([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
+ HRESULT borderBottomWidth([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
+ HRESULT borderLeftWidth([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
+ HRESULT left([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
+ HRESULT top([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
+ HRESULT width([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
+ HRESULT height([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
+ HRESULT paddingLeft([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
+ HRESULT paddingTop([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
+ HRESULT paddingRight([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
+ HRESULT paddingBottom([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
+ HRESULT textAlign([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
+ HRESULT textDecoration([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
+ HRESULT display([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
+ HRESULT visibility([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
+ HRESULT zIndex([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
+ HRESULT letterSpacing([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
+ HRESULT lineHeight([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
+ HRESULT textIndent([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
+ HRESULT verticalAlign([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
+ HRESULT backgroundAttachment([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
+ HRESULT marginTop([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
+ HRESULT marginRight([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
+ HRESULT marginBottom([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
+ HRESULT marginLeft([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
+ HRESULT clear([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
+ HRESULT listStyleType([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
+ HRESULT listStylePosition([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
+ HRESULT listStyleImage([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
+ HRESULT clipTop([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
+ HRESULT clipRight([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
+ HRESULT clipBottom([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
+ HRESULT clipLeft([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
+ HRESULT overflow([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
+ HRESULT pageBreakBefore([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
+ HRESULT pageBreakAfter([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
+ HRESULT cursor([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
+ HRESULT tableLayout([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
+ HRESULT borderCollapse([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
+ HRESULT direction([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
+ HRESULT behavior([retval, out] BSTR *p);
+
+ [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
+ HRESULT getAttribute(
+ [in] BSTR strAttributeName,
+ [defaultvalue(0), in] LONG lFlags,
+ [retval, out] VARIANT *AttributeValue);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
+ HRESULT unicodeBidi([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
+ HRESULT right([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
+ HRESULT bottom([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
+ HRESULT imeMode([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
+ HRESULT rubyAlign([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
+ HRESULT rubyPosition([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
+ HRESULT rubyOverhang([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
+ HRESULT textAutospace([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
+ HRESULT lineBreak([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
+ HRESULT wordBreak([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
+ HRESULT textJustify([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
+ HRESULT textJustifyTrim([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
+ HRESULT textKashida([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
+ HRESULT blockDirection([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
+ HRESULT layoutGridChar([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
+ HRESULT layoutGridLine([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
+ HRESULT layoutGridMode([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
+ HRESULT layoutGridType([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
+ HRESULT borderStyle([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
+ HRESULT borderColor([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
+ HRESULT borderWidth([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
+ HRESULT padding([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
+ HRESULT margin([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
+ HRESULT accelerator([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
+ HRESULT overflowX([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
+ HRESULT overflowY([retval, out] BSTR *p);
+
+ [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
+ HRESULT textTransform([retval, out] BSTR *p);
+}
+
+/*****************************************************************************
+ * IHTMLRect interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLRect : IDispatch
+{
+ [propput, id(DISPID_IHTMLRECT_LEFT)]
+ HRESULT left([in] long v);
+
+ [propget, id(DISPID_IHTMLRECT_LEFT)]
+ HRESULT left([retval, out] long *p);
+
+ [propput, id(DISPID_IHTMLRECT_TOP)]
+ HRESULT top([in] long v);
+
+ [propget, id(DISPID_IHTMLRECT_TOP)]
+ HRESULT top([retval, out] long *p);
+
+ [propput, id(DISPID_IHTMLRECT_RIGHT)]
+ HRESULT right([in] long v);
+
+ [propget, id(DISPID_IHTMLRECT_RIGHT)]
+ HRESULT right([retval, out] long *p);
+
+ [propput, id(DISPID_IHTMLRECT_BOTTOM)]
+ HRESULT bottom([in] long v);
+
+ [propget, id(DISPID_IHTMLRECT_BOTTOM)]
+ HRESULT bottom([retval, out] long *p);
+}
+
+/*****************************************************************************
+ * IHTMLRectCollection interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLRectCollection : IDispatch
+{
+ [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
+ HRESULT length([retval, out] long *p);
+
+ [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
+ HRESULT _newEnum([retval, out] IUnknown **p);
+
+ [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
+ HRESULT item(
+ [in] VARIANT *pvarIndex,
+ [retval, out] VARIANT *pvarResult);
+}
+
+/*****************************************************************************
* IHTMLDOMNode interface
*/
[
@@ -1321,6 +1668,8 @@
[retval, out] VARIANT_BOOL *pfHasFeature);
}
+interface IHTMLElementCollection;
+
/*****************************************************************************
* IHTMLElement interface
*/
@@ -1606,6 +1955,345 @@
}
/*****************************************************************************
+ * IHTMLElement2 interface
+ */
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface IHTMLElement2 : IDispatch
+{
+ [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
+ HRESULT scopeName([retval, out] BSTR *p);
+
+ [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
+ HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
+
+ [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
+ HRESULT releaseCapture();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
+ HRESULT onlosecapture([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
+ HRESULT onlosecapture([retval, out] VARIANT *p);
+
+ [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
+ HRESULT componentFromPoint(
+ [in] long x,
+ [in] long y,
+ [retval, out] BSTR *component);
+
+ [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
+ HRESULT doScroll([optional, in] VARIANT component);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
+ HRESULT onscroll([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
+ HRESULT onscroll([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
+ HRESULT ondrag([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
+ HRESULT ondrag([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
+ HRESULT ondragend([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
+ HRESULT ondragend([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
+ HRESULT ondragenter([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
+ HRESULT ondragenter([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
+ HRESULT ondragover([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
+ HRESULT ondragover([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
+ HRESULT ondragleave([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
+ HRESULT ondragleave([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
+ HRESULT ondrop([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
+ HRESULT ondrop([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
+ HRESULT onbeforecut([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
+ HRESULT onbeforecut([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
+ HRESULT oncut([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
+ HRESULT oncut([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
+ HRESULT onbeforecopy([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
+ HRESULT onbeforecopy([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
+ HRESULT oncopy([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
+ HRESULT oncopy([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
+ HRESULT onbeforepaste([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
+ HRESULT onbeforepaste([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
+ HRESULT onpaste([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
+ HRESULT onpaste([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
+ HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
+ HRESULT onpropertychange([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
+ HRESULT onpropertychange([retval, out] VARIANT *p);
+
+ [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
+ HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
+
+ [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
+ HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
+
+ [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
+ HRESULT setExpression(
+ [in] BSTR propname,
+ [in] BSTR expression,
+ [defaultvalue(""), in] BSTR language);
+
+ [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
+ HRESULT getExpression(
+ [in] BSTR propname,
+ [retval, out] VARIANT *expression);
+
+ [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
+ HRESULT removeExpression(
+ [in] BSTR propname,
+ [retval, out] VARIANT_BOOL *pfSuccess);
+
+ [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
+ HRESULT tabIndex([in] short v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
+ HRESULT tabIndex([retval, out] short *p);
+
+ [id(DISPID_IHTMLELEMENT2_FOCUS)]
+ HRESULT focus();
+
+ [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
+ HRESULT accessKey([in] BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
+ HRESULT accessKey([retval, out] BSTR *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
+ HRESULT onblur([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
+ HRESULT onblur([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
+ HRESULT onfocus([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
+ HRESULT onfocus([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
+ HRESULT onresize([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
+ HRESULT onresize([retval, out] VARIANT *p);
+
+ [id(DISPID_IHTMLELEMENT2_BLUR)]
+ HRESULT blur();
+
+ [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
+ HRESULT addFilter([in] IUnknown *pUnk);
+
+ [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
+ HRESULT removeFilter([in] IUnknown *pUnk);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
+ HRESULT clientHeight([retval, out] long *p);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
+ HRESULT clientWidth([retval, out] long *p);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
+ HRESULT clientTop([retval, out] long *p);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
+ HRESULT clientLeft([retval, out] long *p);
+
+ [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
+ HRESULT attachEvent(
+ [in] BSTR event,
+ [in] IDispatch *pDisp,
+ [retval, out] VARIANT_BOOL *pfResult);
+
+ [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
+ HRESULT detachEvent(
+ [in] BSTR event,
+ [in] IDispatch *pDisp);
+
+ [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
+ HRESULT readyState([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
+ HRESULT onreadystatechange([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
+ HRESULT onreadystatechange([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
+ HRESULT onrowsdelete([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
+ HRESULT onrowsdelete([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
+ HRESULT onrowsinserted([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
+ HRESULT onrowsinserted([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
+ HRESULT oncellchange([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
+ HRESULT oncellchange([retval, out] VARIANT *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
+ HRESULT dir([in] BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
+ HRESULT dir([retval, out] BSTR *p);
+
+ [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
+ HRESULT createControlRange([retval, out] IDispatch **range);
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
+ HRESULT scrollHeight([retval, out] long *p);
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
+ HRESULT scrollWidth([retval, out] long *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
+ HRESULT scrollTop([in] long v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
+ HRESULT scrollTop([retval, out] long *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
+ HRESULT scrollLeft([in] long v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
+ HRESULT scrollLeft([retval, out] long *p);
+
+ [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
+ HRESULT clearAttributes();
+
+ [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
+ HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
+ HRESULT oncontextmenu([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
+ HRESULT oncontextmenu([retval, out] VARIANT *p);
+
+ [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
+ HRESULT insertAdjacentElement(
+ [in] BSTR where,
+ [in] IHTMLElement *insertedElement,
+ [retval, out] IHTMLElement **inserted);
+
+ [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
+ HRESULT applyElement(
+ [in] IHTMLElement *apply,
+ [in] BSTR where,
+ [retval, out] IHTMLElement **applied);
+
+ [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
+ HRESULT getAdjacentText(
+ [in] BSTR where,
+ [retval, out] BSTR *text);
+
+ [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
+ HRESULT replaceAdjacentText(
+ [in] BSTR where,
+ [in] BSTR newText,
+ [retval, out] BSTR *oldText);
+
+ [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
+ HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
+
+ [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
+ HRESULT addBehavior(
+ [in] BSTR bstrUrl,
+ [optional, in] VARIANT *pvarFactory,
+ [retval, out] long *pCookie);
+
+ [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
+ HRESULT removeBehavior(
+ [in] long cookie,
+ [retval, out] VARIANT_BOOL *pfResult);
+
+ [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
+ HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
+
+ [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
+ HRESULT behaviorUrns([retval, out] IDispatch **p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
+ HRESULT tagUrn([in] BSTR v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
+ HRESULT tagUrn([retval, out] BSTR *p);
+
+ [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
+ HRESULT onbeforeeditfocus([in] VARIANT v);
+
+ [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
+ HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
+
+ [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
+ HRESULT readyStateValue([retval, out] long *p);
+
+ [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
+ HRESULT getElementsByTagName(
+ [in] BSTR v,
+ [retval, out] IHTMLElementCollection **pelColl);
+}
+
+/*****************************************************************************
* IHTMLStyleSheetRule interface
*/
[